1e296b455504ef01f94912f82e552b88bf25ee6f
[gnulib.git] / ChangeLog
1 2012-01-15  Bruno Haible  <bruno@clisp.org>
2
3         Improve support for MSVC 9.
4         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
5         clashes on MSVC.
6         * lib/fcntl.in.h: Likewise.
7         * lib/stdlib.in.h: Likewise.
8         * lib/sys_stat.in.h: Likewise.
9
10 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
11
12         gnupload: we hold the master copy of this script now
13         For motivation and more information, see:
14         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
15         * build-aux/gnupload: Make it clear in the heading comments that the
16         master copy of this file is maintained by gnulib.  Since we are at
17         it, bump its copyright year and ...
18         ($scriptversion): ... the date in its version.
19         ($usage): Patches and bug reports should be sent to the gnulib list,
20         not the automake one.
21         * config/srclist.txt: Don't try to sync 'gnupload' from automake
22         anymore.
23
24 2012-01-15  Bruno Haible  <bruno@clisp.org>
25
26         Fix module 'random'.
27         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
28         initstate, setstate are declared.
29
30 2012-01-14  Bruno Haible  <bruno@clisp.org>
31
32         Tests for module 'random'.
33         * modules/random-tests: New file.
34         * tests/test-random.c: New file, based on tests/test-random_r.c.
35
36         New module 'random'.
37         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
38         declarations.
39         * lib/random.c: New file, based on glibc/stdlib/random.c.
40         * m4/random.m4: New file.
41         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
42         HAVE_RANDOM.
43         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
44         * modules/random: New file.
45         * config/srclist.txt: Add an entry for random.c.
46         * doc/posix-functions/random.texi: Mention the 'random' module.
47         * doc/posix-functions/initstate.texi: Likewise.
48         * doc/posix-functions/setstate.texi: Likewise.
49         * doc/posix-functions/srandom.texi: Likewise.
50
51 2012-01-12  Bruno Haible  <bruno@clisp.org>
52
53         random_r: Use common idioms.
54         * lib/random_r.c: Include <stdlib.h> first.
55
56         random_r: Override incompatible API on AIX, OSF/1.
57         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
58         Override the system function if REPLACE_RANDOM_R is 1.
59         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
60         and OSF/1, set REPLACE_RANDOM_R.
61         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
62         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
63         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
64         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
65         * doc/glibc-functions/random_r.texi: Likewise.
66         * doc/glibc-functions/setstate_r.texi: Likewise.
67
68         random_r: Support for MSVC 9.
69         * lib/random_r.c: Include stdint.h, not inttypes.h.
70
71 2012-01-12  Eric Blake  <eblake@redhat.com>
72
73         inet_ntop: guard extra work by IF_LINT
74         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
75         better code generation when not checking for warnings.
76         Suggested by Paul Eggert and Jim Meyering.
77
78         strptime: fix regression on mingw
79         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
80         Fix regression.  Reported by Bruno Haible.
81
82 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
83             Bruno Haible  <bruno@clisp.org>
84
85         copy-file: add error-code-returning variant.
86         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
87         (qcopy_file_preserving): New declaration.
88         * lib/copy-file.c (qcopy_file_preserving): Renamed from
89         copy_file_preserving. Change return type to 'int'. Don't emit an error
90         message here.
91         (copy_file_preserving): New function.
92         * tests/test-copy-file.c: Include <stdlib.h>.
93         (main): Test qcopy_file_preserving if the environment variable
94         NO_STDERR_OUTPUT is set.
95         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
96         with NO_STDERR_OUTPUT
97         * tests/test-copy-file-2.sh: Likewise.
98
99 2012-01-10  Bruno Haible  <bruno@clisp.org>
100
101         copy-file: Use 'quote' module consistently.
102         * lib/copy-file.c (copy_file_preserving): Use quote().
103
104         copy-file: Refactor.
105         * lib/copy-file.c: Include quote.h.
106         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
107         message here.
108         * modules/copy-file (Depends-on): Add quote.
109
110         acl: Export qcopy_acl.
111         * lib/acl.h (qcopy_acl): New declaration.
112         * lib/copy-acl.c (qcopy_acl): Make non-static.
113
114         acl: Rename a local variable.
115         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
116
117         acl: Align return values of copy_acl and qcopy_acl.
118         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
119         maybe < -1.
120
121 2012-01-11  Eric Blake  <eblake@redhat.com>
122
123         strptime: silence gcc warnings
124         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
125         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
126         Reported by Daniel P. Berrange.
127
128         inet_ntop: silence gcc warning
129         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
130         Reported by Daniel P. Berrange.
131
132 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
133
134         getloadavg test: skip the test on GNU/Linux without /proc mounted
135         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
136         file.  When /proc is not mounted, it always fails with ENOENT.
137         * tests/test-getloadavg.c (main): Treat ENOENT return code from
138         getloadavg(3) the same way as ENOSYS and ENOTSUP.
139
140 2012-01-10  Bruno Haible  <bruno@clisp.org>
141
142         regex: Avoid link error on MSVC 9.
143         * modules/regex (Depends-on): Add wctype.
144
145 2012-01-10  Bruno Haible  <bruno@clisp.org>
146
147         doc: Mention --with-tests option.
148         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
149         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
150         --with-tests.
151         Reported by Reuben Thomas.
152
153 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
154
155         users.txt: order package names lexicographically.
156         * users.txt: Order package names lexicographically.
157
158 2012-01-10  Jim Meyering  <meyering@redhat.com>
159
160         maint.mk: fix description in comment
161         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
162
163         ignore-value: remove deprecated ignore_ptr function
164         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
165         * NEWS: Note this.
166
167 2012-01-09  Jim Meyering  <meyering@redhat.com>
168
169         test-init.sh: avoid a subshell
170         * tests/test-init.sh: Remove protective subshell.
171         Suggested by Bernhard Voelker.  While a subshell is normally
172         required to protect against older shells (Solaris, FreeBSD) that
173         warn about a missing program before performing redirection, the
174         shell-selection tests performed by init.sh probably exclude any
175         offending shell.
176
177 2012-01-08  Bruno Haible  <bruno@clisp.org>
178
179         setlocale tests: Avoid test failure on Solaris 11 2011-11.
180         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
181         variable.
182
183 2012-01-08  Bruno Haible  <bruno@clisp.org>
184
185         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
186         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
187         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
188         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
189         macro.
190         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
191         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
192         * lib/spawn_faction_addopen.c: Add workaround implementation if
193         HAVE_WORKING_POSIX_SPAWN.
194         * modules/spawn (Makefile): Substitute
195         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
196         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
197         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
198         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
199         (Depends-on): Update conditions.
200         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
201         the Solaris 11 bug.
202
203 2012-01-08  Bruno Haible  <bruno@clisp.org>
204
205         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
206         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
207         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
208         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
209         macro.
210         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
211         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
212         * lib/spawn_faction_adddup2.c: Add workaround implementation if
213         HAVE_WORKING_POSIX_SPAWN.
214         * modules/spawn (Makefile): Substitute
215         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
216         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
217         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
218         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
219         (Depends-on): Update conditions.
220         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
221         the Solaris 11 bug.
222
223 2012-01-08  Bruno Haible  <bruno@clisp.org>
224
225         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
226         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
227         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
228         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
229         HAVE_WORKING_POSIX_SPAWN.
230         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
231         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
232         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
233         * lib/spawn_faction_addclose.c: Add workaround implementation if
234         HAVE_WORKING_POSIX_SPAWN.
235         * modules/spawn (Makefile): Substitute
236         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
237         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
238         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
239         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
240         (Depends-on): Update conditions.
241         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
242         the Solaris 11 bug.
243
244 2012-01-08  Bruno Haible  <bruno@clisp.org>
245
246         doc: Update for Solaris 11 2011-11.
247         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
248         * m4/printf.m4: Update comments.
249
250 2012-01-08  Bruno Haible  <bruno@clisp.org>
251
252         mktime: Avoid compilation error on Solaris 11.
253         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
254
255 2012-01-08  Bruno Haible  <bruno@clisp.org>
256
257         doc: Small fix.
258         * doc/posix-headers/nl_types.texi: Correct platforms list.
259
260 2012-01-08  Simon Josefsson  <simon@josefsson.org>
261
262         Add lgpl-3.0 module.
263         * MODULES.html.sh (Support for building documentation): Add
264         lgpl-3.0.
265         * modules/lgpl-3.0: New file.
266
267 2012-01-08  Jim Meyering  <meyering@redhat.com>
268
269         select.c: indent with spaces, not TABs
270         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
271
272 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
273
274         quotearg: do not use grave accent for left quote
275         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
276         locale_quoting_style.
277         (quotearg_buffer_restyled): Fix example.
278         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
279
280 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
281
282         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
283         Most programs do not have translation catalogs for English and much
284         less separate catalogs for British and American English.  Drop the
285         suggestion to translators about these two, and provide it
286         automatically for Unicode locales.  Like most programs, even those
287         using American English, we use single quotation marks.  This conflicts
288         with the American typographic convention, but works better when you
289         cite the entire error message within double quotes.  It also tries not
290         to clash with established practice and with what non-gnulib programs
291         will usually do.
292         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
293         using an UTF-8 or GB-18030 locale.  The list of other locales with
294         quotes was provided by Bruno Haible.
295         (quotearg_buffer_restyled): Adjust instructions to translators.
296         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
297         text, since this would be wrong when using Unicode.
298         * modules/quotearg: Depend on c-strcaseeq.
299
300 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
301
302         quotearg: fix Wikipedia link
303         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
304
305 2012-01-07  Simon Josefsson  <simon@josefsson.org>
306
307         Fix for mingw with MSVC9.
308         * m4/ld-version-script.m4: Check that compiler rejects version
309         scripts with syntax errors.  Reported by Bruno Haible
310         <bruno@clisp.org>.
311
312 2012-01-06  Bruno Haible  <bruno@clisp.org>
313
314         Talk about "native Windows API", not "Woe32".
315         * lib/accept4.c: Update comments to mention native Windows.
316         * lib/execute.c: Likewise.
317         * lib/fatal-signal.c: Likewise.
318         * lib/localcharset.c: Likewise.
319         * lib/nanosleep.c: Likewise.
320         * lib/nl_langinfo.c: Likewise.
321         * lib/pclose.c: Likewise.
322         * lib/pipe-filter-gi.c: Likewise.
323         * lib/pipe-filter-ii.c: Likewise.
324         * lib/pipe.c: Likewise.
325         * lib/pipe2.c: Likewise.
326         * lib/popen.c: Likewise.
327         * lib/progreloc.c: Likewise.
328         * lib/relocatable.c: Likewise.
329         * lib/sigaction.c: Likewise.
330         * lib/sigprocmask.c: Likewise.
331         * lib/spawn-pipe.h: Likewise.
332         * lib/spawn-pipe.c: Likewise.
333         * lib/spawni.c: Likewise.
334         * lib/stat-time.h: Likewise.
335         * lib/w32spawn.h: Likewise.
336         * tests/test-isatty.c: Likewise.
337         * lib/config.charset: More comments.
338         * doc/gnulib-intro.texi: Mention native Windows.
339         * doc/posix-functions/_Exit_C99.texi: Likewise.
340         * doc/posix-headers/fcntl.texi: Likewise.
341
342 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
343
344         argp: Avoid crash if translator uses % characters in a translation.
345         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
346         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
347
348 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
349
350         doc: C11 and C++11 are now official
351         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
352         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
353         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
354         * modules/stdalign:
355         Replace references to draft C1X to C11, and to draft C++0X to C++11.
356
357 2012-01-06  Bruno Haible  <bruno@clisp.org>
358
359         uc-is-grapheme-break tests: Tweak.
360         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
361         message.
362
363 2012-01-06  Bruno Haible  <bruno@clisp.org>
364
365         test-init.sh: correct the test for diff -u
366         * tests/test-init.sh: Also redirect stdout to /dev/null.
367
368 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
369
370         Use ', not `, for quoting output.
371         * build-aux/announce-gen (usage, sizes, print_news_deltas)
372         (print_changelog_deltas, get_tool_versions, main program):
373         * build-aux/git-version-gen:
374         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
375         * build-aux/move-if-change (help):
376         * build-aux/useless-if-before-free (usage, main program):
377         * check-module (parse_module_file, usage)
378         (find_included_lib_files, check_module):
379         * lib/argmatch.c (main) [TEST]:
380         * lib/argp-help.c (_help):
381         * lib/getopt1.c (main) [TEST]:
382         * lib/git-merge-changelog.c (usage):
383         * lib/xstrtol-error.c (xstrtol_error):
384         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
385         * m4/argz.m4 (gl_FUNC_ARGZ):
386         * m4/bison.m4 (gl_BISON):
387         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
388         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
389         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
390         * m4/fpending.m4 (gl_PREREQ_FPENDING):
391         * m4/gc-random.m4 (gl_GC_RANDOM):
392         * m4/intl.m4 (gt_CHECK_DECL):
393         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
394         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
395         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
396         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
397         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
398         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
399         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
400         * tests/test-dirname.c (main):
401         * tests/test-getpass.c (main):
402         * tests/test-iconvme.c (main):
403         * tests/test-parse-datetime.c (LOG):
404         * tests/test-xstrtoimax.sh:
405         * tests/test-xstrtol.sh:
406         * tests/test-xstrtoll.sh:
407         * tests/test-xstrtoumax.sh:
408         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
409         * top/GNUmakefile (abort-due-to-no-makefile):
410         Quote 'like this', not `like this', as per the recent change to
411         the GNU coding standards.
412
413 2012-01-05  Bruno Haible  <bruno@clisp.org>
414
415         strtoimax: Don't force a replacement on systems where intmax_t is int.
416         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
417         'intmax_t' is not larger than 'int'.
418         Reported by Pádraig Brady <P@draigBrady.com>.
419
420 2012-01-05  Bruno Haible  <bruno@clisp.org>
421
422         doc: Mention NetBSD bugs.
423         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
424         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
425
426 2012-01-05  Bruno Haible  <bruno@clisp.org>
427
428         strtoumax tests: Enhance tests.
429         * tests/test-strtoumax.c (main): Add tests for large values.
430
431 2012-01-05  Bruno Haible  <bruno@clisp.org>
432
433         strtoimax: Work around AIX 5.1 bug.
434         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
435         definition.
436         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
437         Set HAVE_STRTOIMAX.
438         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
439         REPLACE_STRTOIMAX.
440         * modules/inttypes-incomplete (Makefile.am): Substitute
441         REPLACE_STRTOIMAX.
442         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
443         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
444         (Depends-on): Update conditions.
445         * tests/test-strtoimax.c (main): Add tests for large values.
446         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
447
448 2012-01-05  Bruno Haible  <bruno@clisp.org>
449
450         inttypes: Modernize.
451         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
452         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
453         (Makefile.am): Update inttypes.h rule.
454
455 2012-01-05  Jim Meyering  <meyering@redhat.com>
456
457         init.sh: don't waste a subshell just to redirect stderr
458         * tests/init.sh: In testing for diff -u and diff -c, use a
459         stderr-redirecting exec inside `...` rather than a subshell.
460
461         test-init.sh: avoid failure on HP-UX 11.00
462         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
463         resolves to diff -c or cmp.  Reported by Bruno Haible.
464
465 2012-01-05  Bruno Haible  <bruno@clisp.org>
466
467         Tests for module 'strtoull'.
468         * modules/strtoull-tests: New file.
469         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
470
471 2012-01-05  Bruno Haible  <bruno@clisp.org>
472
473         Tests for module 'strtoll'.
474         * modules/strtoll-tests: New file.
475         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
476
477 2012-01-05  Bruno Haible  <bruno@clisp.org>
478
479         Tests for module 'strtoul'.
480         * modules/strtoul-tests: New file.
481         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
482
483 2012-01-05  Bruno Haible  <bruno@clisp.org>
484
485         Tests for module 'strtol'.
486         * modules/strtol-tests: New file.
487         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
488
489 2012-01-04  Jim Meyering  <meyering@redhat.com>
490
491         test-init.sh: accommodate Solaris 5.10's different diff -u output
492         * tests/test-init.sh: Also exempt @@ lines from the comparison
493         of diff output, since Solaris 5.10 and GNU diff formats differ.
494         Reported by Stefano Lattarini.
495
496 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
497
498         test-posixtm: don't assume signed integer wraparound
499         * tests/test-posixtm.c (main): Don't assume wraparound semantics
500         after signed integer overflow.  Inspired by (though it may not
501         fix) Bruno Haible's bug report in
502         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
503
504         Spell out "Windows 9x" and "Windows XP".
505         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
506         "Windows 9x" and "WinXP" with "Windows XP".
507
508 2012-01-04  Jim Meyering  <meyering@redhat.com>
509
510         test-vc-list-files-cvs.sh: remove obsolete comment
511         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
512         double exit.  Now that's all encapsulated via skip_ and Exit.
513
514 2012-01-04  Bruno Haible  <bruno@clisp.org>
515
516         Talk about "native Windows API", not "Win32".
517         * lib/classpath.c: Update comments to mention native Windows.
518         * lib/csharpexec.c: Likewise.
519         * lib/dup2.c: Likewise.
520         * lib/error.c: Likewise.
521         * lib/fcntl.c: Likewise.
522         * lib/filename.h: Likewise.
523         * lib/findprog.c: Likewise.
524         * lib/get-rusage-as.c: Likewise.
525         * lib/get-rusage-data.c: Likewise.
526         * lib/getpagesize.c: Likewise.
527         * lib/javaexec.c: Likewise.
528         * lib/msvc-inval.c: Likewise.
529         * lib/msvc-nothrow.c: Likewise.
530         * lib/nanosleep.c: Likewise.
531         * lib/nonblocking.c: Likewise.
532         * lib/printf-parse.c: Likewise.
533         * lib/setlocale.c: Likewise.
534         * lib/sigaction.c: Likewise.
535         * lib/strerror_r.c: Likewise.
536         * lib/tmpdir.c: Likewise.
537         * lib/vasnprintf.c: Likewise.
538         * lib/w32spawn.h: Likewise.
539         * lib/waitpid.c: Likewise.
540         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
541         * m4/locale-ar.m4: Likewise.
542         * m4/locale-fr.m4: Likewise.
543         * m4/locale-ja.m4: Likewise.
544         * m4/locale-tr.m4: Likewise.
545         * m4/locale-zh.m4: Likewise.
546         * m4/printf.m4: Likewise.
547         * tests/test-cloexec.c: Likewise.
548         * tests/test-copy-acl.sh: Likewise.
549         * tests/test-copy-file.sh: Likewise.
550         * tests/test-file-has-acl.sh: Likewise.
551         * tests/test-set-mode-acl.sh: Likewise.
552         * tests/test-dup-safer.c: Likewise.
553         * tests/test-dup2.c: Likewise.
554         * tests/test-dup3.c: Likewise.
555         * tests/test-fcntl.c: Likewise.
556         * tests/test-nonblocking-pipe.h: Likewise.
557         * tests/test-nonblocking-socket.h: Likewise.
558         * tests/test-pipe.c: Likewise.
559         * tests/test-pipe2.c: Likewise.
560         * tests/test-spawn-pipe-child.c: Likewise.
561         * doc/acl-resources.txt: Likewise.
562         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
563         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
564         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
565         * lib/localcharset.c: Update comments to mention native Windows.
566         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
567         * lib/localename.c: Likewise.
568         * lib/progreloc.c: Likewise.
569         * lib/relocatable.c: Likewise.
570         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
571         (windows_compute_revents): Renamed from win32_compute_revents.
572         (windows_compute_revents_socket): Renamed from
573         win32_compute_revents_socket.
574         * lib/select.c: Update comments to mention native Windows.
575         (windows_poll_handle): Renamed from win32_poll_handle.
576         * m4/threadlib.m4: Update comments to mention native Windows.
577         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
578         --enable-threads=windows instead of --enable-threads=win32. Set
579         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
580         * lib/glthread/lock.h: Update comments to mention native Windows.
581         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
582         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
583         USE_WIN32_THREADS.
584         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
585         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
586         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
587         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
588         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
589         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
590         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
591         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
592         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
593         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
594         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
595         * tests/test-tls.c: Likewise.
596         Rationale:
597         Microsoft renamed the "Win32 API" to "Windows API", as it is available
598         on both 32-bit and 64-bit Windows systems.
599         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
600         line of distinction is between "native Windows" on one side and Unix/
601         POSIX systems on the other side. More details in
602         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
603         Suggested by Paul Eggert.
604
605 2012-01-03  Bruno Haible  <bruno@clisp.org>
606
607         isatty: Support for MSVC 9.
608         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
609         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
610         (_isatty_nothrow): New function.
611         (isatty): Use it instead of _isatty.
612         (IsConsoleHandle): Add comment, from Paolo Bonzini.
613         * lib/poll.c (IsConsoleHandle): Likewise.
614         * lib/select.c (IsConsoleHandle): Likewise.
615         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
616         (gl_PREREQ_ISATTY): New macro.
617         * modules/isatty (Depends-on): Add msvc-inval.
618         (configure.ac): Invoke gl_PREREQ_ISATTY.
619
620 2012-01-03  Jim Meyering  <meyering@redhat.com>
621
622         maint.mk: remove temporary transition aid from over 1.5 years ago
623         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
624         purpose was to aid in the transition (avoiding silent malfunction)
625         from that old name to the new _sc_search_regexp.  This shim was
626         added by commit 219c504b.
627
628         init.sh: do not try to accommodate compare arguments starting with "-"
629         * tests/init.sh (compare_dev_null_): Do not try to accommodate
630         compare arguments that start with "-".  Besides, we do not worry
631         about this when invoking diff or cmp; why start now with sed?
632         Using "--" to separate options from argument would trigger sed
633         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
634         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
635
636 2012-01-02  Bruno Haible  <bruno@clisp.org>
637
638         Enhance tests for module 'isatty'.
639         * modules/isatty-tests (Depends-on): Add pipe-posix.
640         * tests/test-isatty.c: Include <fcntl.h>.
641         (DEV_NULL): New macro.
642         (main): Test the resut of isatty() also on regular files, pipes, and
643         /dev/null.
644
645         New module 'isatty'.
646         * lib/unistd.in.h (isatty): New declaration.
647         * lib/isatty.c: New file, based on an idea of
648         Bastien Roucariès <roucaries.bastien@gmail.com>.
649         * m4/isatty.m4: New file.
650         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
651         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
652         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
653         REPLACE_ISATTY.
654         * modules/isatty: New file.
655         * doc/posix-functions/isatty.texi: Mention the new module.
656         Suggested by Paolo Bonzini.
657
658 2012-01-02  Bruno Haible  <bruno@clisp.org>
659
660         canonicalize: Tweak 2011-12-29 commit.
661         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
662         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
663
664 2012-01-02  Jim Meyering  <meyering@redhat.com>
665
666         gitlog-to-changelog: describe input syntax in --help output
667         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
668
669         gitlog-to-changelog: fix typo in --help: show backslash before email @
670         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
671         in sources, but not in actual output.
672
673 2011-12-30  Jim Meyering  <meyering@redhat.com>
674
675         gitlog-to-changelog: don't malfunction when name contains %-directive
676         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
677         in a name string cause trouble.  E.g., with a user name of "%s",
678         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
679
680 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
681
682         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
683         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
684         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
685         the "  (tiny change)" notation that is appended to the standard
686         ChangeLog "date  name  email" header line.
687
688 2012-01-01  Jim Meyering  <meyering@redhat.com>
689
690         test-framework-sh: init.sh: fix "make dist" failure
691         When using gnulib-tool's --with-tests option and any module that
692         depends on test-framework-sh, "make dist" would fail due to the
693         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
694         in the gltests directory, and not in the gllib/ directory.
695         One way to work around that is to move the EXTRA_DIST += init.sh
696         from the primary module to the -tests one:
697         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
698         * modules/test-framework-sh (Makefile.am): ...not here.
699         Reported by Tom G. Christensen in
700         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
701
702         version-etc: update copyright year reported by --version
703         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
704
705 2011-12-31  Pádraig Brady  <P@draigBrady.com>
706
707         canonicalize: only stat() if required
708         * lib/canonicalize.c (canonicalize_filename_mode):
709         Avoid calling l?stat() when both CAN_MISSING,
710         and CAN_NOLINKS are set, as we neither need
711         to resolve symlinks or test component existence.
712
713 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
714
715         doc: cover st_ino issues once; add OpenVMS etc.
716         * doc/posix-functions/stat.texi (stat):
717         * doc/posix-functions/lstat.texi (lstat):
718         * doc/posix-functions/fstatat.texi (fstatat):
719         * doc/posix-functions/fstat.texi (fstat):
720         Move general 'struct stat' stuff to sys_stat.texi,
721         leaving behind a pointer.
722         * doc/posix-headers/sys_stat.texi (sys/stat.h):
723         Merge duplicate info about 'struct stat' problems into here.
724         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
725         and suggest partial workarounds.
726
727         same-inode: port to OpenVMS
728         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
729         three st_ino values.
730
731 2011-12-30  Pádraig Brady  <P@draigBrady.com>
732
733         canonicalize: fix references to stat() and lstat()
734         * lib/canonicalize.c (canonicalize_filename_mode):
735         Ensure references always resolve to a replacement
736         function if required (even via a macro).
737
738 2011-12-30  Jim Meyering  <meyering@redhat.com>
739
740         gitlog-to-changelog: remove a little duplication
741         * build-aux/gitlog-to-changelog (main): Grep @lines once,
742         rather than twice.
743
744 2011-12-29  Pádraig Brady  <P@draigBrady.com>
745
746         canonicalize: add support for not resolving symlinks
747         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
748         indicate we don't want to follow symlinks.  Also
749         provide CAN_MODE_MASK to aid setting these existing
750         mutually exclusive values.
751         * lib/canonicalize.c (canonicalize_filename_mode):
752         Extract the flags from can_mode parameter, which
753         are currently just used to select between stat()
754         and lstat().  Also ensure that mutually exclusive
755         values are flagged immediately as invalid.
756         * tests/test-canonicalize.c: Verify symlinks are
757         not followed, and that invalid flag combinations
758         are diagnosed.
759
760 2011-12-25  Jim Meyering  <meyering@redhat.com>
761
762         gitlog-to-changelog: do not clump multi-paragraph entries
763         Identical header lines (date,name,email+coauthors) are suppressed,
764         thus putting all entries with those same characteristics under
765         a single header.  However, when a log entry consists of two or
766         more paragraphs, it may not be clear where it starts and ends.
767         This change makes it so that such an entry is always separated
768         from others by a header line, even when that header would
769         otherwise be suppressed.
770         * build-aux/gitlog-to-changelog: Implement the above.
771         Inspired by a related request from Stefano Lattarini in
772         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
773
774 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
775
776         announce-gen: fix `cmd' typo in diagnostic
777         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
778         diagnostic: a missing '$' meant that the command was not output.
779
780 2011-12-23  Jim Meyering  <meyering@redhat.com>
781
782         test-framework-sh: distribute init.sh
783         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
784         Otherwise, "make -C gnulib-tests check" (at least in grep) would
785         fail due to the lack of init.sh.
786
787         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
788         * modules/atexit-tests: Rather than listing tests/init.sh,
789         now that there's a module for it, simply depend on that new module.
790         * modules/closein-tests: Likewise.
791         * modules/exclude-tests: Likewise.
792         * modules/getcwd-tests: Likewise.
793         * modules/perror-tests: Likewise.
794         * modules/pread-tests: Likewise.
795         * modules/pwrite-tests: Likewise.
796         * modules/vc-list-files-tests: Likewise.
797         * modules/verify-tests: Likewise.
798         * modules/xalloc-die-tests: Likewise.
799         * modules/xstrtoimax-tests: Likewise.
800         * modules/xstrtol-tests: Likewise.
801         * modules/xstrtoll-tests: Likewise.
802         * modules/xstrtoumax-tests: Likewise.
803         * modules/yesno-tests: Likewise.
804
805 2011-12-22  Jim Meyering  <meyering@redhat.com>
806
807         test-framework-sh: add minimal tests of init.sh's compare function
808         * modules/test-framework-sh-tests: New file.
809         * tests/test-init.sh: New file.
810
811         test-framework-sh: new module
812         * modules/test-framework-sh: New file.
813         * MODULES.html.sh (Support for maintaining and releasing projects):
814         List it.
815
816         init.sh: do not emit simulated diff output to stderr
817         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
818
819 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
820
821         .gitignore: ignore gnulib.dvi and regex.info
822         * doc/.gitignore:add gnulib.dvi and regex.info
823
824 2011-12-22  Jim Meyering  <meyering@redhat.com>
825
826         init.sh: correct previous change
827         * tests/init.sh (compare): My previous change was wrong.
828         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
829
830         init.sh: avoid unwarranted test failure when using "set -e"
831         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
832         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
833         a use like "compare exp out" would get evoke an unconditional failure.
834
835 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
836
837         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
838         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
839         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
840         autoreconf that did not.
841         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
842         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
843
844 2011-12-17  Jim Meyering  <meyering@redhat.com>
845
846         bootstrap: remove some now-unneeded code
847         This script arose back when gnulib-tool was young.
848         Since then, it has seen improvements that render much of this
849         script unnecessary.  In particular, it can now make symlinks
850         to the files it uses.  Also, I no longer see as much value in
851         marking files as read-only via comments.
852         If you relied on the symlink-creation feature of the preceding
853         version of this script, you can get most of that functionality
854         by adding the --symlink option to the definition of
855         gnulib_tool_option_extras in your bootstrap.conf file.
856         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
857         Run autopoint and libtoolize *before* gnulib-tool.
858         After it, run an abbreviated autoreconf, rather than a loop around
859         all tools.
860         (slirp, bt_mark_as_generated): Remove functions.
861
862 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
863
864         ftoastr: fix typo
865         * lib/ftoastr.h: Fix misspelling in comment.
866
867 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
868
869         * top/README-release: fix punctuation.
870
871 2011-12-17  Jim Meyering  <meyering@redhat.com>
872
873         bootstrap: correct the recent buildreq change
874         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
875         had no effect.
876         * build-aux/bootstrap (buildreq): Bracket each search term with
877         "*...*", so that the shell "case" statement works as intended.
878         Add comments.
879
880 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
881
882         build: let bootstrap resort to wget when downloading .po files
883         * build-aux/bootstrap (download_po_files): Fallback to wget when
884         downloading the .po files via rsync fails.  This is necessary to
885         bootstrap from behind a strict firewall.
886
887 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
888
889         stdint: don't assume C++11 when compiling with g++
890         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
891         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
892         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
893         work also in C++ before C++11, as that improperly inhibits
894         generating a substitute stdint.h for that case.
895
896 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
897
898         alloca: protect comment from gnulib-tool
899         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
900         that gnulib-tool doesn't think it's a license, and munge it to
901         say "GCC version 3".
902
903 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
904
905         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
906         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
907         $(abs_top_builddir) instead of $(top_builddir).
908
909 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
910
911         strftime-tests: also test nanoseconds
912         * tests/test-strftime.c (T): Add a test of %N.
913
914 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
915
916         inttypes, stdint: add C++11 support
917         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
918         when including inttypes.h and stdint.h.  Support this change to
919         the standard.
920         * doc/posix-headers/inttypes.texi (inttypes.h):
921         * doc/posix-headers/stdint.texi (stdint.h): Document this.
922         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
923         Define if not defined already, for the benefit of pre-C++11 hosts.
924         Define the standard format macros (e.g., PRId8) always.
925         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
926         Likewise, if __cpluspus.  Define the standard constant and limit
927         macros (e.g., INT8_C, INT8_MAX) always.
928         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
929         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
930         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
931         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
932         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
933         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
934         Likewise.
935
936 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
937
938         nonblocking tests: Fix test failure on Linux/PPC.
939         Suggested by Prerna Saxena in
940         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
941         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
942         Set to 1100000.
943
944 2011-12-12  Jim Meyering  <meyering@redhat.com>
945
946         argmatch: don't hard-code `' when listing valid option arguments
947         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
948         use the quote function to add quotes.  Use fputs rather than
949         fprintf for the format string with no format directive.
950
951 2011-12-07  Eric Blake  <eblake@redhat.com>
952
953         bootstrap: detect tools required by gnulib-tool
954         * build-aux/bootstrap (buildreq): Provide minimum implicit
955         dependencies.
956         * DEPENDENCIES: Mention patch as a prereq.
957
958 2011-12-04  Bruno Haible  <bruno@clisp.org>
959
960         sethostname: Port to Windows platforms.
961         * lib/sethostname.c: Provide an alternate implementation for Windows
962         platforms.
963         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
964         (main): Skip the test if sethostname() fails with EPERM. On Windows
965         platforms, don't check the result of gethostname().
966
967 2011-12-04  Bruno Haible  <bruno@clisp.org>
968             Jim Meyering  <meyering@redhat.com>
969
970         tests: Avoid spurious error message on platforms without mktemp program.
971         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
972
973 2011-12-04  Bruno Haible  <bruno@clisp.org>
974
975         sethostname: Fix documentation.
976         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
977         "not fixed" section.
978
979 2011-12-03  Bruno Haible  <bruno@clisp.org>
980
981         gnulib-tool: Verify that the License field is present and non-empty.
982         * gnulib-tool (func_get_license_raw): New function, extracted from
983         func_get_license.
984         (func_get_license): Use it. Warn if the module is not a test module and
985         has no license.
986         Suggested by Jim Meyering.
987
988 2011-12-03  Bruno Haible  <bruno@clisp.org>
989
990         sethostname tests: Fix link error on mingw.
991         * tests/test-sethostname1.c: New file, extracted from
992         tests/test-sethostname.c.
993         * tests/test-sethostname2.c: New file, extracted from
994         tests/test-sethostname.c.
995         * tests/test-sethostname.c: Remove file.
996         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
997         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
998         (Depends-on): Add gethostname.
999         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
1000         Link the latter with $(GETHOSTNAME_LIB).
1001
1002         sethostname tests: Fix compilation error on mingw.
1003         * tests/test-sethostname.c: Don't include <sys/types.h>.
1004         (geteuid): Use a dummy value without uid_t.
1005         * modules/sethostname-tests (Depends-on): Remove sys_types.
1006
1007         sethostname tests: Avoid a gcc warning.
1008         * tests/test-sethostname.c (main): Remove an unused variable.
1009
1010         Tweak last commit.
1011         * modules/sethostname-tests (Files): Sort by decreasing importance.
1012         (configure.ac): Check for geteuid.
1013         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
1014         the test when there's nothing to test. Drop an unnecessary cast.
1015         Improve an error message. Verify that the final sethostname() call
1016         succeeds.
1017
1018 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1019
1020         Add a test suite for the sethostname module.
1021         * modules/sethostname-tests: New file.  A test program
1022         for the sethostname module.
1023         * tests/test-sethostname.c: Likewise.
1024
1025 2011-12-03  Bruno Haible  <bruno@clisp.org>
1026
1027         Tweak last commit.
1028         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
1029         Fix preprocessor directives indentation. Fix typos.
1030         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
1031         * modules/unistd (Makefile): Likewise.
1032
1033 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1034
1035         Integrate the sethostname module into unistd.
1036         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
1037         into the unistd.h header.
1038         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
1039         preprocessor directives.
1040         * modules/unistd: Setup the Makefile substitutions of the
1041         SETHOSTNAME preprocessor directives.
1042
1043 2011-12-03  Bruno Haible  <bruno@clisp.org>
1044
1045         Tweak last commit.
1046         * lib/sethostname.c: Don't include <string.h>.
1047         (sethostname): No need to copy the argument string to the stack. Don't
1048         call clearerr. Preserve errno when fprintf failed.
1049         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
1050         Don't invoke AC_REPLACE_FUNCS.
1051         * modules/sethostname (Link): Remove empty section.
1052         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
1053         failure problem.
1054
1055 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1056
1057         New module 'sethostname'.
1058         * lib/sethostname.c (sethostname): New file.  Provide sethostname
1059         for systems that lack it.
1060         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
1061         sethostname declaration and function.
1062         * modules/sethostname: New file.  Define the sethostname module.
1063
1064 2011-12-03  Bruno Haible  <bruno@clisp.org>
1065
1066         Tweak last commit.
1067         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
1068
1069 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
1070
1071         Split the HOST_NAME_MAX detection into a separate m4 macro.
1072         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
1073         macro so it can be used by the pending sethostname module.
1074
1075 2011-12-03  Bruno Haible  <bruno@clisp.org>
1076
1077         Fix module descriptions syntax.
1078         * modules/argv-iter (License): Fix syntax.
1079         * modules/di-set (License): Likewise.
1080         * modules/ino-map (License): Likewise.
1081         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
1082
1083 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
1084
1085         stdalign: port to Clang 3.0
1086         Problem reported by Simon Josefsson in
1087         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
1088         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
1089         which has <stdalign.h> but which does not define alignof.
1090         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
1091
1092 2011-12-01  Eric Blake  <eblake@redhat.com>
1093
1094         mktempd: silence dd usage
1095         * build-aux/mktempd (rand_bytes): Silence dd.
1096
1097 2011-11-30  Simon Josefsson  <simon@josefsson.org>
1098
1099         manywarnings: Don't mention gcc version in docstring.
1100         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
1101         Jim Meyering <meyering@redhat.com>.
1102
1103 2011-11-30  Jim Meyering  <meyering@redhat.com>
1104
1105         hash: mark a few floating point constants with "f" suffix
1106         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
1107         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
1108         floating point constants with "f", since they're destined to be
1109         saved/used as "float"s.
1110
1111 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
1112
1113         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
1114         * tests/test-float.c (test_long_double): Correct and re-enable the
1115         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
1116
1117 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
1118
1119         Avoid subtracting two pointers that don't point into the same block.
1120         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
1121         only pointers into the same memory block are subtracted. We cannot
1122         assume that sizeof (ptrdiff_t) == sizeof (void *).
1123
1124 2011-11-29  Eric Blake  <eblake@redhat.com>
1125
1126         maint.mk: add syntax check for use of compare from init.sh
1127         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
1128         moved here from coreutils.
1129
1130         manywarnings: drop -Wunsuffixed-float-constants
1131         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
1132         '1.0D', which is the only way to silence this warning for 'double'.
1133
1134 2011-11-29  Jim Meyering  <meyering@redhat.com>
1135
1136         hash: mark compute_bucket_size with the pure attribute
1137         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
1138
1139         quotearg, propername: correct pragma guard expression
1140         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
1141         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
1142
1143 2011-11-28  Jim Meyering  <meyering@redhat.com>
1144
1145         propername: do not mark proper_name with the const attribute
1146         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
1147         since it examines data pointed to by its parameter.
1148         * lib/propername.c (proper_name): Instead, add a pragma to suppress
1149         the suggestion from -Wsuggest-attribute=const.
1150
1151         propername: mark one more function as const
1152         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
1153
1154 2011-11-27  Jim Meyering  <meyering@redhat.com>
1155
1156         mark functions with const and pure attributes
1157
1158         Mark functions per suggestions from gcc-4.6 when using these options:
1159         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
1160         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
1161         Follow these guidelines: when possible, apply the attribute to
1162         an extern declaration, not to its definition.  Apply it to the
1163         definition only when the definition is static.
1164         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
1165         * lib/argv-iter.h (argv_iter_n_args): Likewise.
1166         * lib/base64.h (isbase64): Likewise.
1167         * lib/basename-lgpl.c (last_component, base_len): Likewise.
1168         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
1169         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
1170         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
1171         (c_tolower, c_toupper): Likewise.
1172         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
1173         * lib/chdir-long.c (find_non_slash): Likewise.
1174         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
1175         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
1176         * lib/file-type.h (file_type): Likewise.
1177         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
1178         * lib/filevercmp.c (verrevcmp): Likewise.
1179         * lib/freadahead.h (freadahead): Likewise.
1180         * lib/fts.c (fts_maxarglen): Likewise.
1181         * lib/hash-pjw.h (hash_pjw): Likewise.
1182         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
1183         * lib/hash.c (is_prime, next_prime): Likewise.
1184         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
1185         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
1186         (hash_table_ok, hash_get_first, hash_string): Likewise.
1187         (compute_bucket_size): Likewise.
1188         * lib/i-ring.h (i_ring_empty): Likewise.
1189         * lib/isnan.c (isnanl): Likewise.
1190         * lib/math.h (isnanl, rpl_isnanl): Likewise.
1191         * lib/memcasecmp.h (memcasecmp): Likewise.
1192         * lib/memchr2.h (memchr2): Likewise.
1193         * lib/memcmp2.h (memcmp2): Likewise.
1194         * lib/parse-datetime.y (lookup_zone): Likewise.
1195         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
1196         [!WINDOWS_SOCKETS]: Likewise.
1197         * lib/strnlen1.h (strnlen1): Likewise.
1198         * lib/uniwidth.in.h (uc_width): Likewise.
1199         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
1200         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
1201         (quoting_options_from_style): Add a comment.
1202         * lib/propername.h (proper_name): Add a comment.
1203
1204 2011-11-27  Bruno Haible  <bruno@clisp.org>
1205
1206         Remove unused macros from !_LIBC code in glibc-borrowed files.
1207         * lib/fnmatch.c (STRCOLL): Remove macro.
1208         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
1209         * lib/glob.c (__stat, __readdir64): Remove macros.
1210         * lib/tempname.c (__open64, __xstat64): Remove macros.
1211         Suggested by Paul Eggert.
1212
1213 2011-11-27  Bruno Haible  <bruno@clisp.org>
1214
1215         getcwd: Fix link error on MSVC 9.
1216         * modules/getcwd (Depends-on): Add readdir, rewinddir.
1217
1218 2011-11-27  Bruno Haible  <bruno@clisp.org>
1219
1220         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
1221         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
1222         HAVE_OPENDIR is 0.
1223         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
1224         HAVE_CLOSEDIR is 0.
1225         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
1226         is 0.
1227         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
1228
1229 2011-11-27  Bruno Haible  <bruno@clisp.org>
1230
1231         getcwd: Fix bug from 2011-08-17.
1232         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
1233         platforms that need it.
1234         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
1235         code of 4 to be a failure, not a success. This ensures that
1236         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
1237
1238 2011-11-27  Bruno Haible  <bruno@clisp.org>
1239
1240         binary-io tests: Avoid test failure on mingw when libtool is used.
1241         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
1242         Don't verify the size of t-bin-out1.tmp here.
1243         * tests/test-binary-io.sh: Verify it here.
1244         Reported by Simon Josefsson.
1245
1246 2011-11-26  Bruno Haible  <bruno@clisp.org>
1247
1248         Fix conflict between two instantiations of module 'unistd'.
1249         * gnulib-tool (func_emit_autoconf_snippet): Substitute
1250         ${include_guard_prefix} also in the autoconf snippet.
1251         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
1252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
1253         GNULIB_UNISTD_H_GETOPT.
1254         * modules/getopt-posix (configure.ac): Set the
1255         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
1256         * modules/getopt-gnu (configure.ac): Likewise.
1257         * modules/unistd (Makefile.am): Change the substitution value of
1258         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
1259         Reported by Simon Josefsson.
1260
1261 2011-11-25  Bruno Haible  <bruno@clisp.org>
1262
1263         pagealign_alloc: Doc and comments.
1264         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
1265         module.
1266         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
1267
1268 2011-11-25  Jim Meyering  <meyering@redhat.com>
1269
1270         test-update-copyright.sh: avoid false-positive failure
1271         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
1272         around false positive failure on Cygwin/Windows.  The latter was
1273         matching erroneously-created files with names like
1274         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
1275
1276 2011-11-25  Simon Josefsson  <simon@josefsson.org>
1277
1278         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
1279         * m4/valgrind-tests.m4: Check that the parameters that will be
1280         used works, not just a subset of them.  Reported by Bruno Haible
1281         <bruno@clisp.org>.
1282
1283 2011-11-24  Jim Meyering  <meyering@redhat.com>
1284
1285         test-stdalign.c: comment out long double tests
1286         * tests/test-stdalign.c: Don't try to reduce alignment of long double
1287         variables.  That provokes errors like this from gcc-4.7.0 20111124:
1288         error: '_Alignas' specifiers cannot reduce alignment of \
1289         'static_longdouble_alignas'.
1290
1291 2011-11-22  Jim Meyering  <meyering@redhat.com>
1292
1293         init.sh: make "compare /dev/null FILE" output more readable
1294         * tests/init.sh (compare_): Document the preferred order of arguments.
1295         (emit_diff_u_header_): New function.
1296         (compare_dev_null_): Emit a simulated diff, rather than just the
1297         contents of the unexpected file.  Suggestion from Bruno Haible.
1298
1299 2011-11-21  Jim Meyering  <meyering@redhat.com>
1300             Eric Blake  <eblake@redhat.com>
1301
1302         init.sh: work around OSF/1 5.1's mishandling of /dev/null
1303         * tests/init.sh: Make our compare function slightly more portable.
1304         Reported by Bruno Haible in
1305         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
1306
1307 2011-11-21  Simon Josefsson  <simon@josefsson.org>
1308
1309         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
1310         before using it, in code that ends up in config.h.
1311
1312 2011-11-20  Bruno Haible  <bruno@clisp.org>
1313
1314         getcwd: Work around getcwd bug on AIX 5..7.
1315         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
1316         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
1317         Use a different value for gl_cv_func_getcwd_path_max. Move the
1318         definition of HAVE_PARTLY_WORKING_GETCWD from here...
1319         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
1320         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
1321         Define HAVE_MINIMALLY_WORKING_GETCWD.
1322         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
1323         where it is not even minimally working, that is, on AIX.
1324         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
1325         m4/getcwd-path-max.m4.
1326         (main): Update exit code computation.
1327         * doc/posix-functions/getcwd.texi: Mention list of platforms where
1328         getcwd does not handle long file names.
1329
1330 2011-11-20  Bruno Haible  <bruno@clisp.org>
1331
1332         getcwd: Fix bug from 2009-09-10.
1333         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
1334         like "no".
1335
1336 2011-11-20  Simon Josefsson  <simon@josefsson.org>
1337
1338         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
1339
1340 2011-11-20  Bruno Haible  <bruno@clisp.org>
1341
1342         fma tests: Avoid shadowing local variables.
1343         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
1344         expected.
1345
1346 2011-11-20  Bruno Haible  <bruno@clisp.org>
1347
1348         copysignf tests: Fix.
1349         * tests/test-copysignf.c: Fix signature check.
1350
1351 2011-11-20  Bruno Haible  <bruno@clisp.org>
1352
1353         fma: Remove unused code.
1354         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
1355         unused macros.
1356
1357 2011-11-20  Bruno Haible  <bruno@clisp.org>
1358
1359         sethostname: Fix doc about AIX.
1360         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
1361         sethostname; it has it.
1362
1363         sethostname: Mention more portability problems.
1364         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
1365         problem.
1366         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
1367
1368 2011-11-19  Bruno Haible  <bruno@clisp.org>
1369
1370         Depend on module fcntl-h when AT_FDCWD is used.
1371         * modules/utimens (Depends-on): Add fcntl-h.
1372         * modules/areadlinkat (Depends-on): Likewise.
1373         * modules/areadlinkat-with-size (Depends-on): Likewise.
1374         * modules/faccessat (Depends-on): Likewise.
1375         * modules/fchmodat (Depends-on): Likewise.
1376         * modules/fchownat (Depends-on): Likewise.
1377         * modules/getcwd (Depends-on): Likewise.
1378         * modules/mkdirat (Depends-on): Likewise.
1379         * modules/mkfifoat (Depends-on): Likewise.
1380         * modules/readlinkat (Depends-on): Likewise.
1381         * modules/symlinkat (Depends-on): Likewise.
1382         * modules/dup2-tests (Depends-on): Likewise.
1383         * modules/fdutimensat-tests (Depends-on): Likewise.
1384         * modules/futimens-tests (Depends-on): Likewise.
1385
1386 2011-11-19  Bruno Haible  <bruno@clisp.org>
1387
1388         euidaccess: Update a comment.
1389         * lib/euidaccess.c: Update comment about platforms with faccessat.
1390
1391 2011-11-19  Bruno Haible  <bruno@clisp.org>
1392
1393         openat: Fix file list.
1394         * modules/openat (Files): Remove lib/at-func.c.
1395
1396 2011-11-19  Bruno Haible  <bruno@clisp.org>
1397
1398         fstatat: Simplify.
1399         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
1400         gnulib should define rpl_fstatat, there is a
1401         "#define fstatat rpl_fstatat" in <sys/stat.h>.
1402
1403 2011-11-19  Bruno Haible  <bruno@clisp.org>
1404
1405         Ensure 'inline' can be used in tests/test-utimens-common.h.
1406         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
1407         * modules/futimens-tests (configure.ac): Likewise.
1408         * modules/utimens-tests (configure.ac): Likewise.
1409         * modules/utimensat-tests (configure.ac): Likewise.
1410
1411 2011-11-19  Simon Josefsson  <simon@josefsson.org>
1412
1413         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
1414         not hash_insert0.
1415         (hash_insert_if_absent): Doc fix.
1416
1417 2011-11-19  Simon Josefsson  <simon@josefsson.org>
1418
1419         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
1420
1421 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
1422
1423         test-getcwd: disambiguate exit status
1424         * tests/test-getcwd.c (test_long_name): Return 0..7.
1425         (main): Exit with an unambiguous exit status.  The old
1426         code yielded a mysterious mixture of two failure codes.
1427
1428         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
1429         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
1430         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
1431         rpl_fstatat or fstatat.  This should fix the other problem
1432         reported by Kai Habel in
1433         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
1434         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
1435         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
1436         and I reproduced it on a Solaris 8 host we still have in production.
1437
1438 2011-11-18  Jim Meyering  <meyering@redhat.com>
1439
1440         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
1441         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
1442         Add a sentence to the comment.
1443         (hash_insert0): New function that simply calls hash_insert_if_absent.
1444         * lib/hash.h (hash_insert_if_absent): Declare it.
1445         (hash_insert0): Add deprecation attribute.
1446         (_GL_ATTRIBUTE_DEPRECATED): Define.
1447         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
1448         not hash_insert0.
1449         * NEWS: Mention it, even though it's not really an incompatible change.
1450
1451 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
1452
1453         openat: avoid compilation failure due to lack of <errno.h> inclusion
1454         * lib/openat.c: Include <errno.h>.
1455
1456 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
1457
1458         * modules/getcwd (Depends-on): Add fdopendir.
1459         This fixes one of the two problems reported by Kai Habel in
1460         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
1461
1462         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
1463         stdalign problem reported by Ian Beckwith in
1464         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
1465         * modules/crypto/gc-arcfour (Depends-on):
1466         Depend conditionally on crypto/arcfour.
1467         * modules/crypto/gc-arctwo (Depends-on):
1468         Depend conditionally on crypto/arctwo.
1469         * modules/crypto/gc-des (Depends-on):
1470         Depend conditionally on crypto/des.
1471         * modules/crypto/gc-hmac-md5 (Depends-on):
1472         Depend conditionally on crypto/hmac-md5.
1473         * modules/crypto/gc-hmac-sha1 (Depends-on):
1474         Depend conditionally on crypto/hmac-sha1.
1475         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
1476         * modules/crypto/gc-md4 (Depends-on):
1477         Depend conditionally on crypto/md4.
1478         * modules/crypto/gc-md5 (Depends-on):
1479         Depend conditionally on crypto/md5.
1480         * modules/crypto/gc-rijndael (Depends-on):
1481         Depend conditionally on crypto/rijndael.
1482         * modules/crypto/gc-sha1 (Depends-on):
1483         Depend conditionally on crypto/sha1.
1484         * modules/crypto/gc-arcfour:
1485         * modules/crypto/gc-arctwo:
1486         * modules/crypto/gc-des:
1487         * modules/crypto/gc-hmac-md5:
1488         * modules/crypto/gc-hmac-sha1:
1489         * modules/crypto/gc-md2:
1490         * modules/crypto/gc-md4:
1491         * modules/crypto/gc-md5:
1492         * modules/crypto/gc-rijndael:
1493         * modules/crypto/gc-sha1:
1494         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
1495         now that the conditional dependencies do the work for us.
1496
1497 2011-11-17  Jim Meyering  <meyering@redhat.com>
1498
1499         tests: factor st_ctime-comparison out of two headers
1500         * tests/test-utimens-common.h (ctime_compare): Define.
1501         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
1502         * tests/test-lutimens.h (test_lutimens): Likewise.
1503         * tests/test-utimens.h (test_utimens): Likewise.
1504
1505         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
1506         Invoke the test program via an init.sh-using wrapper.
1507         * tests/test-getcwd.sh: New file.
1508         * modules/getcwd-tests (Files): Add it.
1509         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
1510
1511 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
1512
1513         gitlog-to-changelog: support multi-author commits.
1514         The FSF cares about keeping track of all authors of patches to its
1515         projects, but Git doesn't provide obvious support for multi-author
1516         changesets. Consensus seems to be forming around the use of extra
1517         Signed-off-by inspired lines in the log message formatted as
1518         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
1519         multi-author commits between version control systems.
1520         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
1521         log message and output in standard ChangeLog multi-author format.
1522         Reported by Peter Rosin <peda@lysator.liu.se>
1523
1524 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
1525             Bruno Haible  <bruno@clisp.org>
1526
1527         Fix some modules' file list.
1528         * modules/fstatat (Files): Add m4/lstat.m4.
1529         * modules/openat (Files): Likewise.
1530         * modules/unlinkat (Files): Likewise.
1531
1532 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
1533
1534         maint.mk: fix tight-scope.mk generation in VPATH builds.
1535         * top/maint.mk (tight-scope.mk): Make sure to prefix file
1536         reference with $(srcdir) so that the file is found correctly even
1537         when running `make syntax-check' in a VPATH build.
1538
1539 2011-11-13  Bruno Haible  <bruno@clisp.org>
1540             Jim Meyering  <meyering@redhat.com>
1541
1542         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
1543         * tests/init.sh (compare): Remove "No differences encountered" or
1544         synonymous output from the 'diff' program.
1545
1546 2011-11-13  Bruno Haible  <bruno@clisp.org>
1547
1548         Makefile: Tweak indentation.
1549         * Makefile: Use tab as first character in every line that contains rule
1550         commands.
1551
1552 2011-11-13  Bruno Haible  <bruno@clisp.org>
1553
1554         Syntax check for copyright statements.
1555         * check-copyright: New file.
1556         * Makefile (sc_check_copyright): New rule.
1557
1558 2011-11-13  Simon Josefsson  <simon@josefsson.org>
1559
1560         * build-aux/git-version-gen: Add --prefix to configure the tag
1561         match string.
1562
1563 2011-11-13  Simon Josefsson  <simon@josefsson.org>
1564
1565         * build-aux/git-version-gen: Add --help and --version.
1566
1567 2011-11-12  Jim Meyering  <meyering@redhat.com>
1568
1569         revamp the other test-exclude?.sh scripts to use init.sh, too
1570         * tests/test-exclude1.sh: Use init.sh.
1571         * tests/test-exclude2.sh: Likewise.
1572         * tests/test-exclude3.sh: Likewise.
1573         * tests/test-exclude4.sh: Likewise.
1574         * tests/test-exclude5.sh: Likewise.
1575         * tests/test-exclude6.sh: Likewise.
1576         * tests/test-exclude7.sh: Likewise.
1577         * tests/test-exclude8.sh: Likewise.
1578         * modules/exclude-tests (Files): List init.sh.
1579
1580         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
1581         These shell scripts ignored failure of the binary test-exclude,
1582         so making the latter return 77 didn't cause them to be skipped.
1583         * tests/test-exclude5.sh: Exit with test-exclude's error status
1584         when that program fails.  Revamp to use init.sh.
1585         * tests/test-exclude2.sh: Likewise.
1586
1587         test-exclude: fix a typo
1588         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
1589
1590 2011-11-11  Bruno Haible  <bruno@clisp.org>
1591
1592         obstack: Fix compilation error on MSVC 9.
1593         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
1594
1595 2011-11-11  Jim Meyering  <meyering@redhat.com>
1596
1597         test-exclude: skip tests rather than failing on deficient systems
1598         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
1599         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
1600         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
1601         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
1602
1603 2011-11-10  Bruno Haible  <bruno@clisp.org>
1604
1605         ptsname_r test: Avoid gcc warning on glibc systems.
1606         * tests/test-ptsname_r.c (null_ptr): New function.
1607         (test_errors): Use it.
1608
1609 2011-11-10  Bruno Haible  <bruno@clisp.org>
1610
1611         ptsname_r: Avoid compilation error on OSF/1 5.1.
1612         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
1613         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
1614         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
1615         function is not declared or incompatibly declared.
1616         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
1617         * modules/ptsname_r (Depends-on, configure.ac): Update.
1618         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
1619
1620 2011-11-10  Bruno Haible  <bruno@clisp.org>
1621
1622         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
1623         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
1624         When cross-compiling, guess yes on all platforms except AIX.
1625         Reported by Ludovic Courtès <ludo@gnu.org>.
1626
1627 2011-11-09  Bruno Haible  <bruno@clisp.org>
1628
1629         ptsname_r tests: Fix bugs.
1630         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
1631         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
1632
1633 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1634
1635         fstatat: work with cross-compilation
1636         Problem reported by Ludovic Courtès in
1637         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
1638         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
1639         "cross-compiling" and assume the bug is present.  Replace
1640         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
1641         an inverted sense, to be more conservative about our assumptions.
1642         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
1643
1644 2011-11-09  Bruno Haible  <bruno@clisp.org>
1645
1646         Improve MODULES.html output.
1647         * modules/mkfifoat (Description): Use the word "function".
1648         * modules/readlinkat (Description): Likewise.
1649         * modules/symlinkat (Description): Likewise.
1650
1651 2011-11-09  Eric Blake  <eblake@redhat.com>
1652
1653         ptsname_r-tests: new test module
1654         * modules/ptsname_r-tests: New module.
1655         * tests/test-ptsname_r.c: New file.
1656
1657         ptsname_r: new module
1658         * modules/ptsname_r: New module.
1659         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
1660         * lib/ptsname.c (__ptsname_r): Split...
1661         * lib/ptsname_r.c: ...into new file.
1662         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
1663         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
1664         * modules/stdlib (Makefile.am): Substitute witnesses.
1665         * lib/stdlib.in.h (ptsname_r): Declare it.
1666         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
1667         * MODULES.html.sh (Misc): Likewise.
1668         * modules/ptsname (Depends-on): Alter dependency.
1669         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
1670
1671 2011-11-09  Jim Meyering  <meyering@redhat.com>
1672
1673         announce-gen: be more concise when there's only one URL+tarball
1674         * build-aux/announce-gen (get_tool_versions): When you distribute
1675         only one type of tarball, combine the first two "Here are..."
1676         sections and make the key-checking grammar independent of
1677         how many tarballs there are.
1678
1679 2011-11-09  Eric Blake  <eblake@redhat.com>
1680
1681         openpty: provide a stub on mingw
1682         * lib/pty.in.h (includes): Provide forward declarations.
1683         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
1684
1685         raise: fix mingw handling of SIGPIPE
1686         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
1687
1688 2011-11-08  Bruno Haible  <bruno@clisp.org>
1689
1690         More conditional dependencies.
1691         * modules/faccessat (Depends-on): Add conditions.
1692         * modules/fchmodat (Depends-on): Likewise.
1693         * modules/fchownat (Depends-on): Likewise.
1694         * modules/fstatat (Depends-on): Likewise.
1695         * modules/mkfifoat (Depends-on): Likewise.
1696         * modules/readlinkat (Depends-on): Likewise.
1697         * modules/symlinkat (Depends-on): Likewise.
1698         * modules/unlinkat (Depends-on): Likewise.
1699         * modules/utimensat (Depends-on): Likewise.
1700         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
1701         * modules/linkat (Depends-on): Refine the conditions.
1702         * modules/renameat (Depends-on): Likewise.
1703
1704 2011-11-08  Bruno Haible  <bruno@clisp.org>
1705
1706         faccessat: Move AC_LIBOBJ invocation to module description.
1707         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
1708         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
1709         invocation from here...
1710         * modules/faccessat (configure.ac): ... to here. Invoke
1711         gl_PREREQ_FACCESSAT.
1712
1713 2011-11-08  Bruno Haible  <bruno@clisp.org>
1714
1715         faccessat: Simplify autoconf macro.
1716         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
1717         gl_FUNC_EUIDACCESS.
1718
1719 2011-11-08  Bruno Haible  <bruno@clisp.org>
1720
1721         renameat: Fix dependencies.
1722         * modules/renameat (Depends-on): Add stdbool.
1723
1724 2011-11-08  Bruno Haible  <bruno@clisp.org>
1725
1726         mkfifoat: Fix module description.
1727         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
1728         not gl_UNISTD_MODULE_INDICATOR.
1729
1730 2011-11-08  Bruno Haible  <bruno@clisp.org>
1731
1732         fstatat: Remove unused dependency.
1733         * modules/fstatat (Depends-on): Remove fstat.
1734
1735 2011-11-08  Simon Josefsson  <simon@josefsson.org>
1736
1737         GNUmakefile: behave when Makefile is missing.
1738         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
1739
1740 2011-11-08  Bruno Haible  <bruno@clisp.org>
1741
1742         openat: Conditionalize dependencies.
1743         * lib/openat.c: Reduce the scope of some #includes.
1744         * modules/openat (Depends-on): Add conditions.
1745
1746 2011-11-07  Jim Meyering  <meyering@redhat.com>
1747
1748         maint.mk: extract GPG key ID without using a temporary file
1749         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
1750         without using a temporary file.  Based on a suggestion from Werner Koch
1751         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
1752
1753 2011-11-07  Eric Blake  <eblake@redhat.com>
1754
1755         grantpt: fix typo
1756         * lib/stdlib.in.h (grantpt): Check correct function.
1757
1758         maint.mk: silence new syntax check
1759         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
1760
1761 2011-11-06  Bruno Haible  <bruno@clisp.org>
1762
1763         Doc about floating-point and math API.
1764         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
1765         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
1766
1767 2011-11-06  Bruno Haible  <bruno@clisp.org>
1768
1769         stdalign tests: Skip the test when compiled by Sun C.
1770         * tests/test-stdalign.c (main): Skip the test on Sun C.
1771
1772 2011-11-06  Bruno Haible  <bruno@clisp.org>
1773
1774         ansi-c++-opt: Complete the 2011-06-05 change.
1775         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
1776         does not support namespaces, set the variable to "no", not to ":".
1777
1778 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
1779
1780         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
1781
1782 2011-11-06  Bruno Haible  <bruno@clisp.org>
1783
1784         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
1785         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
1786         (minus_zerol) [HP-UX]: New macro.
1787         (unary_minus) [HP-UX]: New function.
1788         (copysignl) [HP-UX]: Use unary_minus function.
1789
1790 2011-11-06  Bruno Haible  <bruno@clisp.org>
1791
1792         ldexp, ldexpf, ldexpl: Enhance tests.
1793         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
1794         and tests/test-ldexpl.c.
1795         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
1796         LDEXP, MIN_EXP, MAX_EXP): New macros.
1797         Include test-ldexp.h.
1798         (main): Just call test_function.
1799         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
1800         infinity.h, nan.h.
1801         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
1802         MAX_EXP): New macros.
1803         Include test-ldexp.h.
1804         (x, y): Remove variables.
1805         (main): Just call test_function.
1806         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
1807         infinity.h, nan.h.
1808         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
1809         MAX_EXP): New macros.
1810         Include test-ldexp.h.
1811         (x, y): Remove variables.
1812         (main): Just call test_function.
1813         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
1814         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
1815         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
1816         (Depends-on): Add isnand-nolibm, signbit, float.
1817         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
1818         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
1819         (Depends-on): Add isnanf-nolibm, signbit, float.
1820
1821 2011-11-06  Bruno Haible  <bruno@clisp.org>
1822
1823         math tests: Cosmetics.
1824         * tests/test-math-c++.cc: Reorder declarations.
1825
1826 2011-11-05  Bruno Haible  <bruno@clisp.org>
1827
1828         fma*: Simplify test.
1829         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
1830         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
1831
1832         Tests for module 'fmal'.
1833         * modules/fmal-tests: New file.
1834         * tests/test-fmal1.c: New file.
1835         * tests/test-fmal2.c: New file.
1836
1837         New module 'fmal'.
1838         * lib/math.in.h (fmal): New declaration.
1839         * lib/fmal.c: New file.
1840         * m4/fmal.m4: New file.
1841         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
1842         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
1843         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
1844         REPLACE_FMAL.
1845         * modules/fmal: New file.
1846         * doc/posix-functions/fmal.texi: Mention the new module and the various
1847         bugs.
1848
1849         Tests for module 'fmaf'.
1850         * modules/fmaf-tests: New file.
1851         * tests/test-fmaf1.c: New file.
1852         * tests/test-fmaf2.c: New file.
1853
1854         New module 'fmaf'.
1855         * lib/math.in.h (fmaf): New declaration.
1856         * lib/fmaf.c: New file.
1857         * m4/fmaf.m4: New file.
1858         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
1859         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
1860         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
1861         REPLACE_FMAF.
1862         * modules/fmaf: New file.
1863         * doc/posix-functions/fmaf.texi: Mention the new module and the various
1864         bugs.
1865
1866         Tests for module 'fma'.
1867         * modules/fma-tests: New file.
1868         * tests/test-fma1.c: New file.
1869         * tests/test-fma1.h: New file.
1870         * tests/test-fma2.c: New file.
1871         * tests/test-fma2.h: New file.
1872
1873         New module 'fma'.
1874         * lib/math.in.h (fma): New declaration.
1875         * lib/fma.c: New file.
1876         * m4/fma.m4: New file.
1877         * m4/fegetround.m4: New file.
1878         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
1879         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
1880         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
1881         REPLACE_FMA.
1882         * modules/fma: New file.
1883         * doc/posix-functions/fma.texi: Mention the new module and the various
1884         bugs.
1885
1886         Extend gl_MATHFUNC.
1887         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
1888         Support 'void' as argument type.
1889         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
1890
1891 2011-11-05  Jim Meyering  <meyering@redhat.com>
1892
1893         maint.mk: also prohibit inclusion of dirent.h without use
1894         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
1895
1896 2011-11-05  Bruno Haible  <bruno@clisp.org>
1897
1898         ldexpl tests: Avoid test failure on MSVC 9.
1899         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
1900         value. Needed in order to enforce the conversion from a value greater
1901         than LDBL_MAX to Infinity.
1902
1903 2011-11-05  Bruno Haible  <bruno@clisp.org>
1904
1905         New modules 'at-internal', 'openat-h', split off from module 'openat'.
1906         * modules/at-internal: New file, extracted from modules/openat.
1907         * modules/openat-h: New file.
1908         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
1909         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
1910         * modules/openat (Description): Add reference to POSIX function.
1911         (Files): Remove lib/openat.h, lib/openat-proc.c.
1912         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
1913         intprops, unistd.
1914         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
1915         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
1916         gl_FCNTL_MODULE_INDICATOR.
1917         (Include): Remove unistd.h, openat.h.
1918         * modules/areadlinkat (Files): Add lib/at-func.c.
1919         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
1920         openat-die, openat-h, save-cwd.
1921         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
1922         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
1923         openat-die, openat-h, save-cwd, unistd.
1924         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
1925         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
1926         openat-h, save-cwd. Remove fcntl-h, openat.
1927         * modules/fchmodat (Files): Remove lib/openat.h.
1928         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
1929         openat, stdbool, unistd.
1930         * modules/fchownat (Files): Remove lib/openat.h.
1931         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
1932         openat, stdbool, sys_stat.
1933         * modules/fdopendir (Files): Remove lib/openat-priv.h,
1934         lib/openat-proc.c.
1935         (Depends-on): Add at-internal.
1936         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
1937         * modules/fstatat (Files): Remove lib/openat.h.
1938         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
1939         stdbool, unistd.
1940         * modules/fts (Depends-on): Add openat-h.
1941         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
1942         openat.
1943         * modules/mkdirat (Files): Remove lib/openat.h.
1944         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
1945         openat, stdbool, sys_stat.
1946         * modules/mkfifoat (Files): Add lib/at-func.c.
1947         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
1948         openat-h, save-cwd. Remove fcntl-h, openat.
1949         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
1950         * modules/readlinkat (Files): Add lib/at-func.c.
1951         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
1952         openat-h, save-cwd. Remove fcntl-h, openat.
1953         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
1954         openat.
1955         * modules/selinux-at (Files): Add lib/at-func.c.
1956         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
1957         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
1958         * modules/symlinkat (Files): Add lib/at-func.c.
1959         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
1960         openat-h, save-cwd. Remove fcntl-h, openat.
1961         * modules/unlinkat (Files): Remove lib/openat.h.
1962         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
1963         stdbool.
1964         * modules/utimensat (Files): Add lib/at-func.c.
1965         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
1966         openat-die, openat-h, save-cwd.
1967         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
1968         * modules/fdutimensat-tests (Depends-on): Add openat.
1969         * modules/fstatat-tests (Depends-on): Add openat-h.
1970         * modules/readlinkat-tests (Depends-on): Add openat.
1971         * modules/symlinkat-tests (Depends-on): Add openat.
1972
1973 2011-11-05  Bruno Haible  <bruno@clisp.org>
1974
1975         openat: Include <stdbool.h>.
1976         * lib/openat.c: Include <stdbool.h>.
1977
1978 2011-11-04  Bruno Haible  <bruno@clisp.org>
1979
1980         fchownat, renameat, unlinkat: Fix dependencies.
1981         * modules/fchownat (Depends-on): Add fstatat.
1982         * modules/renameat (Depends-on): Likewise.
1983         * modules/unlinkat (Depends-on): Likewise.
1984
1985 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
1986
1987         openat: remove direct dependency on dirent
1988         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
1989         and hasn't been needed ever since fdopendir was split into its own
1990         module on 2009-08-31.
1991         * modules/openat (Depends-on): Remove dirent.
1992
1993 2011-11-04  Bruno Haible  <bruno@clisp.org>
1994
1995         renameat: Optimize code size.
1996         * modules/renameat (configure.ac): Don't compile at-func2.c if
1997         REPLACE_RENAMEAT is 1.
1998
1999 2011-11-04  Bruno Haible  <bruno@clisp.org>
2000
2001         openat tests: Fix file list.
2002         * modules/openat-tests (Files): Add tests/test-open.h.
2003
2004 2011-11-04  Bruno Haible  <bruno@clisp.org>
2005
2006         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
2007         * modules/fchmodat (Depends-on): Add openat-die.
2008         * modules/fchownat (Depends-on): Likewise.
2009         * modules/linkat (Depends-on): Likewise.
2010         * modules/renameat (Depends-on): Likewise.
2011         * modules/openat (Depends-on): Add dirent.
2012
2013 2011-11-04  Jim Meyering  <meyering@redhat.com>
2014
2015         at-func*.c: fix comments
2016         * lib/at-func2.c: Correct/improve first-line comment.
2017         * lib/at-func.c: Correct grammar in first-line comment.
2018
2019 2011-11-04  Bruno Haible  <bruno@clisp.org>
2020
2021         New module 'mkdirat', split off from module 'openat'.
2022         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
2023         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
2024         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
2025         * modules/mkdirat: New file, extracted from modules/openat.
2026         * modules/openat (Files): Remove lib/mkdirat.c.
2027         (Depends-on): Remove mkdir.
2028         (configure.ac): Remove AC_LIBOBJ of mkdirat.
2029         (Include): Remove <sys/stat.h>.
2030         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
2031         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
2032         tests/test-mkdir.h.
2033         (Depends-on): Remove ignore-value.
2034         (Makefile.am): Remove rules for test-mkdirat.
2035         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
2036         of module 'openat'.
2037         * NEWS: Mention the change.
2038
2039 2011-11-04  Bruno Haible  <bruno@clisp.org>
2040
2041         closedir: Avoid warning on mingw.
2042         * lib/closedir.c: Include <unistd.h>.
2043
2044 2011-11-04  Bruno Haible  <bruno@clisp.org>
2045
2046         New module 'fstatat', split off from module 'openat'.
2047         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
2048         defined.
2049         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
2050         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
2051         gl_FUNC_FSTATAT.
2052         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
2053         * modules/fstatat: New file, extracted from modules/openat.
2054         * modules/openat (Files): Remove lib/fstatat.c.
2055         (Depends-on): Remove lstat.
2056         (configure.ac): Remove AC_LIBOBJ of fstatat.
2057         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
2058         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
2059         tests/test-lstat.h, tests/test-stat.h.
2060         (Depends-on): Remove getcwd-lgpl.
2061         (Makefile.am): Remove rules for test-fstatat.
2062         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
2063         of module 'openat'.
2064         * NEWS: Mention the change.
2065         * modules/getcwd (Depends-on): Add fstatat.
2066         * modules/linkat (Depends-on): Likewise.
2067         * modules/mkfifoat-tests (Depends-on): Likewise.
2068         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
2069
2070 2011-11-03  Bruno Haible  <bruno@clisp.org>
2071
2072         New module 'unlinkat', split off from module 'openat'.
2073         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
2074         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
2075         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
2076         * modules/unlinkat: New file, extracted from modules/openat. Correct
2077         the dependency conditions.
2078         * modules/openat (Files): Remove lib/unlinkat.c.
2079         (Depends-on): Remove rmdir, unlink.
2080         (configure.ac): Remove AC_LIBOBJ of unlinkat.
2081         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
2082         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
2083         tests/test-rmdir.h, tests/test-unlink.h.
2084         (Depends-on): Remove unlinkdir.
2085         (Makefile.am): Remove rules for test-unlinkat.
2086         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
2087         of module 'openat'.
2088         * NEWS: Mention the change.
2089         * modules/linkat-tests (Depends-on): Add unlinkat.
2090         * modules/mkfifoat-tests (Depends-on): Likewise.
2091         * modules/readlinkat-tests (Depends-on): Likewise.
2092
2093 2011-11-02  Bruno Haible  <bruno@clisp.org>
2094
2095         New module 'fchmodat', split off from module 'openat'.
2096         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
2097         defined.
2098         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
2099         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
2100         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
2101         * modules/fchmodat: New file, extracted from modules/openat.
2102         * modules/openat (Files): Remove lib/fchmodat.c.
2103         (configure.ac): Remove AC_LIBOBJ of fchmodat.
2104         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
2105         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
2106         (Makefile.am): Remove rules for test-fchmodat.
2107         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
2108         of module 'openat'.
2109         * NEWS: Mention the change.
2110
2111 2011-11-02  Jim Meyering  <meyering@redhat.com>
2112
2113         putenv: indent #definition of "environ" to placate cppi
2114         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
2115
2116         gitlog-to-changelog: provide a ChangeLog-repair mechanism
2117         Git logs are often treated as immutable, because editing them
2118         changes the SHA1 checksums of all descendants.  Thus, errors in
2119         git logs tend to stay there forever.  However, when we generate
2120         a ChangeLog file -- typically for distribution -- from that git log,
2121         we can actually make corrections in the generated file.  The key
2122         lies in recording in machine-readable/applicable form the desired
2123         corrections.  See --help for description and an example.
2124         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
2125         (usage): Describe it; alphabetize option descriptions.
2126         (main): Honor the new option, carefully.
2127
2128 2011-11-01  Jim Meyering  <meyering@redhat.com>
2129
2130         gitlog-to-changelog: avoid an infloop
2131         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
2132         that ends up being empty.
2133
2134 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
2135
2136         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
2137         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
2138         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
2139         contains (possibly-quoted) backslashes.  This should avoid
2140         all-too-common shell bugs if COMPLICATED contains backslashes in
2141         the "wrong" places.  Reported by David Evans in
2142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
2143         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
2144         because we want ASCII ranges.  Is there some reason we don't use
2145         the C locale everywhere in this script?
2146         (func_module, top level): Avoid unwanted pathname expansion when
2147         $repo_url_prefix or $repo_url_suffix_repl contain shell
2148         metacharacters like '?' and '*'.
2149
2150 2011-11-01  Bruno Haible  <bruno@clisp.org>
2151
2152         fchownat: Improve description.
2153         * modules/fchownat (Description): Add link to function.
2154
2155 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
2156
2157         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
2158         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
2159         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
2160         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
2161
2162 2011-11-01  Bruno Haible  <bruno@clisp.org>
2163
2164         alignof: Avoid collision with stdalign module.
2165         * lib/alignof.h (alignof): Remove macro.
2166         * NEWS: Mention the change.
2167         Reported by Paul Eggert.
2168
2169 2011-11-01  Bruno Haible  <bruno@clisp.org>
2170
2171         New module 'fchownat', split off from module 'openat'.
2172         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
2173         defined.
2174         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
2175         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
2176         invoke gl_FUNC_FCHOWNAT.
2177         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
2178         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
2179         * modules/fchownat: New file, extracted from modules/openat.
2180         * modules/openat (Files): Remove lib/fchownat.c.
2181         (Depends-on): Remove lchown.
2182         (configure.ac): Remove AC_LIBOBJ of fchownat.
2183         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
2184         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
2185         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
2186         (Depends-on): Remove mgetgroups, usleep, stat-time.
2187         (configure.ac): Remove test for getegid.
2188         (Makefile.am): Remove rules for test-fchownat.
2189         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
2190         of module 'openat'.
2191         * NEWS: Mention the change.
2192
2193 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
2194
2195         stdalign: port better to MSVC and to Sun C 5.11
2196         This fixes some of the problems reported by Bruno Haible in
2197         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
2198         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
2199         shortcomings of MSVC and of Sun C 5.11.
2200         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
2201         around __declspec arg.
2202         * modules/stdalign-tests (Files): Add tests/macros.h.
2203         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
2204         Include macros.h, for ASSERT.
2205         (DECLARE_ALIGNED): Remove.
2206         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
2207         to catch bug), and to 1 if not (simplifies the rest of the code).
2208         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
2209         (CHECK_AUTO): Remove.
2210         (CHECK_ALIGNED): Check only the alignment of the static vars,
2211         since auto var alignment isn't supported by Sun C 5.11.
2212         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
2213         ASSERT failures are easier to diagnose.
2214
2215 2011-10-31  Bruno Haible  <bruno@clisp.org>
2216
2217         doc about some IRIX 5.3 problems.
2218         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
2219         on IRIX 5.3.
2220         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
2221         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
2222         5.3.
2223         * doc/posix-functions/grantpt.texi: Likewise.
2224         * doc/posix-functions/unlockpt.texi: Likewise.
2225         * doc/posix-functions/lgamma.texi: Likewise.
2226         * doc/posix-functions/nextafter.texi: Likewise.
2227         * doc/posix-functions/remainder.texi: Likewise.
2228         * doc/posix-functions/select.texi: Mention misplaced declaration on
2229         IRIX 5.3.
2230         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2231
2232 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
2233
2234         gitlog-to-changelog: fix git-log invocation.
2235         git-log mishandles date strings before 1970-01-01 UTC, and there is
2236         no use to specify --since=1970-01-01 by default anyway.
2237         * build-aux/gitlog-to-changelog: By default, when no --since option
2238         was given, do not specify explicit --since option to git-log.
2239
2240 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
2241
2242         gitlog-to-changelog: new option --append-dot.
2243         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
2244         first non-blank line of each commit message terminated with a dot.
2245
2246 2011-10-30  Bruno Haible  <bruno@clisp.org>
2247
2248         ffsl, ffsll: Avoid compilation error due to 'restrict'.
2249         * lib/ffsl.h: Include <config.h>.
2250         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
2251
2252 2011-10-30  Jim Meyering  <meyering@redhat.com>
2253
2254         GNUmakefile: reenable "make syntax-check" for most projects
2255         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
2256         build-aux variable", "syntax-check" would do nothing but succeed with
2257         the "No version control files detected..." diagnostic (unless you
2258         happened to override _build-aux via cfg.mk).
2259         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
2260         to precede inclusion of maint.mk.  Otherwise, these variables would
2261         be used undefined in any project that does not override the default.
2262
2263 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
2264
2265         gitlog-to-changelog: treat a message with only blank lines as empty.
2266         * build-aux/gitlog-to-changelog: Move the code that removes leading and
2267         trailing blank lines before the code that issues a warning about an
2268         empty commit message.
2269
2270 2011-10-30  Jim Meyering  <meyering@redhat.com>
2271
2272         test-parse-datetime.c: avoid new DST-related false positive test failure
2273         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
2274         based on the time/date we'll convert, not the current time.
2275         Otherwise, the moment we cross a DST boundary like today's in
2276         Europe, (CEST to CET), that offset ends up being one hour off.
2277
2278 2011-10-27  Bruno Haible  <bruno@clisp.org>
2279
2280         fstat: Tweak documentation.
2281         * modules/fstat (Description): More precise description.
2282
2283 2011-10-27  Bruno Haible  <bruno@clisp.org>
2284
2285         Update documentation regarding 'largefile' module.
2286         * doc/posix-functions/fstat.texi: Tweak wording.
2287         * doc/posix-functions/opendir.texi: Mention that the module fixes the
2288         problems with huge directories and/or small ino_t types.
2289         * doc/posix-functions/readdir.texi: Likewise.
2290         * doc/posix-functions/rewinddir.texi: Likewise.
2291
2292 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
2293
2294         maint.mk: don't maintain a second build-aux variable.
2295         * maint.mk (build_aux): Removed.  The maintainer-makefile module
2296         depends on GNUmakefile, which already maintains a cfg.mk
2297         overridable $(_build-aux) for projects with a non-standard
2298         build-aux directory location, although without the $(srcdir)
2299         prefix.  Use that variable consistently instead of introducing a
2300         second one.  Adjust all call sites.
2301
2302 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
2303
2304         Add stdalign module and use it in other modules.
2305         This is based on a previous proposal by Bruno Haible
2306         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
2307
2308         stdalign: new module
2309         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
2310         * modules/stdalign: New files.
2311         * MODULES.html.sh (c1x_core_properties): Add stdalign.
2312         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
2313
2314         stdalign-tests: new module
2315         * modules/stdalign-tests, tests/test-stdalign.c: New files.
2316
2317         argp: use stdalign
2318         * lib/argp-parse.c: Include <stdalign.h>.
2319         (alignof): Remove.
2320         * modules/argp (Depends-on): Add stdalign.
2321
2322         crypto libraries: use stdalign
2323         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
2324         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
2325         Do not include <stdlib.h> twice, in md4.c.
2326         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
2327         because we are accessing a pointer's bit-pattern, not a size.
2328         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
2329         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
2330         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2331         * modules/crypto/sha512: Likewise.
2332
2333         sys_socket: use stdalign, not alignof
2334         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
2335         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
2336
2337 2011-10-27  Bruno Haible  <bruno@clisp.org>
2338
2339         raise test: Avoid a test failure on Linux/MIPS.
2340         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
2341         because 99 is a valid signal on Linux/MIPS.
2342
2343 2011-10-27  Bruno Haible  <bruno@clisp.org>
2344
2345         nonblocking tests: Fix test failure on Linux/MIPS.
2346         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
2347         Set to 270000.
2348
2349 2011-10-27  Bruno Haible  <bruno@clisp.org>
2350
2351         utimensat: Work around problem on Linux/hppa.
2352         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
2353         values.
2354         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
2355
2356 2011-10-25  Jim Meyering  <meyering@redhat.com>
2357
2358         maint.mk: fix a bug in sc_prohibit_stddef_without_use
2359         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
2360         after symbols like NULL, size_t, etc.
2361         Reported by Alfred M. Szmidt.
2362
2363         maint.mk: exempt ENODATA from a syntax-check rule
2364         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
2365         from the sc_prohibit_always-defined_macros syntax-check rule.
2366         Add a comment.  See this for more details:
2367         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
2368
2369 2011-10-23  Jim Meyering  <meyering@redhat.com>
2370
2371         fts: close parent dir FD before returning from post-traversal fts_read
2372         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
2373         unlink A, even though an FD open on A remained.  This is suboptimal
2374         (holding a file descriptor open longer than needed), but otherwise not
2375         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
2376         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
2377         that represents a real problem: it causes the removal of A to fail
2378         with e.g., "rm: cannot remove `A': Device or resource busy"
2379
2380         fts visits each directory twice and keeps a cache (fts_fd_ring) of
2381         directory file descriptors.  After completing the final, FTS_DP,
2382         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
2383         cache, but then proceeded to add a new FD to it via the subsequent
2384         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
2385         final file descriptor would be closed only via fts_close's call to
2386         fd_ring_clear.  Now, it is usually closed earlier, via the final
2387         FTS_DP-returning fts_read call.
2388         * lib/fts.c (restore_initial_cwd): New function, converted from
2389         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
2390         Update callers.
2391         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
2392         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
2393
2394 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
2395             Bruno Haible  <bruno@clisp.org>
2396             Jim Meyering  <jim@meyering.net>
2397
2398         readme-release: improve safety of release prep instructions.
2399         * README-release: Don't git pull all branches when only master
2400         is needed for the release process.
2401         Run make maintainer-clean before changing trees and merging.
2402         Don't try to run ./configure right after git pull in case files
2403         that influence the bootstrap process have changed, move the
2404         ./configure step to after running ./bootstrap.
2405         Don't bootstrap "one last time"... it's the first time!
2406
2407 2011-10-22  Bruno Haible  <bruno@clisp.org>
2408
2409         errno, strerror-override: Support for MSVC 10.
2410         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
2411         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
2412         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
2413         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
2414         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
2415         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
2416         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
2417         Assign values compatible with MSVC 10.
2418         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
2419         New macros.
2420         (GNULIB_defined_EWINSOCK): New macro.
2421         * lib/strerror-override.c (strerror_override): Update accordingly.
2422         * lib/strerror-override.h: Likewise.
2423         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
2424         longer equal to the corresponding errno value.
2425         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2426
2427 2011-10-22  Bruno Haible  <bruno@clisp.org>
2428
2429         perror: Recognize when test program crashes.
2430         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
2431         strerror, set gl_cv_func_perror_works to no.
2432         Reported by Daniel Richard G. <skunk@iskunk.org>.
2433
2434         perror: Fix indentation.
2435         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
2436
2437 2011-10-22  Bruno Haible  <bruno@clisp.org>
2438
2439         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
2440         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
2441         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
2442         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
2443         functions, not as a macro.
2444         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
2445         macros.
2446         (isfinite, isinf, isnan, signbit): Check overloaded functions and
2447         absence of macro.
2448         Suggested by Eric Blake.
2449         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2450
2451 2011-10-21  Bruno Haible  <bruno@clisp.org>
2452
2453         relocatable-prog-wrapper: Don't leave object files behind.
2454         * build-aux/install-reloc: Re-synchronize list of .o files to be
2455         removed with list of compilation units.
2456
2457 2011-10-20  Bruno Haible  <bruno@clisp.org>
2458
2459         openpty, posix_openpt: Remove code duplication.
2460         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
2461         * lib/openpty.c: Include <stdlib.h>.
2462         (openpty): Use posix_openpt on all platforms except IRIX.
2463         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
2464
2465 2011-10-20  Bruno Haible  <bruno@clisp.org>
2466
2467         unlockpt: Detect invalid argument.
2468         * lib/unlockpt.c: Include <fcntl.h>.
2469         (unlockpt): Check whether fd is valid, using fcntl().
2470         * modules/unlockpt (Depends-on): Add fcntl-h.
2471
2472 2011-10-20  Bruno Haible  <bruno@clisp.org>
2473
2474         openpty: Avoid compilation error on AIX 6.1.
2475         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
2476
2477 2011-10-20  Bruno Haible  <bruno@clisp.org>
2478
2479         posix_openpt: Support for OpenBSD.
2480         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
2481         (posix_openpt) [OpenBSD]: New code.
2482         * lib/grantpt.c: Include <fcntl.h>.
2483         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
2484         * modules/grantpt (Depends-on): Add fcntl-h.
2485
2486 2011-10-20  Bruno Haible  <bruno@clisp.org>
2487
2488         posix_openpt test: Coding style.
2489         * tests/test-posix_openpt.c: Use GNU coding style.
2490
2491 2011-10-20  Bruno Haible  <bruno@clisp.org>
2492
2493         grantpt: Support --avoid=pt_chown.
2494         * modules/grantpt (Files): Add lib/pty-private.h.
2495
2496 2011-10-20  Bruno Haible  <bruno@clisp.org>
2497
2498         posix_openpt: Fix autoconf macro.
2499         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
2500         unneeded check for _getpty.
2501
2502 2011-10-20  Bruno Haible  <bruno@clisp.org>
2503
2504         openpty: Update comments.
2505         * lib/openpty.c: Add comments about Minix.
2506
2507 2011-10-19  Eric Blake  <eblake@redhat.com>
2508
2509         openpty: relax license
2510         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
2511
2512         pt_chown: use configmake to simplify build
2513         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
2514
2515         ptsname and others: relax license
2516         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
2517         * modules/unlockpt (License): Likewise.
2518         * modules/pt_chown (License): Likewise.
2519         * modules/ptsname (License): Likewise.
2520         * modules/ttyname_r (License): Likewise.
2521
2522 2011-10-19  Jim Meyering  <meyering@redhat.com>
2523
2524         posix_openpt: remove spurious #endif
2525         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
2526
2527 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
2528
2529         maint.mk: Respect $(build_aux) in web-manual rule.
2530         * top/maint.mk (web-manual): Find gen-announce script in user's
2531         $(build_aux) directory instead of hard-coding 'build-aux'.
2532
2533 2011-10-19  Bruno Haible  <bruno@clisp.org>
2534
2535         posix_openpt: Fix compilation error.
2536         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
2537         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
2538         Mention the openpty module as an alternative.
2539
2540 2011-10-19  Bruno Haible  <bruno@clisp.org>
2541
2542         Support for old NeXTstep 3.3 frexp().
2543         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
2544         execution time of the test to 5 seconds.
2545         Reported by Daniel Richard G. <skunk@iskunk.org>.
2546
2547 2011-10-19  Bruno Haible  <bruno@clisp.org>
2548
2549         Support for old NeXTstep 3.3 sed.
2550         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
2551         part, use /.../, not \|...|. Escape periods in the header file name.
2552         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
2553         Reported by Daniel Richard G. <skunk@iskunk.org>.
2554
2555 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
2556
2557         Support for old NeXTstep 3.3 gcc.
2558         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
2559         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
2560         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
2561         * lib/spawn.in.h (_Restrict_arr_): Likewise.
2562         * lib/regex.h (_Restrict_arr_): Likewise.
2563         * lib/regex_internal.h (re_token_t): Likewise.
2564         * lib/regexec.c (check_node_accept_bytes): Likewise.
2565         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
2566
2567 2011-10-18  Eric Blake  <eblake@redhat.com>
2568
2569         posix_openpt: new module
2570         * modules/posix_openpt: New module.
2571         * m4/posix_openpt.m4: New file.
2572         * lib/posix_openpt.c: Likewise.
2573         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
2574         (gl_STDLIB_H_DEFAULTS): Set defaults.
2575         * modules/stdlib (Makefile.am): Substitute macros.
2576         * lib/stdlib.in.h (posix_openpt): Declare.
2577         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
2578         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
2579         * modules/posix_openpt-tests: New test module.
2580         * tests/test-posix_openpt.c: New test.
2581
2582 2011-10-15  Bruno Haible  <bruno@clisp.org>
2583
2584         xstrtoll: Fix compilation failure.
2585         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
2586         from lib/strtol.c.
2587         * doc/posix-headers/limits.texi: Mention missing numerical limits on
2588         some platforms.
2589         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2590
2591 2011-10-15  Bruno Haible  <bruno@clisp.org>
2592
2593         vasnprintf: Optimize bit search operation.
2594         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
2595         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
2596         gl_DOUBLE_EXPONENT_LOCATION.
2597         * modules/vasnprintf (Files): Add m4/exponentd.m4.
2598         * modules/unistdio/u8-vasnprintf (Files): Likewise.
2599         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
2600         * modules/unistdio/u16-vasnprintf (Files): Likewise.
2601         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
2602         * modules/unistdio/u32-vasnprintf (Files): Likewise.
2603         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
2604         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
2605         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
2606
2607 2011-10-15  Bruno Haible  <bruno@clisp.org>
2608
2609         vasnprintf: Fix comments.
2610         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
2611
2612 2011-10-14  Bruno Haible  <bruno@clisp.org>
2613
2614         Tests for module 'integer_length_ll'.
2615         * modules/integer_length_ll-tests: New file.
2616         * tests/test-integer_length_ll.c: New file.
2617
2618         New module 'integer_length_ll'.
2619         * lib/integer_length_ll.c: New file.
2620         * modules/integer_length_ll: New file.
2621
2622 2011-10-14  Bruno Haible  <bruno@clisp.org>
2623
2624         Tests for module 'integer_length_l'.
2625         * modules/integer_length_l-tests: New file.
2626         * tests/test-integer_length_l.c: New file.
2627
2628         New module 'integer_length_l'.
2629         * lib/integer_length_l.c: New file.
2630         * modules/integer_length_l: New file.
2631
2632 2011-10-14  Bruno Haible  <bruno@clisp.org>
2633
2634         Tests for module 'integer_length'.
2635         * modules/integer_length-tests: New file.
2636         * tests/test-integer_length.c: New file.
2637
2638         New module 'integer_length'.
2639         * lib/integer_length.h: New file.
2640         * lib/integer_length.c: New file.
2641         * modules/integer_length: New file.
2642
2643 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
2644
2645         popen: Fix dependency conditions.
2646         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
2647
2648 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
2649
2650         perror: Fix autoconf test.
2651         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
2652         <stdlib.h> and <string.h>.
2653
2654 2011-10-14  Bruno Haible  <bruno@clisp.org>
2655
2656         ffsl: Optimize on 64-bit platforms.
2657         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
2658         unrolling.
2659
2660 2011-10-13  Bruno Haible  <bruno@clisp.org>
2661
2662         ffsl: Optimize on 32-bit platforms.
2663         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
2664         use ffs() without a loop.
2665
2666         ffsl, ffsll: Optimize for GCC.
2667         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
2668         * lib/ffsl.c (GCC_BUILTIN): New macro.
2669         * lib/ffsll.c (GCC_BUILTIN): Likewise.
2670
2671 2011-10-13  Bruno Haible  <bruno@clisp.org>
2672
2673         ffs, bcopy, memset: Support symbol renaming via config.h.
2674         * lib/ffs.c: Include <config.h>.
2675         * lib/bcopy.c: Likewise.
2676         * lib/memset.c: Likewise.
2677
2678 2011-10-10  Bruno Haible  <bruno@clisp.org>
2679
2680         atanl: Simplify for platforms where 'long double' == 'double'.
2681         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
2682         alternative implementation.
2683         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2684         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2685         * modules/atanl (Depends-on): Add atan. Update conditions.
2686
2687 2011-10-10  Bruno Haible  <bruno@clisp.org>
2688
2689         acosl: Simplify for platforms where 'long double' == 'double'.
2690         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
2691         alternative implementation.
2692         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2693         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2694         * modules/acosl (Depends-on): Add acos. Update conditions.
2695
2696 2011-10-10  Bruno Haible  <bruno@clisp.org>
2697
2698         asinl: Simplify for platforms where 'long double' == 'double'.
2699         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
2700         alternative implementation.
2701         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2702         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2703         * modules/asinl (Depends-on): Add asin. Update conditions.
2704
2705 2011-10-10  Bruno Haible  <bruno@clisp.org>
2706
2707         tanl: Simplify for platforms where 'long double' == 'double'.
2708         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
2709         implementation.
2710         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2711         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2712         * modules/tanl (Depends-on): Add tan. Update conditions.
2713         (configure.ac): Don't compile trigl.c if
2714         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2715
2716 2011-10-10  Bruno Haible  <bruno@clisp.org>
2717
2718         cosl: Simplify for platforms where 'long double' == 'double'.
2719         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
2720         implementation.
2721         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2722         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2723         * modules/cosl (Depends-on): Add cos. Update conditions.
2724         (configure.ac): Don't compile sincosl.c and trigl.c if
2725         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2726
2727 2011-10-10  Bruno Haible  <bruno@clisp.org>
2728
2729         sinl: Simplify for platforms where 'long double' == 'double'.
2730         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
2731         implementation.
2732         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2733         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2734         * modules/sinl (Depends-on): Add sin. Update conditions.
2735         (configure.ac): Don't compile sincosl.c and trigl.c if
2736         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2737
2738 2011-10-10  Bruno Haible  <bruno@clisp.org>
2739
2740         logl: Simplify for platforms where 'long double' == 'double'.
2741         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
2742         implementation.
2743         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2744         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2745         * modules/logl (Depends-on): Add log. Update conditions.
2746
2747 2011-10-10  Bruno Haible  <bruno@clisp.org>
2748
2749         expl: Simplify for platforms where 'long double' == 'double'.
2750         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
2751         implementation.
2752         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2753         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2754         * modules/expl (Depends-on): Add exp. Update conditions.
2755
2756 2011-10-10  Bruno Haible  <bruno@clisp.org>
2757
2758         sqrtl: Simplify for platforms where 'long double' == 'double'.
2759         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
2760         alternative implementation.
2761         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2762         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2763         * modules/sqrtl (Depends-on): Update conditions.
2764
2765 2011-10-10  Bruno Haible  <bruno@clisp.org>
2766
2767         ldexpl: Simplify for platforms where 'long double' == 'double'.
2768         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
2769         alternative implementation.
2770         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2771         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2772         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
2773
2774 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
2775
2776         ffsll: set correct witness
2777         * modules/ffsll (configure.ac): Fix typo.
2778
2779 2011-10-10  Bruno Haible  <bruno@clisp.org>
2780
2781         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
2782         * lib/printf-frexpl.c: Include <config.h>.
2783         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2784         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
2785         second time.
2786         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
2787         gl_LONG_DOUBLE_VS_DOUBLE.
2788         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
2789         conditions.
2790
2791 2011-10-10  Bruno Haible  <bruno@clisp.org>
2792
2793         frexpl: Simplify for platforms where 'long double' == 'double'.
2794         * lib/frexpl.c: Include <config.h>.
2795         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2796         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2797         time.
2798         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2799         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2800         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
2801         * modules/frexpl (Depends-on): Add frexp. Update conditions.
2802         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
2803         conditions.
2804
2805 2011-10-10  Jim Meyering  <meyering@redhat.com>
2806
2807         test-renameat: don't leave behind a temporary file
2808         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
2809           ERROR: files left in build directory after distclean:
2810           ./gltests/test-renameat.too
2811           make[1]: *** [distcleancheck] Error 1
2812         Reported by Tom G. Christensen.
2813
2814 2011-10-09  Bruno Haible  <bruno@clisp.org>
2815
2816         rint: Determine RINT_LIBM correctly on AIX 7.
2817         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
2818         directly, not only through a function pointer. Also accept an optional
2819         4th argument with extra code.
2820         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
2821         rintf() call by gcc when optimizing.
2822
2823         mathfunc.m4: Refactor.
2824         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
2825         m4 variable.
2826
2827 2011-10-09  Bruno Haible  <bruno@clisp.org>
2828
2829         rintl: Simplify for platforms where 'long double' == 'double'.
2830         * lib/rintl.c: Include <config.h>.
2831         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2832         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2833         time.
2834         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2835         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2836         * modules/rintl (Depends-on): Add rint. Update conditions.
2837
2838 2011-10-09  Bruno Haible  <bruno@clisp.org>
2839
2840         roundl: Simplify for platforms where 'long double' == 'double'.
2841         * lib/roundl.c: Include <config.h>.
2842         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2843         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2844         time.
2845         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2846         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2847         * modules/roundl (Depends-on): Add round. Update conditions.
2848
2849 2011-10-09  Bruno Haible  <bruno@clisp.org>
2850
2851         truncl: Simplify for platforms where 'long double' == 'double'.
2852         * lib/truncl.c: Include <config.h>.
2853         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2854         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2855         time.
2856         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2857         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2858         * modules/truncl (Depends-on): Add trunc. Update conditions.
2859
2860 2011-10-09  Bruno Haible  <bruno@clisp.org>
2861
2862         ceill: Simplify for platforms where 'long double' == 'double'.
2863         * lib/ceill.c: Include <config.h>.
2864         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2865         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2866         time.
2867         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2868         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2869         * modules/ceill (Depends-on): Add ceil. Update conditions.
2870
2871 2011-10-09  Bruno Haible  <bruno@clisp.org>
2872
2873         floorl: Simplify for platforms where 'long double' == 'double'.
2874         * lib/floorl.c: Include <config.h>.
2875         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
2876         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
2877         time.
2878         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2879         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2880         * modules/floorl (Depends-on): Add floor. Update conditions.
2881
2882 2011-10-09  Bruno Haible  <bruno@clisp.org>
2883
2884         rint: Fix ordering constraints.
2885         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
2886         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
2887         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
2888
2889 2011-10-09  Bruno Haible  <bruno@clisp.org>
2890
2891         copysignl: Simplify for platforms where 'long double' == 'double'.
2892         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
2893         alternative.
2894         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
2895         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
2896         * modules/copysignl (Depends-on): Add copysign. Update conditions.
2897
2898 2011-10-09  Bruno Haible  <bruno@clisp.org>
2899
2900         Tests for module 'rintl'.
2901         * modules/rintl-tests: New file.
2902         * tests/test-rintl.c: New file.
2903
2904         New module 'rintl'.
2905         * lib/math.in.h (rintl): New declaration.
2906         * lib/rintl.c: New file.
2907         * m4/rintl.m4: New file.
2908         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
2909         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
2910         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
2911         * modules/rintl: New file.
2912         * tests/test-math-c++.cc: Check the declaration of rintl.
2913         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
2914         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
2915         * doc/posix-functions/rintl.texi: Mention the new module.
2916
2917 2011-10-09  Bruno Haible  <bruno@clisp.org>
2918
2919         Tests for module 'rintf'.
2920         * modules/rintf-tests: New file.
2921         * tests/test-rintf.c: New file.
2922
2923         New module 'rintf'.
2924         * lib/math.in.h (rintf): New declaration.
2925         * lib/rintf.c: New file.
2926         * m4/rintf.m4: New file.
2927         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
2928         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
2929         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
2930         * modules/rintf: New file.
2931         * tests/test-math-c++.cc: Check the declaration of rintf.
2932         * doc/posix-functions/rintf.texi: Mention the new module.
2933
2934 2011-10-09  Bruno Haible  <bruno@clisp.org>
2935
2936         rint: Support for MSVC.
2937         * lib/math.in.h (rint): New declaration.
2938         * lib/rint.c: New file.
2939         * m4/rint.m4: New file.
2940         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
2941         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
2942         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
2943         * modules/rint (Description): Fix.
2944         (Files): Add lib/rint.c, m4/rint.m4.
2945         (Depends-on): Add math.
2946         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
2947         gl_MATH_MODULE_INDICATOR.
2948         * tests/test-math-c++.cc: Check the declaration of rint.
2949         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
2950         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
2951         * doc/posix-functions/rint.texi: Mention the replacement provided by
2952         the module.
2953
2954         rint tests: More tests.
2955         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
2956         minus-zero.h, infinity.h, nan.h.
2957         (main): Skip the test if the current rounding mode is not standard. Add
2958         tests for negative numbers, minus zero, infinity, NaN.
2959         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
2960         tests/nan.h.
2961         (Depends-on): Add isnand-nolibm.
2962
2963 2011-10-09  Bruno Haible  <bruno@clisp.org>
2964
2965         Tests for module 'copysignl'.
2966         * modules/copysignl-tests: New file.
2967         * tests/test-copysignl.c: New file.
2968
2969         New module 'copysignl'.
2970         * lib/math.in.h (copysignl): New declaration.
2971         * lib/copysignl.c: New file.
2972         * m4/copysignl.m4: New file.
2973         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
2974         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
2975         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
2976         HAVE_COPYSIGNL.
2977         * modules/copysignl: New file.
2978         * tests/test-math-c++.cc: Check the declaration of copysignl.
2979         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
2980         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
2981         * doc/posix-functions/copysignl.texi: Mention the new module.
2982
2983 2011-10-09  Bruno Haible  <bruno@clisp.org>
2984
2985         Tests for module 'copysignf'.
2986         * modules/copysignf-tests: New file.
2987         * tests/test-copysignf.c: New file.
2988
2989         New module 'copysignf'.
2990         * lib/math.in.h (copysignf): New declaration.
2991         * lib/copysignf.c: New file.
2992         * m4/copysignf.m4: New file.
2993         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
2994         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
2995         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
2996         HAVE_COPYSIGNF.
2997         * modules/copysignf: New file.
2998         * tests/test-math-c++.cc: Check the declaration of copysignf.
2999         * doc/posix-functions/copysignf.texi: Mention the new module.
3000
3001 2011-10-09  Bruno Haible  <bruno@clisp.org>
3002
3003         Ensure that HAVE_* variables are set to 1 before they are set to 0.
3004         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
3005         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
3006         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
3007         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
3008         gl_SIGNAL_H_DEFAULTS.
3009
3010 2011-10-09  Bruno Haible  <bruno@clisp.org>
3011
3012         poll: Make macro safer.
3013         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
3014         ac_cv_header_poll_h is not set.
3015
3016 2011-10-09  Bruno Haible  <bruno@clisp.org>
3017
3018         copysign: Provide replacement.
3019         * lib/math.in.h (copysign): New declaration.
3020         * lib/copysign.c: New file.
3021         * m4/copysign.m4: New file.
3022         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
3023         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
3024         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
3025         HAVE_COPYSIGN.
3026         * modules/copysign (Description): Clarify.
3027         (Files): Add lib/copysign.c, m4/copysign.m4.
3028         (Depends-on): Add math, signbit.
3029         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
3030         gl_MATH_MODULE_INDICATOR.
3031         * tests/test-math-c++.cc: Check the declaration of copysign.
3032         * doc/posix-functions/copysign.texi: Mention the effects of the module
3033         on Minix and MSVC.
3034
3035 2011-10-09  Bruno Haible  <bruno@clisp.org>
3036
3037         isinf: Ensure macro on AIX 5.1.
3038         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
3039         macro.
3040         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
3041
3042 2011-10-09  Bruno Haible  <bruno@clisp.org>
3043
3044         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
3045         * modules/snprintf-posix-tests (configure.ac): Require
3046         gl_LONG_DOUBLE_VS_DOUBLE.
3047         * modules/sprintf-posix-tests (configure.ac): Likewise.
3048         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
3049         * modules/vasprintf-posix-tests (configure.ac): Likewise.
3050         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
3051         * modules/vsprintf-posix-tests (configure.ac): Likewise.
3052         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
3053         tests on platforms where 'long double' is the same as 'double'.
3054         * tests/test-sprintf-posix.h (test_function): Likewise.
3055         * tests/test-vasnprintf-posix.c (test_function): Likewise.
3056         * tests/test-vasprintf-posix.c (test_function): Likewise.
3057
3058         *printf: Fix for platforms where 'long double' == 'double'.
3059         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
3060         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
3061         * modules/dprintf-posix (Files): Add m4/math_h.m4.
3062         * modules/fprintf-posix (Files): Likewise.
3063         * modules/obstack-printf-posix (Files): Likewise.
3064         * modules/snprintf-posix (Files): Likewise.
3065         * modules/sprintf-posix (Files): Likewise.
3066         * modules/vasnprintf (Files): Likewise.
3067         * modules/vasnprintf-posix (Files): Likewise.
3068         * modules/vasprintf-posix (Files): Likewise.
3069         * modules/vdprintf-posix (Files): Likewise.
3070         * modules/vfprintf-posix (Files): Likewise.
3071         * modules/vsnprintf-posix (Files): Likewise.
3072         * modules/vsprintf-posix (Files): Likewise.
3073         * modules/unistdio/u8-vasnprintf (Files): Likewise.
3074         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
3075         * modules/unistdio/u16-vasnprintf (Files): Likewise.
3076         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
3077         * modules/unistdio/u32-vasnprintf (Files): Likewise.
3078         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
3079         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
3080
3081         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
3082         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
3083         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
3084         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
3085         'long double'.
3086         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
3087
3088         isinf: Fix for platforms where 'long double' == 'double'.
3089         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
3090         Don't blindly assume 80-bit 'long double'.
3091
3092         isfinite: Fix for platforms where 'long double' == 'double'.
3093         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
3094         Don't blindly assume 80-bit 'long double'.
3095
3096         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
3097         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
3098         * modules/isfinite-tests (configure.ac): Require
3099         gl_LONG_DOUBLE_VS_DOUBLE.
3100         * modules/isinf-tests (configure.ac): Likewise.
3101         * modules/isnan-tests (configure.ac): Likewise.
3102         * modules/isnanl-tests (configure.ac): Likewise.
3103         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
3104         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
3105         tests on platforms where 'long double' is the same as 'double'.
3106         * tests/test-isinf.c (test_isinfl): Likewise.
3107         * tests/test-isnan.c (test_long_double): Likewise.
3108         * tests/test-isnanl.h (main): Likewise.
3109
3110 2011-10-08  Bruno Haible  <bruno@clisp.org>
3111
3112         Tests for module 'tanhf'.
3113         * modules/tanhf-tests: New file.
3114         * tests/test-tanhf.c: New file.
3115
3116         New module 'tanhf'.
3117         * lib/math.in.h (tanhf): New declaration.
3118         * lib/tanhf.c: New file.
3119         * m4/tanhf.m4: New file.
3120         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
3121         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
3122         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
3123         * modules/tanhf: New file.
3124         * tests/test-math-c++.cc: Check the declaration of tanhf.
3125         * doc/posix-functions/tanhf.texi: Mention the new module.
3126
3127         tanh: Use a .m4 file.
3128         * m4/tanh.m4: New file.
3129         * modules/tanh (Files): Add it.
3130         (configure.ac): Just invoke gl_FUNC_TANH.
3131
3132 2011-10-08  Bruno Haible  <bruno@clisp.org>
3133
3134         Tests for module 'coshf'.
3135         * modules/coshf-tests: New file.
3136         * tests/test-coshf.c: New file.
3137
3138         New module 'coshf'.
3139         * lib/math.in.h (coshf): New declaration.
3140         * lib/coshf.c: New file.
3141         * m4/coshf.m4: New file.
3142         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
3143         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
3144         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
3145         * modules/coshf: New file.
3146         * tests/test-math-c++.cc: Check the declaration of coshf.
3147         * doc/posix-functions/coshf.texi: Mention the new module.
3148
3149         cosh: Use a .m4 file.
3150         * m4/cosh.m4: New file.
3151         * modules/cosh (Files): Add it.
3152         (configure.ac): Just invoke gl_FUNC_COSH.
3153
3154 2011-10-08  Bruno Haible  <bruno@clisp.org>
3155
3156         Tests for module 'sinhf'.
3157         * modules/sinhf-tests: New file.
3158         * tests/test-sinhf.c: New file.
3159
3160         New module 'sinhf'.
3161         * lib/math.in.h (sinhf): New declaration.
3162         * lib/sinhf.c: New file.
3163         * m4/sinhf.m4: New file.
3164         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
3165         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
3166         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
3167         * modules/sinhf: New file.
3168         * tests/test-math-c++.cc: Check the declaration of sinhf.
3169         * doc/posix-functions/sinhf.texi: Mention the new module.
3170
3171         sinh: Use a .m4 file.
3172         * m4/sinh.m4: New file.
3173         * modules/sinh (Files): Add it.
3174         (configure.ac): Just invoke gl_FUNC_SINH.
3175
3176 2011-10-08  Bruno Haible  <bruno@clisp.org>
3177
3178         Tests for module 'atan2f'.
3179         * modules/atan2f-tests: New file.
3180         * tests/test-atan2f.c: New file.
3181
3182         New module 'atan2f'.
3183         * lib/math.in.h (atan2f): New declaration.
3184         * lib/atan2f.c: New file.
3185         * m4/atan2f.m4: New file.
3186         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
3187         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
3188         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
3189         * modules/atan2f: New file.
3190         * tests/test-math-c++.cc: Check the declaration of atan2f.
3191         * doc/posix-functions/atan2f.texi: Mention the new module.
3192
3193         atan2: Use a .m4 file.
3194         * m4/atan2.m4: New file.
3195         * modules/atan2 (Files): Add it.
3196         (configure.ac): Just invoke gl_FUNC_ATAN2.
3197
3198 2011-10-08  Bruno Haible  <bruno@clisp.org>
3199
3200         Tests for module 'atanf'.
3201         * modules/atanf-tests: New file.
3202         * tests/test-atanf.c: New file.
3203
3204         New module 'atanf'.
3205         * lib/math.in.h (atanf): New declaration.
3206         * lib/atanf.c: New file.
3207         * m4/atanf.m4: New file.
3208         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
3209         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
3210         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
3211         * modules/atanf: New file.
3212         * tests/test-math-c++.cc: Check the declaration of atanf.
3213         * doc/posix-functions/atanf.texi: Mention the new module.
3214
3215         atan: Use a .m4 file.
3216         * m4/atan.m4: New file.
3217         * modules/atan (Files): Add it.
3218         (configure.ac): Just invoke gl_FUNC_ATAN.
3219
3220 2011-10-08  Bruno Haible  <bruno@clisp.org>
3221
3222         Tests for module 'acosf'.
3223         * modules/acosf-tests: New file.
3224         * tests/test-acosf.c: New file.
3225
3226         New module 'acosf'.
3227         * lib/math.in.h (acosf): New declaration.
3228         * lib/acosf.c: New file.
3229         * m4/acosf.m4: New file.
3230         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
3231         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
3232         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
3233         * modules/acosf: New file.
3234         * tests/test-math-c++.cc: Check the declaration of acosf.
3235         * doc/posix-functions/acosf.texi: Mention the new module.
3236
3237         acos: Use a .m4 file.
3238         * m4/acos.m4: New file.
3239         * modules/acos (Files): Add it.
3240         (configure.ac): Just invoke gl_FUNC_ACOS.
3241
3242 2011-10-08  Bruno Haible  <bruno@clisp.org>
3243
3244         Tests for module 'asinf'.
3245         * modules/asinf-tests: New file.
3246         * tests/test-asinf.c: New file.
3247
3248         New module 'asinf'.
3249         * lib/math.in.h (asinf): New declaration.
3250         * lib/asinf.c: New file.
3251         * m4/asinf.m4: New file.
3252         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
3253         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
3254         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
3255         * modules/asinf: New file.
3256         * tests/test-math-c++.cc: Check the declaration of asinf.
3257         * doc/posix-functions/asinf.texi: Mention the new module.
3258
3259         asin: Use a .m4 file.
3260         * m4/asin.m4: New file.
3261         * modules/asin (Files): Add it.
3262         (configure.ac): Just invoke gl_FUNC_ASIN.
3263
3264 2011-10-08  Bruno Haible  <bruno@clisp.org>
3265
3266         Tests for module 'tanf'.
3267         * modules/tanf-tests: New file.
3268         * tests/test-tanf.c: New file.
3269
3270         New module 'tanf'.
3271         * lib/math.in.h (tanf): New declaration.
3272         * lib/tanf.c: New file.
3273         * m4/tanf.m4: New file.
3274         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
3275         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
3276         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
3277         * modules/tanf: New file.
3278         * tests/test-math-c++.cc: Check the declaration of tanf.
3279         * doc/posix-functions/tanf.texi: Mention the new module.
3280
3281         tan: Use a .m4 file.
3282         * m4/tan.m4: New file.
3283         * modules/tan (Files): Add it.
3284         (configure.ac): Just invoke gl_FUNC_TAN.
3285
3286 2011-10-08  Bruno Haible  <bruno@clisp.org>
3287
3288         Tests for module 'cosf'.
3289         * modules/cosf-tests: New file.
3290         * tests/test-cosf.c: New file.
3291
3292         New module 'cosf'.
3293         * lib/math.in.h (cosf): New declaration.
3294         * lib/cosf.c: New file.
3295         * m4/cosf.m4: New file.
3296         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
3297         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
3298         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
3299         * modules/cosf: New file.
3300         * tests/test-math-c++.cc: Check the declaration of cosf.
3301         * doc/posix-functions/cosf.texi: Mention the new module.
3302
3303         cos: Use a .m4 file.
3304         * m4/cos.m4: New file.
3305         * modules/cos (Files): Add it.
3306         (configure.ac): Just invoke gl_FUNC_COS.
3307
3308 2011-10-08  Bruno Haible  <bruno@clisp.org>
3309
3310         Tests for module 'sinf'.
3311         * modules/sinf-tests: New file.
3312         * tests/test-sinf.c: New file.
3313
3314         New module 'sinf'.
3315         * lib/math.in.h (sinf): New declaration.
3316         * lib/sinf.c: New file.
3317         * m4/sinf.m4: New file.
3318         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
3319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
3320         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
3321         * modules/sinf: New file.
3322         * tests/test-math-c++.cc: Check the declaration of sinf.
3323         * doc/posix-functions/sinf.texi: Mention the new module.
3324
3325         sin: Use a .m4 file.
3326         * m4/sin.m4: New file.
3327         * modules/sin (Files): Add it.
3328         (configure.ac): Just invoke gl_FUNC_SIN.
3329
3330 2011-10-08  Bruno Haible  <bruno@clisp.org>
3331
3332         Tests for module 'powf'.
3333         * modules/powf-tests: New file.
3334         * tests/test-powf.c: New file.
3335
3336         New module 'powf'.
3337         * lib/math.in.h (powf): New declaration.
3338         * lib/powf.c: New file.
3339         * m4/powf.m4: New file.
3340         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
3341         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
3342         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
3343         * modules/powf: New file.
3344         * tests/test-math-c++.cc: Check the declaration of powf.
3345         * doc/posix-functions/powf.texi: Mention the new module.
3346
3347         pow: Use a .m4 file.
3348         * m4/pow.m4: New file.
3349         * modules/pow (Files): Add it.
3350         (configure.ac): Just invoke gl_FUNC_POW.
3351
3352 2011-10-08  Bruno Haible  <bruno@clisp.org>
3353
3354         Tests for module 'log10f'.
3355         * modules/log10f-tests: New file.
3356         * tests/test-log10f.c: New file.
3357
3358         New module 'log10f'.
3359         * lib/math.in.h (log10f): New declaration.
3360         * lib/log10f.c: New file.
3361         * m4/log10f.m4: New file.
3362         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
3363         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
3364         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
3365         * modules/log10f: New file.
3366         * tests/test-math-c++.cc: Check the declaration of log10f.
3367         * doc/posix-functions/log10f.texi: Mention the new module.
3368
3369         log10: Use a .m4 file.
3370         * m4/log10.m4: New file.
3371         * modules/log10 (Files): Add it.
3372         (configure.ac): Just invoke gl_FUNC_LOG10.
3373
3374 2011-10-08  Bruno Haible  <bruno@clisp.org>
3375
3376         Tests for module 'logf'.
3377         * modules/logf-tests: New file.
3378         * tests/test-logf.c: New file.
3379
3380         New module 'logf'.
3381         * lib/math.in.h (logf): New declaration.
3382         * lib/logf.c: New file.
3383         * m4/logf.m4: New file.
3384         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
3385         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
3386         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
3387         * modules/logf: New file.
3388         * tests/test-math-c++.cc: Check the declaration of logf.
3389         * doc/posix-functions/logf.texi: Mention the new module.
3390
3391         log: Use a .m4 file.
3392         * m4/log.m4: New file.
3393         * modules/log (Files): Add it.
3394         (configure.ac): Just invoke gl_FUNC_LOG.
3395
3396 2011-10-08  Bruno Haible  <bruno@clisp.org>
3397
3398         Tests for module 'expf'.
3399         * modules/expf-tests: New file.
3400         * tests/test-expf.c: New file.
3401
3402         New module 'expf'.
3403         * lib/math.in.h (expf): New declaration.
3404         * lib/expf.c: New file.
3405         * m4/expf.m4: New file.
3406         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
3407         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
3408         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
3409         * modules/expf: New file.
3410         * tests/test-math-c++.cc: Check the declaration of expf.
3411         * doc/posix-functions/expf.texi: Mention the new module.
3412
3413         exp: Use a .m4 file.
3414         * m4/exp.m4: New file.
3415         * modules/exp (Files): Add it.
3416         (configure.ac): Just invoke gl_FUNC_EXP.
3417
3418 2011-10-08  Bruno Haible  <bruno@clisp.org>
3419
3420         Tests for module 'sqrtf'.
3421         * modules/sqrtf-tests: New file.
3422         * tests/test-sqrtf.c: New file.
3423
3424         New module 'sqrtf'.
3425         * lib/math.in.h (sqrtf): New declaration.
3426         * lib/sqrtf.c: New file.
3427         * m4/sqrtf.m4: New file.
3428         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
3429         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
3430         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
3431         * modules/sqrtf: New file.
3432         * tests/test-math-c++.cc: Check the declaration of sqrtf.
3433         * doc/posix-functions/sqrtf.texi: Mention the new module.
3434
3435 2011-10-08  Bruno Haible  <bruno@clisp.org>
3436
3437         Tests: Avoid link failures w.r.t. libintl.
3438         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
3439         $(LIBINTL).
3440         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
3441         $(LIBINTL).
3442         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
3443         against $(LIBINTL).
3444         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
3445         $(LIBINTL).
3446         * modules/openat-tests (Makefile.am): Link test-fchmodat against
3447         $(LIBINTL).
3448         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
3449
3450 2011-10-08  Bruno Haible  <bruno@clisp.org>
3451
3452         pow tests: Defeat compiler optimizations.
3453         * tests/test-pow.c (main): Assign arguments to x and y before use.
3454
3455 2011-10-08  Bruno Haible  <bruno@clisp.org>
3456
3457         gnulib-tool: Improve last commit.
3458         * gnulib-tool (func_modules_transitive_closure): Simplify code.
3459         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
3460         ignore dependencies that are not among the modules list.
3461
3462 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
3463
3464         gnulib-tool: don't follow dependencies to avoided modules
3465         This fixes a bug that is related to the previous one.
3466         * gnulib-tool (func_modules_transitive_closure)
3467         (func_emit_autoconf_snippets):
3468         Check whether a dependency is acceptable before using it.
3469         (--extract-dependencies): Report an error if --avoid is also used,
3470         since this combination of options is not yet supported.
3471
3472         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
3473         Problem reported by Peter Dyballa in
3474         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
3475         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
3476         when echoing "$condition".
3477
3478 2011-10-07  Bruno Haible  <bruno@clisp.org>
3479
3480         Fix documentation about math functions on MacOS X.
3481         * doc/posix-functions/exp2.texi: Don't say the function is missing on
3482         MacOS X 10.5.
3483         * doc/posix-functions/fdim.texi: Likewise.
3484         * doc/posix-functions/feclearexcept.texi: Likewise.
3485         * doc/posix-functions/fegetenv.texi: Likewise.
3486         * doc/posix-functions/fegetround.texi: Likewise.
3487         * doc/posix-functions/feholdexcept.texi: Likewise.
3488         * doc/posix-functions/feraiseexcept.texi: Likewise.
3489         * doc/posix-functions/fesetenv.texi: Likewise.
3490         * doc/posix-functions/fesetround.texi: Likewise.
3491         * doc/posix-functions/fetestexcept.texi: Likewise.
3492         * doc/posix-functions/feupdateenv.texi: Likewise.
3493         * doc/posix-functions/fmax.texi: Likewise.
3494         * doc/posix-functions/fmin.texi: Likewise.
3495         * doc/posix-functions/log2.texi: Likewise.
3496         * doc/posix-functions/modff.texi: Likewise.
3497         * doc/posix-functions/nan.texi: Likewise.
3498         * doc/posix-functions/nanf.texi: Likewise.
3499         * doc/posix-functions/nextafterf.texi: Likewise.
3500         * doc/posix-functions/remquo.texi: Likewise.
3501
3502 2011-10-07  Bruno Haible  <bruno@clisp.org>
3503
3504         modff: Drop assumption about library that defines modff.
3505         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
3506         AC_CHECK_FUNCS.
3507         * modules/modff (Files): Add m4/mathfunc.m4.
3508
3509 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
3510
3511         raise tests: Avoid a GCC warning.
3512         * tests/test-raise.c (handler): Use _Noreturn.
3513
3514 2011-10-07  Bruno Haible  <bruno@clisp.org>
3515
3516         Tests for module 'ldexpf'.
3517         * modules/ldexpf-tests: New file.
3518         * tests/test-ldexpf.c: New file.
3519
3520         New module 'ldexpf'.
3521         * lib/math.in.h (ldexpf): New declaration.
3522         * lib/ldexpf.c: New file.
3523         * m4/ldexpf.m4: New file.
3524         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
3525         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
3526         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
3527         * modules/ldexpf: New file.
3528         * tests/test-math-c++.cc: Check the declaration of ldexpf.
3529         * doc/posix-functions/ldexpf.texi: Mention the new module.
3530
3531 2011-10-06  Bruno Haible  <bruno@clisp.org>
3532
3533         frexpf: Work around problems on IRIX and mingw.
3534         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
3535         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
3536         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
3537         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
3538         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
3539         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
3540         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
3541
3542 2011-10-06  Bruno Haible  <bruno@clisp.org>
3543
3544         fabsf: Drop assumption about library that defines fabsf.
3545         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
3546         AC_CHECK_FUNCS.
3547         * modules/fabsf (Files): Add m4/mathfunc.m4.
3548
3549 2011-10-06  Bruno Haible  <bruno@clisp.org>
3550
3551         frexpf: Drop assumption about library that defines frexpf.
3552         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
3553         'int *', 'float *', 'long double *', 'float', 'long double'.
3554         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
3555         AC_CHECK_FUNCS.
3556         * modules/frexpf (Files): Add m4/mathfunc.m4.
3557
3558         Tests for module 'frexpf'.
3559         * modules/frexpf-tests: New file.
3560         * tests/test-frexpf.c: New file.
3561
3562         New module 'frexpf'.
3563         * lib/math.in.h (frexpf): New declaration.
3564         * lib/frexpf.c: New file.
3565         * m4/frexpf.m4: New file.
3566         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
3567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
3568         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
3569         * modules/frexpf: New file.
3570         * tests/test-math-c++.cc: Check the declaration of frexpf.
3571         * doc/posix-functions/frexpf.texi: Mention the new module.
3572
3573 2011-10-06  Bruno Haible  <bruno@clisp.org>
3574
3575         math: Sort function declarations of math.in.h.
3576         * lib/math.in.h (frexp, logb): Move declarations.
3577
3578 2011-10-05  Bruno Haible  <bruno@clisp.org>
3579
3580         Tests for module 'modff'.
3581         * modules/modff-tests: New file.
3582         * tests/test-modff.c: New file.
3583
3584         New module 'modff'.
3585         * lib/math.in.h (modff): New declaration.
3586         * lib/modff.c: New file.
3587         * m4/modff.m4: New file.
3588         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
3589         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
3590         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
3591         * modules/modff: New file.
3592         * tests/test-math-c++.cc: Check the declaration of modff.
3593         * doc/posix-functions/modff.texi: Mention the new module.
3594
3595         modf tests: Make test sharper.
3596         * tests/test-modf.c (main): Strengthen upper bound.
3597
3598         modf: Use a .m4 file.
3599         * m4/modf.m4: New file.
3600         * modules/modf (Files): Add it.
3601         (configure.ac): Just invoke gl_FUNC_MODF.
3602
3603 2011-10-05  Bruno Haible  <bruno@clisp.org>
3604
3605         Tests for module 'fmodf'.
3606         * modules/fmodf-tests: New file.
3607         * tests/test-fmodf.c: New file.
3608
3609         New module 'fmodf'.
3610         * lib/math.in.h (fmodf): New declaration.
3611         * lib/fmodf.c: New file.
3612         * m4/fmodf.m4: New file.
3613         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
3614         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
3615         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
3616         * modules/fmodf: New file.
3617         * tests/test-math-c++.cc: Check the declaration of fmodf.
3618         * doc/posix-functions/fmodf.texi: Mention the new module.
3619
3620         fmod: Use a .m4 file.
3621         * m4/fmod.m4: New file.
3622         * modules/fmod (Files): Add it.
3623         (configure.ac): Just invoke gl_FUNC_FMOD.
3624
3625 2011-10-05  Bruno Haible  <bruno@clisp.org>
3626
3627         Tests for module 'fabsf'.
3628         * modules/fabsf-tests: New file.
3629         * tests/test-fabsf.c: New file.
3630
3631         New module 'fabsf'.
3632         * lib/math.in.h (fabsf): New declaration.
3633         * lib/fabsf.c: New file.
3634         * m4/fabsf.m4: New file.
3635         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
3636         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
3637         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
3638         * modules/fabsf: New file.
3639         * tests/test-math-c++.cc: Check the declaration of fabsf.
3640         * doc/posix-functions/fabsf.texi: Mention the new module.
3641
3642         fabs: Use a .m4 file.
3643         * m4/fabs.m4: New file.
3644         * modules/fabs (Files): Add it.
3645         (configure.ac): Just invoke gl_FUNC_FABS.
3646
3647 2011-10-05  Jim Meyering  <meyering@redhat.com>
3648
3649         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
3650         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
3651         ls -lL regression introduced in coreutils-8.12, it does so at the
3652         cost of an additional stat call in the common case.  Besides, now
3653         that the kernel change that prompted commit 95f7c57f has been reverted
3654         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
3655         we have no use for commit 95f7c57f, "file-has-acl: use
3656         acl_extended_file_nofollow if available".
3657
3658 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
3659
3660         file-has-acl: revert unintended change in behavior of ls -L
3661         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
3662         derived from...
3663         (file_has_acl): ...code here.  Call it.
3664         This problem was introduced with 2011-07-22 commit 95f7c57f,
3665         "file-has-acl: use acl_extended_file_nofollow if available".
3666         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
3667
3668 2011-10-03  Bruno Haible  <bruno@clisp.org>
3669
3670         poll: Avoid link errors on MSVC.
3671         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
3672         * modules/poll (Depends-on): Add sockets.
3673         (Link): New section.
3674         * NEWS: Mention the change.
3675         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
3676         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
3677         $(LIB_POLL) instead of $(LIBSOCKET).
3678
3679 2011-10-03  Bruno Haible  <bruno@clisp.org>
3680
3681         sys_select tests: Fix link error on MSVC 9.
3682         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
3683         with $(LIB_SELECT) instead of $(LIBSOCKET).
3684
3685 2011-10-03  Bruno Haible  <bruno@clisp.org>
3686
3687         sys_select: Fix compilation error on mingw.
3688         * lib/sys_select.in.h: On native Windows, include <io.h>.
3689
3690 2011-10-03  Bruno Haible  <bruno@clisp.org>
3691
3692         wmemset: Support for MSVC.
3693         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
3694         whether wmemset() exists.
3695
3696 2011-10-03  Bruno Haible  <bruno@clisp.org>
3697
3698         wmemmove: Support for MSVC.
3699         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
3700         whether wmemmove() exists.
3701
3702 2011-10-03  Bruno Haible  <bruno@clisp.org>
3703
3704         wmemcpy: Support for MSVC.
3705         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
3706         whether wmemcpy() exists.
3707
3708 2011-10-03  Bruno Haible  <bruno@clisp.org>
3709
3710         wmemcmp: Support for MSVC.
3711         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
3712         whether wmemcmp() exists.
3713
3714 2011-10-03  Bruno Haible  <bruno@clisp.org>
3715
3716         wmemchr: Support for MSVC.
3717         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
3718         whether wmemchr() exists.
3719
3720 2011-10-03  Bruno Haible  <bruno@clisp.org>
3721
3722         glthread/*, strsignal: Support for MSVC.
3723         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
3724         including <winsock.h> on MSVC 9.
3725         * lib/glthread/lock.h: Likewise.
3726         * lib/glthread/thread.h: Likewise.
3727         * lib/glthread/tls.h: Likewise.
3728         * lib/glthread/yield.h: Likewise.
3729         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
3730         if HAVE_UNISTD_H is false.
3731         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
3732
3733 2011-10-03  Bruno Haible  <bruno@clisp.org>
3734
3735         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
3736         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
3737         Set to 100000.
3738
3739 2011-10-03  Bruno Haible  <bruno@clisp.org>
3740
3741         acl: Fix specification.
3742         * lib/file-has-acl.c (file_has_acl): Fix specification.
3743
3744 2011-10-03  Bruno Haible  <bruno@clisp.org>
3745
3746         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
3747         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
3748         (compute_curr_prefix, shared_library_fullname,
3749         find_shared_library_fullname, get_shared_library_fullname, relocate):
3750         Use it together with PIC && INSTALLDIR.
3751         Reported by <jojelino@gmail.com>
3752         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
3753
3754 2011-10-01  Jim Meyering  <meyering@redhat.com>
3755
3756         maint.mk: adjust a release-related rule not to require use of gzip
3757         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
3758         Instead, check each file in $(DIST_ARCHIVES).  This is better for
3759         projects that build only .tar.xz files.  Also fix an erroneous test.
3760
3761         test-linkat: don't leave behind a temporary file
3762         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
3763         Otherwise, coreutils' "make distcheck" would fail with this:
3764           Only in /c/cu/tests/torture/coreutils/test/\
3765             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
3766           make[2]: *** [my-distcheck] Error 1
3767
3768         float, math: add omitted file
3769         * lib/itold.c: Add file, required for yesterday's float change.
3770
3771 2011-10-01  Bruno Haible  <bruno@clisp.org>
3772
3773         isinf: Fix for OpenBSD/x86.
3774         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
3775         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
3776         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
3777
3778 2011-10-01  Bruno Haible  <bruno@clisp.org>
3779
3780         isfinite: Fix syntax error in configure test.
3781         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
3782
3783         isfinite: Fix typo.
3784         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
3785         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
3786
3787 2011-10-01  Bruno Haible  <bruno@clisp.org>
3788
3789         nonblocking tests: Fix test failure on Linux/IA-64.
3790         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
3791         Set to 270000.
3792
3793 2011-10-01  Bruno Haible  <bruno@clisp.org>
3794
3795         mkfifoat tests: Fix a test failure on mingw.
3796         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
3797         with error ENOSYS.
3798
3799 2011-09-30  Bruno Haible  <bruno@clisp.org>
3800
3801         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
3802         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
3803         'long double'. Set REPLACE_ITOLD.
3804         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
3805         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
3806         * lib/itold.c: New file.
3807         * modules/float (Files): Add lib/itold.c.
3808         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
3809         (Makefile.am): Substitute REPLACE_ITOLD.
3810         * modules/math (Depends-on): Add float.
3811         (Makefile.am): Substitute REPLACE_ITOLD.
3812         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
3813         * doc/posix-headers/math.texi: Likewise.
3814         * doc/posix-functions/logl.texi: Likewise.
3815
3816 2011-09-30  Bruno Haible  <bruno@clisp.org>
3817
3818         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
3819         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
3820         Set to 140000.
3821
3822 2011-09-30  Bruno Haible  <bruno@clisp.org>
3823
3824         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
3825         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
3826         invocation, say "right after AC_PROG_CC_STDC", not "right after
3827         AC_PROG_CC".
3828         Reported by Gary V. Vaughan <gary@gnu.org>.
3829
3830 2011-09-30  Bruno Haible  <bruno@clisp.org>
3831
3832         Centralize C99 requirement.
3833         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
3834         * modules/stdarg (configure.ac-early): Invoke it instead of
3835         AC_PROG_CC_STDC.
3836         Reported by Gary V. Vaughan and Paul Eggert.
3837
3838 2011-09-29  Bruno Haible  <bruno@clisp.org>
3839
3840         float: Fix LDBL_MAX value on Linux/PowerPC.
3841         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
3842         on Linux/PowerPC.
3843         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
3844         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
3845         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
3846         platform.
3847         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
3848
3849 2011-09-29  Bruno Haible  <bruno@clisp.org>
3850
3851         doc: Improve doc about gl_EARLY.
3852         * doc/gnulib-tool.texi (Initial import): Mention where to place an
3853         AC_PROG_CC_STDC invocation.
3854         Reported by Gary V. Vaughan <gary@gnu.org>.
3855
3856 2011-09-28  Bruno Haible  <bruno@clisp.org>
3857
3858         fgetc, fputc, fread, fwrite tests: Fix link error.
3859         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
3860         on non-MSVC platforms.
3861         * tests/test-fputc.c (main): Likewise.
3862         * tests/test-fread.c (main): Likewise.
3863         * tests/test-fwrite.c (main): Likewise.
3864         Reported by Jim Meyering.
3865
3866 2011-09-27  Bruno Haible  <bruno@clisp.org>
3867
3868         fputc, fwrite tests: Avoid test failure on MSVC.
3869         * tests/test-fgetc.c: Include msvc-inval.h.
3870         (main): Invoke gl_msvc_inval_ensure_handler.
3871         * tests/test-fputc.c: Include msvc-inval.h.
3872         (main): Invoke gl_msvc_inval_ensure_handler.
3873         * tests/test-fread.c: Include msvc-inval.h.
3874         (main): Invoke gl_msvc_inval_ensure_handler.
3875         * tests/test-fwrite.c: Include msvc-inval.h.
3876         (main): Invoke gl_msvc_inval_ensure_handler.
3877         * modules/fgetc-tests (Depends-on): Add msvc-inval.
3878         * modules/fputc-tests (Depends-on): Likewise.
3879         * modules/fread-tests (Depends-on): Likewise.
3880         * modules/fwrite-tests (Depends-on): Likewise.
3881
3882 2011-09-27  Bruno Haible  <bruno@clisp.org>
3883
3884         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
3885         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
3886         (raise): Remove older, duplicated declaration.
3887         (_gl_raise_SIGPIPE): New declaration.
3888         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
3889         (rpl_raise): Remove function.
3890         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
3891         a gnulib-defined SIGPIPE here.
3892         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
3893         'sigprocmask' has detected missing signal-blocking and the module
3894         'sigpipe' is enabled.
3895         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
3896
3897 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
3898
3899         base64-tests: avoid memory leak
3900         * tests/test-base64.c (main): Plug memory leak.
3901
3902         base32: new module
3903         * modules/base32: New module.
3904         * lib/base32.c: New file.
3905         * lib/base32.h: Likewise.
3906         * m4/base32.m4: Likewise.
3907         * modules/base32-tests: New test.
3908         * tests/test-base32.c: Likewise.
3909         * MODULES.html.sh (Misc): Mention it.
3910
3911 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3912
3913         gnulib: use more-standard license notice wording
3914         * gnulib-tool (func_emit_copyright_notice): When emitting a
3915         license notice into a file, use the standard wording as suggested
3916         by the current information for GNU maintainers, except say "file"
3917         rather than "program".  The new wording gives a license version
3918         number, which addresses an issue raised by Glenn Morris in
3919         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
3920         * m4/onceonly.m4: Use that same wording here, too.
3921
3922         dup2: minor simplification
3923         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
3924         as lib/dup2.c no longer uses 'inline'.
3925
3926 2011-09-25  Bruno Haible  <bruno@clisp.org>
3927
3928         strings: Fix compilation error on MSVC.
3929         * lib/strings.in.h: Include <stddef.h> for size_t.
3930
3931 2011-09-25  Bruno Haible  <bruno@clisp.org>
3932
3933         fflush et al.: Document limitation on MSVC.
3934         * doc/posix-functions/fflush.texi: Document possible crash in handling
3935         mode other than DEFAULT_HANDLING.
3936         * doc/posix-functions/fgetc.texi: Likewise.
3937         * doc/posix-functions/fputc.texi: Likewise.
3938         * doc/posix-functions/fread.texi: Likewise.
3939         * doc/posix-functions/fwrite.texi: Likewise.
3940
3941 2011-09-25  Bruno Haible  <bruno@clisp.org>
3942
3943         msvc-inval: Allow three invalid parameter handling modes.
3944         * lib/msvc-inval.h: Don't include <stdlib.h> here.
3945         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
3946         macros.
3947         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
3948         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
3949         SANE_LIBRARY_HANDLING as a no-op.
3950         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
3951         <stdlib.h>.
3952         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
3953
3954 2011-09-25  Bruno Haible  <bruno@clisp.org>
3955
3956         msvc-inval: Make handler multithread-safe.
3957         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
3958         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
3959         declarations.
3960         (gl_msvc_inval_current): New declaration.
3961         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
3962         Operate on the structure returned by gl_msvc_inval_current().
3963         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
3964         Remove varaiables.
3965         (tls_index, tls_initialized): New variables.
3966         (not_per_thread): New variable.
3967         (gl_msvc_inval_current): New function.
3968         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
3969         returned by gl_msvc_inval_current().
3970
3971 2011-09-25  Bruno Haible  <bruno@clisp.org>
3972
3973         msvc-inval: Install handler globally.
3974         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
3975         !_MSC_VER.
3976         (gl_msvc_invalid_parameter_handler): Remove declaration.
3977         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
3978         declarations.
3979         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
3980         Install the handler globally, don't uninstall it.
3981         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
3982         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
3983         currently valid, call RaiseException instead.
3984         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
3985         for !_MSC_VER.
3986
3987 2011-09-25  Bruno Haible  <bruno@clisp.org>
3988
3989         strerror_r-posix: Fix for MSVC 9.
3990         * lib/strerror_r.c (local_snprintf): New function.
3991         (snprintf): Define to local_snprintf, not to _snprintf.
3992
3993 2011-09-25  Bruno Haible  <bruno@clisp.org>
3994
3995         ftruncate: Support for MSVC 9.
3996         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
3997         (chsize_nothrow): New function.
3998         (chsize): Redefine as a macro.
3999         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
4000         * modules/ftruncate (Depends-on): Add msvc-inval.
4001
4002 2011-09-25  Bruno Haible  <bruno@clisp.org>
4003
4004         New module 'fstat'.
4005         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
4006         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
4007         * lib/fchdir.c (rpl_fstat): Remove function.
4008         * m4/fstat.m4: New file.
4009         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
4010         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
4011         declared.
4012         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
4013         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
4014         * modules/fstat: New file.
4015         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
4016         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
4017         is set.
4018         * doc/posix-functions/fstat.texi: Mention the new module and the
4019         problem on MSVC.
4020         * NEWS: Mention the change.
4021         * modules/acl (Depends-on): Add fstat.
4022         * modules/chdir-safer (Depends-on): Likewise.
4023         * modules/chown (Depends-on): Likewise.
4024         * modules/copy-file (Depends-on): Likewise.
4025         * modules/fchdir (Depends-on): Likewise.
4026         * modules/fdopendir (Depends-on): Likewise.
4027         * modules/fopen (Depends-on): Likewise.
4028         * modules/fts (Depends-on): Likewise.
4029         * modules/getcwd (Depends-on): Likewise.
4030         * modules/isapipe (Depends-on): Likewise.
4031         * modules/linkat (Depends-on): Likewise.
4032         * modules/lseek (Depends-on): Likewise.
4033         * modules/mkdir-p (Depends-on): Likewise.
4034         * modules/open (Depends-on): Likewise.
4035         * modules/openat (Depends-on): Likewise.
4036         * modules/read-file (Depends-on): Likewise.
4037         * modules/renameat (Depends-on): Likewise.
4038         * modules/utimens (Depends-on): Likewise.
4039
4040 2011-09-25  Bruno Haible  <bruno@clisp.org>
4041
4042         linkat: Fix compilation on MSVC 9.
4043         * lib/linkat.c: Don't include <stdint.h>.
4044
4045 2011-09-25  Bruno Haible  <bruno@clisp.org>
4046
4047         fclose: Support for MSVC 9.
4048         * lib/fclose.c: Include msvc-inval.h.
4049         (fclose_nothrow): New function.
4050         (rpl_fclose): Use it.
4051         * modules/fclose (Depends-on): Add msvc-inval.
4052         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
4053
4054 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
4055
4056         dup2: minor simplifications
4057         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
4058         that it's a performance win.
4059         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
4060         ! defined __CYGWIN__)" to "ifdef F_GETFL".
4061
4062 2011-09-24  Jim Meyering  <meyering@redhat.com>
4063
4064         test-futimens: avoid a warning from gcc -Wshadow
4065         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
4066         to avoid a shadowing warning.
4067
4068 2011-09-24  Bruno Haible  <bruno@clisp.org>
4069
4070         fdopen: Support for MSVC 9.
4071         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
4072         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
4073         * lib/fdopen.c: Include msvc-inval.h.
4074         (fdopen_nothrow): New function.
4075         (rpl_fdopen): Use it.
4076         * modules/fdopen (Depends-on): Add msvc-inval.
4077         * modules/fclose-tests (Depends-on): Add fdopen.
4078         * modules/fflush-tests (Depends-on): Likewise.
4079         * modules/fgetc-tests (Depends-on): Likewise.
4080         * modules/fputc-tests (Depends-on): Likewise.
4081         * modules/fread-tests (Depends-on): Likewise.
4082         * modules/freopen-tests (Depends-on): Likewise.
4083         * modules/fseeko-tests (Depends-on): Likewise.
4084         * modules/ftello-tests (Depends-on): Likewise.
4085         * modules/fwrite-tests  (Depends-on): Likewise.
4086         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
4087
4088 2011-09-24  Bruno Haible  <bruno@clisp.org>
4089
4090         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
4091         * modules/fgetc-tests (Depends-on): Add unistd.
4092         * modules/fputc-tests (Depends-on): Likewise.
4093         * modules/fread-tests (Depends-on): Likewise.
4094         * modules/fwrite-tests (Depends-on): Likewise.
4095
4096 2011-09-24  Bruno Haible  <bruno@clisp.org>
4097
4098         dup: Simplify autoconf test.
4099         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
4100         on gl_MSVC_INVAL's result.
4101
4102 2011-09-24  Bruno Haible  <bruno@clisp.org>
4103
4104         Tests for function fwrite().
4105         * modules/fwrite-tests: New file.
4106         * tests/test-fwrite.c: New file.
4107         * modules/stdio-tests (Depends-on): Add fwrite-tests.
4108
4109         Tests for function fread().
4110         * modules/fread-tests: New file.
4111         * tests/test-fread.c: New file.
4112         * modules/stdio-tests (Depends-on): Add fread-tests.
4113
4114         Activate fputc tests.
4115         * modules/stdio-tests (Depends-on): Add fputc-tests.
4116
4117         Enhance fgetc, fputc tests.
4118         * tests/test-fgetc.c (main): Also test the stream's error indicator.
4119         * tests/test-fputc.c (main): Likewise.
4120
4121 2011-09-24  Bruno Haible  <bruno@clisp.org>
4122
4123         write: Support for MSVC 9.
4124         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
4125         is not 1.
4126         * lib/write.c (write_nothrow): New function.
4127         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
4128         not 1. Use write_nothrow.
4129         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
4130         invalid parameter handler.
4131         (gl_PREREQ_WRITE): New macro.
4132         * modules/write (Depends-on): Add msvc-inval.
4133         (configure.ac): Invoke gl_PREREQ_WRITE.
4134         * doc/posix-functions/write.texi: Mention the problem on MSVC.
4135
4136 2011-09-24  Bruno Haible  <bruno@clisp.org>
4137
4138         read: Fix last commit.
4139         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
4140
4141 2011-09-24  Bruno Haible  <bruno@clisp.org>
4142
4143         dup2: Fix last commit.
4144         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
4145         (rpl_dup2): Disable fcntl workaround on native Windows.
4146
4147         sigprocmask: Make code safer.
4148         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
4149         section that changes macro definitions for this compilation unit.
4150
4151 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
4152
4153         dup2: clarify by coalescing Windows-specific material
4154         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
4155         "msvc-nothrow.h"' to the Windows-specific section, so that the
4156         Emacs source need not contain these include files.
4157         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
4158         Windows-specific fixes into this function rather than just the
4159         nothrow fix, as this shortens and clarifies the code.  Always
4160         define as a function, as that's a bit cleaner than having it be
4161         sometimes a function and sometimes a macro.
4162         (rpl_dup2): Move the Windows-specific stuff out of here and into
4163         ms_windows_dup2.  Don't protect the Haiku-related fix with
4164         "#if !defined __linux__", as the same code also works around
4165         a Linux kernel bug, and it doesn't add any system calls on any
4166         platform.  Add comment about FreeBSD 6.1.
4167
4168         sigprocmask: move #include directive
4169         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
4170         Windows-specific section, so that the Emacs source need not
4171         contain msvc-inval.h.
4172
4173 2011-09-23  Bruno Haible  <bruno@clisp.org>
4174
4175         read: Support for MSVC 9.
4176         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
4177         is not 1.
4178         * lib/read.c (read_nothrow): New function.
4179         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
4180         read_nothrow.
4181         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
4182         invalid parameter handler.
4183         (gl_PREREQ_READ): New macro.
4184         * modules/read (Depends-on): Add msvc-inval.
4185         (configure.ac): Invoke gl_PREREQ_READ.
4186         * doc/posix-functions/read.texi: Mention the problem on MSVC.
4187
4188 2011-09-23  Bruno Haible  <bruno@clisp.org>
4189
4190         close: Support for MSVC 9.
4191         * lib/close.c: Include <errno.h>, msvc-inval.h.
4192         (close_nothrow): New function.
4193         (rpl_close): Use it.
4194         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
4195         invalid parameter handler.
4196         * modules/close (Depends-on): Add msvc-inval.
4197         * modules/dup2-tests (Depends-on): Add close.
4198         * modules/dup3-tests (Depends-on): Likewise.
4199         * modules/fcntl-tests (Depends-on): Likewise.
4200         * modules/spawn-pipe-tests (Depends-on): Likewise.
4201         * modules/unistd-safer-tests (Depends-on): Likewise.
4202         * doc/posix-functions/close.texi: Mention the problem on MSVC.
4203
4204 2011-09-23  Bruno Haible  <bruno@clisp.org>
4205
4206         New module 'dup'.
4207         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
4208         Allow replacement.
4209         * lib/dup.c: New file.
4210         * lib/fchdir.c (rpl_dup): Remove function.
4211         * m4/dup.m4: New file.
4212         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
4213         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
4214         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
4215         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
4216         * modules/dup: New file.
4217         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
4218         'dup' module is in use.
4219         * modules/fdopendir (Depends-on): Add dup.
4220         * modules/fdutimensat-tests (Depends-on): Likewise.
4221         * modules/fts (Depends-on): Likewise.
4222         * modules/futimens-tests (Depends-on): Likewise.
4223         * modules/posix_spawnp-tests (Depends-on): Likewise.
4224         * modules/unistd-safer-tests (Depends-on): Likewise.
4225         * modules/utimens-tests (Depends-on): Likewise.
4226         * doc/posix-functions/dup.texi: Mention the new module and the problem
4227         on MSVC.
4228
4229 2011-09-23  Bruno Haible  <bruno@clisp.org>
4230
4231         getdtablesize: Support for MSVC 9.
4232         * lib/getdtablesize.c: Include msvc-inval.h.
4233         (_setmaxstdio_nothrow): New function.
4234         (_setmaxstdio): Redefine it.
4235         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
4236         * modules/getdtablesize (Depends-on): Add msvc-inval.
4237         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
4238
4239 2011-09-23  Bruno Haible  <bruno@clisp.org>
4240
4241         signal-h: Rename from signal.
4242         * modules/signal-h: Renamed from modules/signal.
4243         * modules/pthread_sigmask (Depends-on): Update.
4244         * modules/raise (Depends-on): Likewise.
4245         * modules/sigaction (Depends-on): Likewise.
4246         * modules/sigpipe (Depends-on): Likewise.
4247         * modules/sigprocmask (Depends-on): Likewise.
4248         * modules/sys_select (Depends-on): Likewise.
4249         * modules/signal-h-tests: Renamed from modules/signal-tests.
4250         (Files, Depends-on, Makefile.am): Update.
4251         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
4252         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
4253         (Files, Makefile.am): Update.
4254         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
4255         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
4256         * modules/signal: New placeholder file.
4257         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
4258         * doc/posix-headers/signal.texi: Update.
4259         * NEWS: Mention the change.
4260
4261 2011-09-23  Bruno Haible  <bruno@clisp.org>
4262
4263         sigprocmask: Avoid crashes through signal() on MSVC 9.
4264         * lib/sigprocmask.c: Include msvc-inval.h.
4265         (signal_nothrow): New function.
4266         (signal): Redefine it.
4267         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
4268         * modules/sigprocmask (Depends-on): Add msvc-inval.
4269         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
4270
4271 2011-09-23  Bruno Haible  <bruno@clisp.org>
4272
4273         Tests for module 'raise'.
4274         * modules/raise-tests: New file.
4275         * tests/test-raise.c: New file.
4276
4277         raise: Support for MSVC.
4278         * lib/signal.in.h (raise): New declaration.
4279         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
4280         for native Windows platforms.
4281         * m4/raise.m4: New file.
4282         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
4283         HAVE_RAISE, REPLACE_RAISE.
4284         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
4285         REPLACE_RAISE.
4286         * modules/raise (Status, Notice): Remove fields.
4287         (Files): Add m4/raise.m4.
4288         (Depends-on): Add signal, msvc-inval.
4289         (configure.ac): Use the common idioms.
4290         (Maintainer): Add me.
4291         * tests/test-signal-c++.cc: Check the signature of raise.
4292         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
4293
4294 2011-09-23  Bruno Haible  <bruno@clisp.org>
4295
4296         pipe2: Fix compilation on pre-C99 compilers.
4297         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
4298
4299 2011-09-23  Bruno Haible  <bruno@clisp.org>
4300
4301         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
4302         * lib/msvc-nothrow.h: New file.
4303         * lib/msvc-nothrow.c: New file.
4304         * m4/msvc-nothrow.m4: New file.
4305         * modules/msvc-nothrow: New file.
4306         * lib/dup2.c: Include msvc-nothrow.h.
4307         (rpl_dup2): No need to protect _get_osfhandle call here.
4308         * lib/accept4.c: Include msvc-nothrow.h.
4309         * lib/error.c: Likewise.
4310         * lib/fcntl.c: Likewise.
4311         * lib/lseek.c: Likewise.
4312         * lib/nonblocking.c: Likewise.
4313         * lib/poll.c: Likewise.
4314         * lib/read.c: Likewise.
4315         * lib/select.c: Likewise.
4316         * lib/sockets.h: Likewise.
4317         * lib/sockets.c: Likewise.
4318         * lib/stdio-read.c: Likewise.
4319         * lib/stdio-write.c: Likewise.
4320         * lib/write.c: Likewise.
4321         * lib/w32sock.h: Likewise.
4322         * lib/w32spawn.h: Likewise.
4323         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
4324         * lib/fsync.c: Likewise.
4325         * lib/isapipe.c: Likewise.
4326         * modules/dup2 (Depends-on): Add msvc-nothrow.
4327         * modules/accept4 (Depends-on): Likewise.
4328         * modules/error (Depends-on): Likewise.
4329         * modules/fcntl (Depends-on): Likewise.
4330         * modules/lseek (Depends-on): Likewise.
4331         * modules/nonblocking (Depends-on): Likewise.
4332         * modules/poll (Depends-on): Likewise.
4333         * modules/read (Depends-on): Likewise.
4334         * modules/select (Depends-on): Likewise.
4335         * modules/sockets (Depends-on): Likewise.
4336         * modules/sigpipe (Depends-on): Likewise.
4337         * modules/write (Depends-on): Likewise.
4338         * modules/accept (Depends-on): Likewise.
4339         * modules/bind (Depends-on): Likewise.
4340         * modules/connect (Depends-on): Likewise.
4341         * modules/gethostname (Depends-on): Likewise.
4342         * modules/getpeername (Depends-on): Likewise.
4343         * modules/getsockname (Depends-on): Likewise.
4344         * modules/getsockopt (Depends-on): Likewise.
4345         * modules/ioctl (Depends-on): Likewise.
4346         * modules/listen (Depends-on): Likewise.
4347         * modules/recv (Depends-on): Likewise.
4348         * modules/recvfrom (Depends-on): Likewise.
4349         * modules/send (Depends-on): Likewise.
4350         * modules/sendto (Depends-on): Likewise.
4351         * modules/setsockopt (Depends-on): Likewise.
4352         * modules/shutdown (Depends-on): Likewise.
4353         * modules/socket (Depends-on): Likewise.
4354         * modules/execute (Depends-on): Likewise.
4355         * modules/spawn-pipe (Depends-on): Likewise.
4356         * modules/flock (Depends-on): Likewise.
4357         * modules/fsync (Depends-on): Likewise.
4358         * modules/isapipe (Depends-on): Likewise.
4359         * tests/test-cloexec.c: Include msvc-nothrow.h.
4360         * tests/test-dup-safer.c: Likewise.
4361         * tests/test-dup2.c: Likewise.
4362         * tests/test-dup3.c: Likewise.
4363         * tests/test-fcntl.c: Likewise.
4364         * tests/test-pipe.c: Likewise.
4365         * tests/test-pipe2.c: Likewise.
4366         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
4367         * modules/unistd-safer-tests (Depends-on): Likewise.
4368         * modules/dup2-tests (Depends-on): Likewise.
4369         * modules/dup3-tests (Depends-on): Likewise.
4370         * modules/fcntl-tests (Depends-on): Likewise.
4371         * modules/pipe-posix-tests (Depends-on): Likewise.
4372         * modules/pipe2-tests (Depends-on): Likewise.
4373
4374 2011-09-23  Bruno Haible  <bruno@clisp.org>
4375
4376         dup2: Make code more maintainable.
4377         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
4378         (rpl_dup2): Use it.
4379         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
4380         * modules/dup2 (configure.ac): Invoke it.
4381         Reported by Paul Eggert.
4382
4383 2011-09-23  Bruno Haible  <bruno@clisp.org>
4384
4385         msvc-inval: Fix compilation error.
4386         * lib/msvc-inval.h: Include <excpt.h>.
4387
4388 2011-09-23  Bruno Haible  <bruno@clisp.org>
4389
4390         mkdir: Tweak for MSVC 9.
4391         * lib/sys_stat.in.h: Update comments.
4392         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
4393
4394         Tests for module 'chdir'.
4395         * modules/chdir-tests: New file.
4396         * tests/test-chdir.c: New file.
4397
4398         New module 'chdir'.
4399         * modules/chdir: New file.
4400         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
4401         (chdir): New declaration.
4402         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
4403         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
4404         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
4405         * tests/test-unistd-c++.cc: Check signature of chdir.
4406         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
4407         * modules/chdir-long (Depends-on): Add chdir.
4408         * modules/fchdir (Depends-on): Likewise.
4409         * modules/rename (Depends-on): Likewise.
4410         * modules/savewd (Depends-on): Likewise.
4411
4412         rmdir: Support for mingw, MSVC 9.
4413         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
4414         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
4415
4416         getcwd: Tweak for MSVC 9.
4417         * lib/unistd.in.h: Update comments.
4418         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
4419
4420 2011-09-22  Bruno Haible  <bruno@clisp.org>
4421
4422         strerror_r-posix: Avoid a link error on MSVC.
4423         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
4424         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
4425
4426 2011-09-22  Bruno Haible  <bruno@clisp.org>
4427
4428         select: Avoid link errors on MSVC.
4429         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
4430         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
4431         * modules/pselect (Link): Likewise.
4432         * NEWS: Mention the change.
4433         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
4434         test-select-stdin against $(LIB_SELECT).
4435         * modules/pselect-tests (Makefile.am): Link test-pselect against
4436         $(LIB_SELECT).
4437
4438 2011-09-22  Bruno Haible  <bruno@clisp.org>
4439
4440         select: Avoid compilation error on MSVC.
4441         * lib/select.c: Don't include <stdbool.h>.
4442
4443 2011-09-21  Bruno Haible  <bruno@clisp.org>
4444
4445         Consolidate all uses of PATH_MAX in *.m4 files.
4446         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
4447         macros.
4448         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
4449         and gl_PATHMAX_SNIPPET.
4450         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
4451         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4452         * modules/chdir-long (Files): Add m4/pathmax.m4.
4453         * modules/getcwd (Files): Likewise.
4454
4455 2011-09-21  Bruno Haible  <bruno@clisp.org>
4456
4457         ftruncate: Un-deprecate, concentrate on Win32 support.
4458         * modules/ftruncate (Status, Notice): Remove sections.
4459         (Depends-on): Add largefile.
4460         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
4461         non-mingw platforms.
4462         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
4463         include <io.h>.
4464         * modules/perror-tests (Depends-on): Add ftruncate.
4465         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
4466         'ftruncate' module.
4467
4468 2011-09-21  Bruno Haible  <bruno@clisp.org>
4469
4470         Add dependencies to new dirent related modules.
4471         * modules/opendir (Depends-on): Add closedir.
4472         * modules/getcwd (Depends-on): Add opendir, closedir.
4473         * modules/dirent-safer-tests (Depends-on): Likewise.
4474         * modules/fdopendir-tests (Depends-on): Likewise.
4475         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
4476         * modules/renameat-tests (Depends-on): Likewise.
4477
4478 2011-09-21  Bruno Haible  <bruno@clisp.org>
4479
4480         opendir: Avoid compilation error on mingw.
4481         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
4482         * modules/opendir (Depends-on): Add unistd.
4483
4484 2011-09-21  Bruno Haible  <bruno@clisp.org>
4485
4486         ftruncate tests: Avoid a test failure on mingw.
4487         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
4488
4489 2011-09-21  Bruno Haible  <bruno@clisp.org>
4490
4491         select tests: Avoid test failures on OSF/1 5.1 and mingw.
4492         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
4493         native Windows.
4494
4495 2011-09-21  Bruno Haible  <bruno@clisp.org>
4496
4497         New module 'fdopen'.
4498         * lib/stdio.in.h (fdopen): New declaration.
4499         * lib/fdopen.c: New file.
4500         * m4/fdopen.m4: New file.
4501         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
4502         REPLACE_FDOPEN.
4503         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
4504         REPLACE_FDOPEN.
4505         * modules/fdopen: New file.
4506         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
4507         * tests/test-stdio-c++.cc: Check signature of fdopen.
4508         * doc/posix-functions/fdopen.texi: Mention the new module.
4509
4510 2011-09-21  Bruno Haible  <bruno@clisp.org>
4511
4512         unlockpt tests: Avoid test failure on NetBSD 5.1.
4513         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
4514         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
4515
4516 2011-09-21  Bruno Haible  <bruno@clisp.org>
4517
4518         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
4519         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
4520         * tests/test-getlogin_r.c (main): Likewise.
4521
4522 2011-09-20  Bruno Haible  <bruno@clisp.org>
4523
4524         time tests: Don't require pid_t.
4525         * doc/posix-headers/time.texi: Revert last change.
4526         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
4527         * tests/test-time.c: Comment out the check for pid_t.
4528
4529 2011-09-20  Bruno Haible  <bruno@clisp.org>
4530
4531         fsync tests: Avoid a test failure on mingw.
4532         * tests/test-fsync.c (main): Allow a failure with EIO.
4533
4534 2011-09-20  Bruno Haible  <bruno@clisp.org>
4535
4536         euidaccess: Update comments.
4537         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
4538
4539 2011-09-20  Bruno Haible  <bruno@clisp.org>
4540
4541         Ensure EBADF returns for socket functions on mingw.
4542         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
4543         descriptor is invalid.
4544         * lib/bind.c (rpl_bind): Likewise.
4545         * lib/connect.c (rpl_connect): Likewise.
4546         * lib/getpeername.c (rpl_getpeername): Likewise.
4547         * lib/getsockname.c (rpl_getsockname): Likewise.
4548         * lib/getsockopt.c (rpl_getsockopt): Likewise.
4549         * lib/listen.c (rpl_listen): Likewise.
4550         * lib/recv.c (rpl_recv): Likewise.
4551         * lib/recvfrom.c (rpl_recvfrom): Likewise.
4552         * lib/send.c (rpl_send): Likewise.
4553         * lib/sendto.c (rpl_sendto): Likewise.
4554         * lib/setsockopt.c (rpl_setsockopt): Likewise.
4555         * lib/shutdown.c (rpl_shutdown): Likewise.
4556
4557 2011-09-20  Bruno Haible  <bruno@clisp.org>
4558
4559         select tests: EBADF tests.
4560         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
4561         test_bad_fd): New functions.
4562         (test_function): Invoke also test_bad_fd.
4563
4564 2011-09-20  Bruno Haible  <bruno@clisp.org>
4565
4566         Tests for module 'posix_spawn_file_actions_addopen.
4567         * modules/posix_spawn_file_actions_addopen-tests: New file.
4568         * tests/test-posix_spawn_file_actions_addopen.c: New file.
4569
4570         Tests for module 'posix_spawn_file_actions_adddup2'.
4571         * modules/posix_spawn_file_actions_adddup2-tests: New file.
4572         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
4573
4574         Tests for module 'posix_spawn_file_actions_addclose'.
4575         * modules/posix_spawn_file_actions_addclose-tests: New file.
4576         * tests/test-posix_spawn_file_actions_addclose.c: New file.
4577
4578 2011-09-20  Bruno Haible  <bruno@clisp.org>
4579
4580         Tests for module 'unlockpt'.
4581         * modules/unlockpt-tests: New file.
4582         * tests/test-unlockpt.c: New file.
4583         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
4584
4585         Tests for module 'grantpt'.
4586         * modules/grantpt-tests: New file.
4587         * tests/test-grantpt.c: New file.
4588         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
4589
4590 2011-09-20  Bruno Haible  <bruno@clisp.org>
4591
4592         freopen tests: EBADF tests.
4593         * tests/test-freopen.c: Include errno.h, unistd.h.
4594         (main): Add tests for EBADF, commented out for the moment.
4595
4596         fclose tests: EBADF tests.
4597         * tests/test-fclose.c (main): Add tests for EBADF.
4598
4599         fflush tests: EBADF tests.
4600         * tests/test-fflush.c: Include errno.h, macros.h.
4601         (main): Add tests for EBADF.
4602
4603         ftello tests: EBADF tests.
4604         * tests/test-ftello4.sh: New file.
4605         * tests/test-ftello4.c: New file.
4606         * modules/ftello-tests (Files): Add them.
4607         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
4608
4609         fseeko tests: EBADF tests.
4610         * tests/test-fseeko4.sh: New file.
4611         * tests/test-fseeko4.c: New file.
4612         * modules/fseeko-tests (Files): Add them.
4613         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
4614
4615         Tests for function fputc().
4616         * modules/fputc-tests: New file.
4617         * tests/test-fputc.c: New file.
4618         * modules/stdio-tests (Depends-on): Add fputc-tests.
4619
4620         Tests for function fgetc().
4621         * modules/fgetc-tests: New file.
4622         * tests/test-fgetc.c: New file.
4623         * modules/stdio-tests (Depends-on): Add fgetc-tests.
4624
4625         Tests for function fdopen().
4626         * modules/fdopen-tests: New file.
4627         * tests/test-fdopen.c: New file.
4628         * modules/stdio-tests (Depends-on): Add fdopen-tests.
4629
4630         Tests for module 'vdprintf'.
4631         * modules/vdprintf-tests: New file.
4632         * tests/test-vdprintf.c: New file.
4633
4634         Tests for module 'dprintf'.
4635         * modules/dprintf-tests: New file.
4636         * tests/test-dprintf.c: New file.
4637
4638 2011-09-20  Bruno Haible  <bruno@clisp.org>
4639
4640         Tests for module 'ioctl'.
4641         * modules/ioctl-tests: New file.
4642         * tests/test-ioctl.c: New file.
4643
4644 2011-09-20  Bruno Haible  <bruno@clisp.org>
4645
4646         fcntl tests: EBADF tests.
4647         * tests/test-fcntl.c (main): Add more tests for EBADF.
4648
4649 2011-09-20  Bruno Haible  <bruno@clisp.org>
4650
4651         utimensat tests: EBADF tests.
4652         * tests/test-utimensat.c (main): Add tests for EBADF.
4653
4654         renameat tests: EBADF tests.
4655         * tests/test-renameat.c (main): Add tests for EBADF.
4656
4657         mkfifoat tests: EBADF tests.
4658         * tests/test-mkfifoat.c (main): Add tests for EBADF.
4659
4660         readlinkat tests: EBADF tests.
4661         * tests/test-readlinkat.c (main): Add tests for EBADF.
4662
4663         symlinkat tests: EBADF tests.
4664         * tests/test-symlinkat.c (main): Add tests for EBADF.
4665
4666         linkat tests: EBADF tests.
4667         * tests/test-linkat.c (main): Add tests for EBADF.
4668
4669         Tests for module 'faccessat'.
4670         * modules/faccessat-tests: New file.
4671         * tests/test-faccessat.c: New file.
4672
4673         fdopendir tests: EBADF tests.
4674         * tests/test-fdopendir.c (main): Add more tests for EBADF.
4675
4676         openat tests: EBADF tests.
4677         * tests/test-fchownat.c (main): Add tests for EBADF.
4678         * tests/test-fstatat.c (main): Likewise.
4679         * tests/test-mkdirat.c (main): Likewise.
4680         * tests/test-openat.c (main): Likewise.
4681         * tests/test-unlinkat.c (main): Likewise.
4682         * tests/test-fchmodat.c: New file.
4683         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
4684         (Makefile.am): Also run 'test-fchmodat'.
4685
4686 2011-09-20  Bruno Haible  <bruno@clisp.org>
4687
4688         utimens, futimens, fdutimensat tests: EBADF tests.
4689         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
4690
4691         Tests for function fstat().
4692         * modules/fstat-tests: New file.
4693         * tests/test-fstat.c: New file.
4694         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
4695
4696 2011-09-20  Bruno Haible  <bruno@clisp.org>
4697
4698         test-ttyname_r tests: EBADF tests.
4699         * tests/test-ttyname_r.c (main): Add tests for EBADF.
4700
4701         Tests for module 'isatty'.
4702         * modules/isatty-tests: New file.
4703         * tests/test-isatty.c: New file.
4704
4705         Tests for module 'write'.
4706         * modules/write-tests: New file.
4707         * tests/test-write.c: New file.
4708
4709         Tests for module 'read'.
4710         * modules/read-tests: New file.
4711         * tests/test-read.c: New file.
4712
4713         pwrite tests: EBADF tests.
4714         * tests/test-pwrite.c (main): Add tests for EBADF.
4715
4716         pread tests: EBADF tests.
4717         * tests/test-pread.c (main): Add tests for EBADF.
4718
4719         lseek tests: EBADF tests.
4720         * tests/test-lseek.c (main): Add more tests for EBADF.
4721
4722         Tests for module 'ftruncate'.
4723         * modules/ftruncate-tests: New file.
4724         * tests/test-ftruncate.sh: New file.
4725         * tests/test-ftruncate.c: New file.
4726
4727         fsync tests: EBADF tests.
4728         * tests/test-fsync.c (main): Add more tests for EBADF.
4729
4730         fdatasync tests: EBADF tests.
4731         * tests/test-fdatasync.c (main): Add more tests for EBADF.
4732
4733         Tests for module 'fchown'.
4734         * modules/fchown-tests: New file.
4735         * tests/test-fchown.c: New file.
4736
4737         Tests for module 'fchmod'.
4738         * modules/fchmod-tests: New file.
4739         * tests/test-fchmod.c: New file.
4740
4741         fchdir tests: EBADF tests.
4742         * tests/test-fchdir.c (main): Add more tests for EBADF.
4743
4744         dup2 tests: EBADF tests.
4745         * tests/test-dup2.c (main): Add more tests for EBADF.
4746
4747         Tests for module 'dup'.
4748         * modules/dup-tests: New file.
4749         * tests/test-dup.c: New file.
4750
4751         Tests for module 'close'.
4752         * modules/close-tests: New file.
4753         * tests/test-close.c: New file.
4754
4755 2011-09-20  Bruno Haible  <bruno@clisp.org>
4756
4757         Tests for module 'shutdown'.
4758         * modules/shutdown-tests: New file.
4759         * tests/test-shutdown.c: New file.
4760
4761         Tests for module 'setsockopt'.
4762         * modules/setsockopt-tests: New file.
4763         * tests/test-setsockopt.c: New file.
4764
4765         Tests for module 'sendto'.
4766         * modules/sendto-tests: New file.
4767         * tests/test-sendto.c: New file.
4768
4769         Tests for module 'send'.
4770         * modules/send-tests: New file.
4771         * tests/test-send.c: New file.
4772
4773         Tests for module 'recvfrom'.
4774         * modules/recvfrom-tests: New file.
4775         * tests/test-recvfrom.c: New file.
4776
4777         Tests for module 'recv'.
4778         * modules/recv-tests: New file.
4779         * tests/test-recv.c: New file.
4780
4781         Tests for module 'listen'.
4782         * modules/listen-tests: New file.
4783         * tests/test-listen.c: New file.
4784
4785         Tests for module 'getsockopt'.
4786         * modules/getsockopt-tests: New file.
4787         * tests/test-getsockopt.c: New file.
4788
4789         Tests for module 'getsockname'.
4790         * modules/getsockname-tests: New file.
4791         * tests/test-getsockname.c: New file.
4792
4793         Tests for module 'getpeername'.
4794         * modules/getpeername-tests: New file.
4795         * tests/test-getpeername.c: New file.
4796
4797         Tests for module 'connect'.
4798         * modules/connect-tests: New file.
4799         * tests/test-connect.c: New file.
4800
4801         Tests for module 'bind'.
4802         * modules/bind-tests: New file.
4803         * tests/test-bind.c: New file.
4804
4805         accept4 tests: Fix for native Windows.
4806         * tests/test-accept4.c: Include sockets.h.
4807         (main): Invoke gl_sockets_startup.
4808         * modules/accept4-tests (Depends-on): Add sockets.
4809
4810         accept tests: Fix for native Windows.
4811         * tests/test-accept.c: Include sockets.h.
4812         (main): Invoke gl_sockets_startup.
4813         * modules/accept-tests (Depends-on): Add sockets.
4814
4815 2011-09-19  Bruno Haible  <bruno@clisp.org>
4816
4817         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
4818         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
4819         do...while(0).
4820         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
4821         Suggested by Paul Eggert.
4822
4823 2011-09-19  Bruno Haible  <bruno@clisp.org>
4824
4825         sched: Ensure pid_t is defined.
4826         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
4827         not define pid_t.
4828         * lib/sched.in.h: Include <sys/types.h>.
4829         * doc/posix-headers/sched.texi: Mention the pid_t problem.
4830         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4831
4832 2011-09-19  Bruno Haible  <bruno@clisp.org>
4833
4834         msvc-inval: Ensure the entire expansion is a single statement.
4835         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
4836         of braces.
4837
4838 2011-09-19  Jim Meyering  <meyering@redhat.com>
4839
4840         tests: use printf, not echo in init.sh's warn_ function
4841         * tests/init.sh (warn_): Use printf, not echo.  The latter would
4842         misbehave when given strings containing a backslash or starting
4843         with e.g., -n.  James Youngman suggested setting IFS.
4844
4845 2011-09-19  Eric Blake  <eblake@redhat.com>
4846
4847         futimens: enhance test
4848         * tests/test-futimens.h (test_futimens): Also check for EBADF on
4849         closed non-negative fd.
4850
4851         date: accept 'hence' as opposite of 'ago'
4852         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
4853         * tests/test-parse-datetime.c (main): Enhance test.
4854         Suggested by Jesse Wilson.
4855
4856 2011-09-19  Jim Meyering  <meyering@redhat.com>
4857
4858         getcwd: don't fail in a deep directory on a system without openat
4859         Before this change, getcwd would fail when called from a directory
4860         of depth PATH_MAX / 3 or greater.  That was due to the fact that
4861         the non-openat implementation used "..", "../..", "../../..", etc.
4862         to access ancestor directories.  With too many, that string would
4863         be longer than PATH_MAX.
4864         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
4865         using gnulib's openat replacement.
4866         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
4867         we're using the replacement function.
4868
4869 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
4870
4871         maint.mk: avoid warnings from perl about missing files
4872         * top/maint.mk (def_sym_regex): Ignore files listed in
4873         $(gl_other_headers_) that do not exist, say because a project
4874         does not use a corresponding module.
4875
4876 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4877
4878         stat: use pathmax.h only if needed
4879         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
4880         This is better for Emacs, which does not have a mingw port and
4881         therefore can avoid the pathmax module.
4882
4883         utimens: remove dependency on dup2
4884         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
4885         to work around the Linux kernel bug.
4886         * modules/utimens (Depends-on): Remove dup2.
4887
4888 2011-09-18  Bruno Haible  <bruno@clisp.org>
4889
4890         inet_ntop, inet_pton: Look for it also in libresolv.
4891         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
4892         libnsl, search for it in libresolv.
4893         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4894         Needed on Solaris 7.
4895
4896 2011-09-18  Bruno Haible  <bruno@clisp.org>
4897
4898         accept, accept4 tests: Avoid link error on Solaris.
4899         * modules/accept-tests (Makefile.am): Link test-accept against
4900         $(LIBSOCKET).
4901         * modules/accept4-tests (Makefile.am): Link test-accept4 against
4902         $(LIBSOCKET).
4903
4904         accept4: Avoid link error on Solaris.
4905         * modules/accept4 (Link): New section.
4906
4907         socket functions: Avoid link errors on Solaris.
4908         * modules/accept (Depends-on): Add socketlib.
4909         (Link): New section.
4910         * modules/bind (Depends-on): Add socketlib.
4911         (Link): New section.
4912         * modules/connect (Depends-on): Add socketlib.
4913         (Link): New section.
4914         * modules/getpeername (Depends-on): Add socketlib.
4915         (Link): New section.
4916         * modules/getsockname (Depends-on): Add socketlib.
4917         (Link): New section.
4918         * modules/getsockopt (Depends-on): Add socketlib.
4919         (Link): New section.
4920         * modules/listen (Depends-on): Add socketlib.
4921         (Link): New section.
4922         * modules/recv (Depends-on): Add socketlib.
4923         (Link): New section.
4924         * modules/recvfrom (Depends-on): Add socketlib.
4925         (Link): New section.
4926         * modules/send (Depends-on): Add socketlib.
4927         (Link): New section.
4928         * modules/sendto (Depends-on): Add socketlib.
4929         (Link): New section.
4930         * modules/setsockopt (Depends-on): Add socketlib.
4931         (Link): New section.
4932         * modules/shutdown (Depends-on): Add socketlib.
4933         (Link): New section.
4934         * modules/socket (Depends-on): Add socketlib.
4935         (Link): New section.
4936
4937 2011-09-18  Bruno Haible  <bruno@clisp.org>
4938
4939         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
4940         * tests/test-ptsname.c (main): Terminate the test if it takes longer
4941         than 5 seconds.
4942         * modules/ptsname-tests (configure.ac): Test for alarm.
4943
4944 2011-09-18  Bruno Haible  <bruno@clisp.org>
4945
4946         posix_spawn_file_actions_add*: Fix module dependencies.
4947         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
4948         posix_spawn_file_actions_init.
4949         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
4950         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
4951
4952 2011-09-18  Bruno Haible  <bruno@clisp.org>
4953
4954         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
4955         * tests/test-rename.h (test_rename): Allow error code EEXIST.
4956         * tests/test-renameat.c (main): Likewise.
4957
4958 2011-09-18  Bruno Haible  <bruno@clisp.org>
4959
4960         Tests for module 'accept4'.
4961         * modules/accept4-tests: New file.
4962         * tests/test-accept4.c: New file.
4963
4964 2011-09-18  Bruno Haible  <bruno@clisp.org>
4965
4966         Tests for module 'accept'.
4967         * modules/accept-tests: New file.
4968         * tests/test-accept.c: New file.
4969
4970 2011-09-18  Bruno Haible  <bruno@clisp.org>
4971
4972         dup2: Support for MSVC.
4973         * lib/dup2.c: Include msvc-inval.h.
4974         (rpl_dup2): Handle invalid parameter notifications during dup2 and
4975         _get_osfhandle calls.
4976         * modules/dup2 (Depends-on): Add msvc-inval.
4977         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
4978
4979         New module 'msvc-inval'.
4980         * lib/msvc-inval.h: New file.
4981         * lib/msvc-inval.c: New file.
4982         * m4/msvc-inval.m4: New file.
4983         * modules/msvc-inval: New file.
4984
4985 2011-09-17  Bruno Haible  <bruno@clisp.org>
4986
4987         Tests for module 'pclose'.
4988         * modules/pclose-tests: New file.
4989
4990         New module 'pclose'.
4991         * lib/stdio.in.h (pclose): New declaration.
4992         * lib/pclose.c: New file.
4993         * m4/pclose.m4: New file.
4994         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
4995         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
4996         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
4997         * modules/pclose: New file.
4998         * modules/popen-tests (Depends-on): Add pclose.
4999         * modules/popen-safer-tests (Depends-on): Likewise.
5000         * doc/posix-functions/pclose.texi: Mention the new module.
5001
5002 2011-09-17  Bruno Haible  <bruno@clisp.org>
5003
5004         popen: Support for MSVC.
5005         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
5006         * lib/popen.c (popen): Provide alternate definition for native Windows.
5007         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
5008         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
5009         * modules/popen (Depends-on, configure.ac): Update condition.
5010         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
5011         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
5012         fixed.
5013
5014 2011-09-17  Bruno Haible  <bruno@clisp.org>
5015
5016         isnanl, isnand, isnanf: Work around MSVC bug.
5017         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
5018
5019 2011-09-17  Bruno Haible  <bruno@clisp.org>
5020
5021         sys_socket tests: Fix recent mistake.
5022         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
5023
5024 2011-09-17  Bruno Haible  <bruno@clisp.org>
5025
5026         putenv: Support for MSVC.
5027         * modules/putenv (Depends-on): Add environ.
5028         * lib/putenv.c (environ): Disable declaration.
5029         * lib/unistd.in.h: Update comment.
5030
5031 2011-09-17  Bruno Haible  <bruno@clisp.org>
5032
5033         math: Avoid macro redefinition warnings on MSVC.
5034         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
5035         Undefine before redefining.
5036
5037 2011-09-17  Bruno Haible  <bruno@clisp.org>
5038
5039         doc: Mention functions which are declared as macros.
5040         * doc/posix-functions/*[fl].texi: Mention that some functions are
5041         defined as macros with arguments only.
5042
5043 2011-09-17  Bruno Haible  <bruno@clisp.org>
5044
5045         Add dependencies to new dirent related modules.
5046         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
5047         * modules/fts (Depends-on): Likewise.
5048         * modules/glob (Depends-on): Likewise.
5049         * modules/savedir (Depends-on): Likewise.
5050         * modules/scandir (Depends-on): Likewise.
5051         * modules/dirent-safer (Depends-on): Add opendir, closedir.
5052         * modules/fdopendir (Depends-on): Add opendir.
5053
5054 2011-09-17  Bruno Haible  <bruno@clisp.org>
5055
5056         inet_pton: Support for MSVC on Windows Vista or newer.
5057         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
5058         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
5059         HAVE_DECL_INET_PTON is defined.
5060         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
5061         On platforms with <winsock2.h>, test whether inet_pton is declared in
5062         <ws2tcpip.h>. If so, arrange to replace it.
5063         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
5064         REPLACE_INET_PTON.
5065         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
5066         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
5067         (Depends-on, configure.ac): Update condition.
5068         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
5069
5070 2011-09-17  Bruno Haible  <bruno@clisp.org>
5071
5072         inet_ntop: Support for MSVC on Windows Vista or newer.
5073         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
5074         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
5075         HAVE_DECL_INET_NTOP is defined.
5076         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
5077         On platforms with <winsock2.h>, test whether inet_ntop is declared in
5078         <ws2tcpip.h>. If so, arrange to replace it.
5079         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
5080         REPLACE_INET_NTOP.
5081         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
5082         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
5083         (Depends-on, configure.ac): Update condition.
5084         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
5085
5086 2011-09-16  Eric Blake  <eblake@redhat.com>
5087
5088         test-fsync: yet another enhancement
5089         * tests/test-fsync.c (main): Also test behavior on read-only text
5090         file.
5091
5092 2011-09-16  Bruno Haible  <bruno@clisp.org>
5093
5094         Enhance fsync, fdatasync tests.
5095         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
5096         * tests/test-fdatasync.c (main): Likewise.
5097
5098 2011-09-16  Bruno Haible  <bruno@clisp.org>
5099
5100         Support for MSVC compiler: Ensure mode_t gets defined.
5101         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
5102         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5103         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
5104         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
5105         * tests/test-fcntl-h.c: Check that mode_t is defined.
5106         * tests/test-sys_stat.c: Likewise.
5107         * tests/test-sys_types.c: Likewise.
5108         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
5109         * doc/posix-headers/sys_stat.texi: Likewise.
5110         * doc/posix-headers/sys_types.texi: Likewise.
5111
5112 2011-09-16  Bruno Haible  <bruno@clisp.org>
5113
5114         sys_stat: Support for MSVC.
5115         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
5116         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
5117         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
5118         MSVC.
5119
5120 2011-09-16  Bruno Haible  <bruno@clisp.org>
5121
5122         Support for MSVC compiler: Ensure off_t gets defined.
5123         * lib/unistd.in.h: Include <sys/types.h>.
5124         * tests/test-fcntl-h.c: Check that off_t is defined.
5125         * tests/test-sys_stat.c: Likewise.
5126         * tests/test-sys_types.c: Likewise.
5127
5128 2011-09-16  Eric Blake  <eblake@redhat.com>
5129
5130         fdatasync: port to Solaris
5131         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
5132         * modules/fdatasync (Link): Document it.
5133         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
5134
5135         fdatasync: port to MacOS X 10.7
5136         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
5137         declared.
5138         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
5139         * modules/unistd (Makefile.am): Substitute it.
5140         * lib/unistd.in.h (fdatasync): Declare on MacOS.
5141         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
5142
5143         fdatasync: minor improvements
5144         * modules/fdatasync (Depends-on): Add condition for fsync.
5145         * lib/fdatasync.c (fdatasync): Add comment.
5146         * tests/test-unistd-c++.cc: Test fdatasync.
5147
5148         unistd: update refs to newer POSIX
5149         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
5150         Suggested by Bruno Haible.
5151
5152         fdatasync: new module
5153         * modules/fsync (Description): Document difference to fdatasync.
5154         * modules/fdatasync: New module.
5155         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
5156         * lib/fdatasync.c (fdatasync): Likewise.
5157         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
5158         defaults.
5159         * modules/unistd (Makefile.am): Set witnesses.
5160         * lib/unistd.in.h (fdatasync): Declare.
5161         * MODULES.html.sh: Document it.
5162         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
5163         * modules/fdatasync-tests: New test.
5164         * tests/test-fdatasync.c: Likewise.
5165
5166 2011-09-16  Eric Blake  <eblake@redhat.com>
5167
5168         test-fsync: enhance tests
5169         * modules/fsync-tests (Depends-on): Add errno, for mingw.
5170         * tests/test-fsync.c (main): Enhance test.
5171
5172 2011-09-15  Bruno Haible  <bruno@clisp.org>
5173
5174         Support for MSVC compiler: Ensure ssize_t gets defined.
5175         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
5176         * doc/posix-headers/stdio.texi: Likewise.
5177         * modules/stdio (Depends-on): Add ssize_t.
5178         * modules/sys_socket (Depends-on): Likewise.
5179         * modules/sys_types (Depends-on): Likewise.
5180         * modules/sys_uio (Depends-on): Likewise.
5181         * modules/unistd (Depends-on): Likewise.
5182         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
5183         * tests/test-sys_types.c: Check that ssize_t is defined.
5184
5185 2011-09-14  Bruno Haible  <bruno@clisp.org>
5186
5187         Avoid using #, the m4 comment starter character, near brackets.
5188         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
5189         delimiter character in sed expressions.
5190         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5191         Suggested by Eric Blake.
5192
5193         Properly quote AC_CHECK_DECLS' 4th argument.
5194         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
5195         argument.
5196         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5197         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5198         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5199         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5200         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
5201         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
5202         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
5203         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
5204         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
5205         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
5206         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
5207         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5208         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
5209         * m4/isinf.m4 (gl_ISINF): Likewise.
5210         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
5211         * m4/readutmp.m4 (gl_READUTMP): Likewise.
5212         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
5213         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5214         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5215         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5216         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5217         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5218         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
5219         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5220         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5221         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5222         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
5223         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5224         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
5225         Reported by Eric Blake.
5226
5227         Properly quote AC_CHECK_DECL's 4th argument.
5228         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
5229         argument.
5230         * m4/argp.m4 (gl_ARGP): Likewise.
5231         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
5232         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
5233         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
5234         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5235         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
5236         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
5237         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
5238         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
5239         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
5240         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
5241         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
5242         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
5243         Reported by Eric Blake.
5244
5245 2011-09-14  Eric Blake  <eblake@redhat.com>
5246
5247         opendir: avoid compile warning
5248         * lib/opendir.c (includes): Always include errno.h.
5249         Reported by Tatsuro MATSUOKA.
5250
5251 2011-09-14  Jim Meyering  <meyering@redhat.com>
5252
5253         maint.mk: sc_tight_scope: propagate failure from sub-make
5254         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
5255         Reported by Martin von Gagern.
5256
5257 2011-09-13  Bruno Haible  <bruno@clisp.org>
5258
5259         tempname: Support for MSVC.
5260         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
5261         MSVC.
5262         * modules/tempname (Depends-on): Add fcntl-h.
5263
5264 2011-09-13  Bruno Haible  <bruno@clisp.org>
5265
5266         sys_time: Support for MSVC.
5267         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
5268         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
5269         include <winsock2.h>.
5270         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
5271         function declarations that collide with POSIX.
5272         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
5273         (Makefile.am): Substitute HAVE_WINSOCK2_H.
5274
5275 2011-09-13  Bruno Haible  <bruno@clisp.org>
5276
5277         stat: Support for MSVC.
5278         * lib/stat.c: Include pathmax.h.
5279         * modules/stat (Depends-on): Add pathmax.
5280
5281         pathmax: Support for native Windows.
5282         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
5283
5284 2011-09-12  Bruno Haible  <bruno@clisp.org>
5285
5286         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
5287         * lib/dirent.in.h (struct dirent): New type.
5288         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
5289         DT_WHT): New macros.
5290         (DIR): New type.
5291         (opendir, closedir): Declare only if the module 'opendir' is enabled.
5292         (readdir, rewinddir): New declarations.
5293         * lib/dirent-private.h: New file.
5294         * lib/opendir.c: New file.
5295         * lib/readdir.c: New file.
5296         * lib/rewinddir.c: New file.
5297         * lib/closedir.c: New file.
5298         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
5299         * m4/opendir.m4: New file.
5300         * m4/readdir.m4: New file.
5301         * m4/rewinddir.m4: New file.
5302         * m4/closedir.m4: New file.
5303         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
5304         REPLACE_CLOSEDIR here.
5305         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
5306         readdir, rewinddir are declared.
5307         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
5308         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
5309         HAVE_REWINDDIR, HAVE_CLOSEDIR.
5310         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
5311         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
5312         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
5313         * modules/opendir: New file.
5314         * modules/readdir: New file.
5315         * modules/rewinddir: New file.
5316         * modules/closedir: New file.
5317         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
5318         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
5319         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
5320         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
5321         * NEWS: Mention the 'fchdir' change.
5322
5323 2011-09-11  Bruno Haible  <bruno@clisp.org>
5324
5325         asm-underscore.m4: Support for MSVC.
5326         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
5327         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
5328
5329 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
5330
5331         Doc about crypt functions.
5332         * doc/posix-functions/crypt.texi: Expand range of glibc versions
5333         needing for _GNU_SOURCE to get crypt.
5334         * doc/posix-functions/encrypt.texi: Likewise.
5335         * doc/posix-functions/setkey.texi: Likewise.
5336
5337 2011-09-11  Bruno Haible  <bruno@clisp.org>
5338
5339         doc: Update regarding MSVC 9.
5340         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
5341         tested".
5342         * doc/posix-functions/*.texi: Update with info about MSVC 9.
5343         * doc/posix-headers/*.texi: Likewise.
5344         * doc/pastposix-functions/*.texi: Likewise.
5345         * doc/glibc-functions/*.texi: Likewise.
5346         * doc/glibc-headers/*.texi: Likewise.
5347
5348 2011-09-11  Bruno Haible  <bruno@clisp.org>
5349
5350         unistd et al.: Don't assume <unistd.h> exists.
5351         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
5352         does not exist.
5353         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
5354         exist. But include <stdlib.h>.
5355         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
5356         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
5357         symlink() does not exist.
5358         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
5359         include <io.h> instead.
5360         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
5361         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
5362         include <direct.h> instead.
5363         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5364         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5365         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
5366         <io.h> instead.
5367         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
5368         correctly if the system does not have hard links.
5369         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
5370         <direct.h> instead.
5371         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
5372         it when looking for function declarations.
5373         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
5374         <direct.h> and <io.h> instead.
5375         * doc/posix-headers/unistd.texi: More details about MSVC problem.
5376
5377 2011-09-11  Bruno Haible  <bruno@clisp.org>
5378
5379         strcase: Support for MSVC.
5380         * modules/strcase (Status, Notice): Remove obsoletion mark.
5381         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
5382         * doc/posix-functions/strncasecmp.texi: Likewise.
5383
5384         strings: Don't assume <strings.h> exists.
5385         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
5386         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
5387         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
5388         * doc/posix-headers/strings.texi: Mention the MSVC problem.
5389
5390 2011-09-11  Bruno Haible  <bruno@clisp.org>
5391
5392         dirent: Don't assume <dirent.h> exists.
5393         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
5394         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
5395         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
5396         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
5397
5398 2011-09-11  Bruno Haible  <bruno@clisp.org>
5399
5400         Fix wint_t on MSVC.
5401         * lib/wchar.in.h (wint_t): On MSVC, override it.
5402         * lib/wctype.in.h (wint_t): Likewise.
5403         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
5404         MSVC.
5405         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
5406         * doc/posix-headers/wctype.texi: Likewise.
5407
5408 2011-09-11  Bruno Haible  <bruno@clisp.org>
5409
5410         sys_types: Fix typo.
5411         * lib/sys_types.in.h: Fix typo in comment.
5412         Reported by Paul Eggert.
5413
5414         Support for MSVC compiler: Ensure size_t gets defined.
5415         * modules/strings (Depends-on): Add 'sys_types'.
5416         * modules/sys_uio (Depends-on): Likewise.
5417         * lib/sys_uio.in.h: Update comment.
5418
5419         C++ tests for module 'sys_types'.
5420         * modules/sys_types-c++-tests: New file.
5421         * tests/test-sys_types-c++.cc: New file.
5422
5423         Tests for module 'sys_types'.
5424         * modules/sys_types-tests: New file.
5425         * tests/test-sys_types.c: New file.
5426
5427         New module 'sys_types'.
5428         * lib/sys_types.in.h: New file.
5429         * m4/sys_types_h.m4: New file.
5430         * modules/sys_types: New file.
5431         * doc/posix-headers/sys_types.texi: Mention the new module and the
5432         size_t problem on MSVC 9.
5433
5434 2011-09-11  Bruno Haible  <bruno@clisp.org>
5435
5436         Support for MSVC compiler: Avoid division by a literal 0.
5437         * lib/math.in.h (NAN): Define through a function call also on MSVC.
5438         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
5439         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
5440         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
5441         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
5442         * tests/infinity.h: New file.
5443         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
5444         on MSVC.
5445         * tests/test-ceilf1.c: Include infinity.h.
5446         (main): Use Infinityf.
5447         * tests/test-ceil1.c: Include infinity.h.
5448         (main): Use Infinityd.
5449         * tests/test-ceill.c: Include infinity.h.
5450         (main): Use Infinityl.
5451         * tests/test-dprintf-posix.c: Include infinity.h.
5452         (test_function): Use Infinityd.
5453         * tests/test-floorf1.c: Include infinity.h.
5454         (main): Use Infinityf.
5455         * tests/test-floor1.c: Include infinity.h.
5456         (main): Use Infinityd.
5457         * tests/test-floorl.c: Include infinity.h.
5458         (main): Use Infinityl.
5459         * tests/test-fprintf-posix.c: Include infinity.h.
5460         (test_function): Use Infinityd.
5461         * tests/test-frexp.c: Include infinity.h.
5462         (main): Use Infinityd.
5463         * tests/test-frexpl.c: Include infinity.h.
5464         (main): Use Infinityl.
5465         * tests/test-isfinite.c: Include infinity.h.
5466         (test_isfinitef): Use Infinityf.
5467         (test_isfinited): Use Infinityd.
5468         (test_isfinitel): Use Infinityl.
5469         * tests/test-isinf.c: Include infinity.h.
5470         (test_isinff): Use Infinityf.
5471         (test_isinfd): Use Infinityd.
5472         (test_isinfl): Use Infinityl.
5473         * tests/test-isnan.c: Include infinity.h.
5474         (test_float): Use Infinityf.
5475         (test_double): Use Infinityd.
5476         (test_long_double): Use Infinityl.
5477         * tests/test-isnanf.h: Include infinity.h.
5478         (main): Use Infinityf.
5479         * tests/test-isnand.h: Include infinity.h.
5480         (main): Use Infinityd.
5481         * tests/test-isnanl.h: Include infinity.h.
5482         (main): Use Infinityl.
5483         * tests/test-ldexpl.c: Include infinity.h.
5484         (main): Use Infinityl.
5485         * tests/test-printf-posix.h: Include infinity.h.
5486         (test_function): Use Infinityd.
5487         * tests/test-roundf1.c: Include infinity.h.
5488         (main): Use Infinityf.
5489         * tests/test-round1.c: Include infinity.h.
5490         (main): Use Infinityd.
5491         * tests/test-roundl.c: Include infinity.h.
5492         (main): Use Infinityl.
5493         * tests/test-signbit.c: Include infinity.h.
5494         (test_signbitf): Use Infinityf.
5495         (test_signbitd): Use Infinityd.
5496         (test_signbitl): Use Infinityl.
5497         * tests/test-snprintf-posix.h: Include infinity.h.
5498         (test_function): Use Infinityd, Infinityl.
5499         * tests/test-sprintf-posix.h: Include infinity.h.
5500         (test_function): Use Infinityd, Infinityl.
5501         * tests/test-truncf1.c: Include infinity.h.
5502         (main): Use Infinityf.
5503         * tests/test-trunc1.c: Include infinity.h.
5504         (main): Use Infinityd.
5505         * tests/test-truncl.c: Include infinity.h.
5506         (main): Use Infinityl.
5507         * tests/test-vasnprintf-posix.c: Include infinity.h.
5508         (test_function): Use Infinityd, Infinityl.
5509         * tests/test-vasprintf-posix.c: Include infinity.h.
5510         (test_function): Use Infinityd, Infinityl.
5511         * modules/ceilf-tests (Files): Add tests/infinity.h.
5512         * modules/ceil-tests (Files): Likewise.
5513         * modules/ceill-tests (Files): Likewise.
5514         * modules/dprintf-posix-tests (Files): Likewise.
5515         * modules/floorf-tests (Files): Likewise.
5516         * modules/floor-tests (Files): Likewise.
5517         * modules/floorl-tests (Files): Likewise.
5518         * modules/fprintf-posix-tests (Files): Likewise.
5519         * modules/frexp-tests (Files): Likewise.
5520         * modules/frexp-nolibm-tests (Files): Likewise.
5521         * modules/frexpl-tests (Files): Likewise.
5522         * modules/frexpl-nolibm-tests (Files): Likewise.
5523         * modules/isfinite-tests (Files): Likewise.
5524         * modules/isinf-tests (Files): Likewise.
5525         * modules/isnan-tests (Files): Likewise.
5526         * modules/isnanf-tests (Files): Likewise.
5527         * modules/isnanf-nolibm-tests (Files): Likewise.
5528         * modules/isnand-tests (Files): Likewise.
5529         * modules/isnand-nolibm-tests (Files): Likewise.
5530         * modules/isnanl-tests (Files): Likewise.
5531         * modules/isnanl-nolibm-tests (Files): Likewise.
5532         * modules/ldexpl-tests (Files): Likewise.
5533         * modules/printf-posix-tests (Files): Likewise.
5534         * modules/roundf-tests (Files): Likewise.
5535         * modules/round-tests (Files): Likewise.
5536         * modules/roundl-tests (Files): Likewise.
5537         * modules/signbit-tests (Files): Likewise.
5538         * modules/snprintf-posix-tests (Files): Likewise.
5539         * modules/sprintf-posix-tests (Files): Likewise.
5540         * modules/truncf-tests (Files): Likewise.
5541         * modules/trunc-tests (Files): Likewise.
5542         * modules/truncl-tests (Files): Likewise.
5543         * modules/vasnprintf-posix-tests (Files): Likewise.
5544         * modules/vasprintf-posix-tests (Files): Likewise.
5545         * modules/vdprintf-posix-tests (Files): Likewise.
5546         * modules/vfprintf-posix-tests (Files): Likewise.
5547         * modules/vprintf-posix-tests (Files): Likewise.
5548         * modules/vsnprintf-posix-tests (Files): Likewise.
5549         * modules/vsprintf-posix-tests (Files): Likewise.
5550         * modules/xprintf-posix-tests (Files): Likewise.
5551
5552 2011-09-11  Bruno Haible  <bruno@clisp.org>
5553
5554         Ensure pid_t gets defined.
5555         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
5556         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
5557         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
5558         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5559         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
5560         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
5561         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
5562         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
5563         * tests/test-fcntl-h.c: Check that pid_t is defined.
5564         * tests/test-sched.c: Likewise.
5565         * tests/test-termios.c: Likewise.
5566         * tests/test-time.c: Likewise.
5567         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
5568         * doc/posix-headers/signal.texi: Likewise.
5569         * doc/posix-headers/sys_types.texi: Likewise.
5570         * doc/posix-headers/time.texi: Likewise.
5571
5572 2011-09-11  Bruno Haible  <bruno@clisp.org>
5573
5574         acl: Fix compilation on Solaris 10 (older version).
5575         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
5576         of ACE_EVERYONE.
5577         * lib/set-mode-acl.c (qset_acl): Likewise.
5578         Reported by Christian Jullien <eligis@orange.fr>.
5579
5580 2011-09-10  Bruno Haible  <bruno@clisp.org>
5581
5582         iconv, unsetenv: Add support for MSVC compiler.
5583         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
5584         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
5585
5586 2011-09-10  Bruno Haible  <bruno@clisp.org>
5587
5588         *printf: Add support for MSVC compiler.
5589         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
5590         handles the exception caused by the %n directive. When cross-compiling,
5591         guess no on native Windows.
5592         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
5593         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
5594         emulate it through vsnprintf.
5595         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
5596         * doc/posix-functions/dprintf.texi: Update documentation regarding
5597         MSVC 9.
5598         * doc/posix-functions/fprintf.texi: Likewise.
5599         * doc/posix-functions/printf.texi: Likewise.
5600         * doc/posix-functions/snprintf.texi: Likewise.
5601         * doc/posix-functions/sprintf.texi: Likewise.
5602         * doc/posix-functions/swprintf.texi: Likewise.
5603         * doc/posix-functions/vdprintf.texi: Likewise.
5604         * doc/posix-functions/vfprintf.texi: Likewise.
5605         * doc/posix-functions/vprintf.texi: Likewise.
5606         * doc/posix-functions/vsnprintf.texi: Likewise.
5607         * doc/posix-functions/vsprintf.texi: Likewise.
5608         * doc/glibc-functions/asprintf.texi: Likewise.
5609         * doc/glibc-functions/obstack_printf.texi: Likewise.
5610         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
5611         * doc/glibc-functions/vasprintf.texi: Likewise.
5612
5613 2011-09-10  Bruno Haible  <bruno@clisp.org>
5614
5615         nocrash: Add support for native Windows.
5616         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
5617
5618 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
5619             Bruno Haible  <bruno@clisp.org>
5620
5621         absolute-header, include-next: Add support for MSVC compiler.
5622         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
5623         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
5624         directory separator in #line directives.
5625         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
5626         recognize also backslash as directory separator in #line directives.
5627
5628 2011-09-08  Jim Meyering  <meyering@redhat.com>
5629
5630         maint.mk: mark the post-release commit log with "maint: " prefix
5631         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
5632         one-line commit-log summary.
5633
5634 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
5635             Bruno Haible  <bruno@clisp.org>
5636
5637         Doc about crypt functions.
5638         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
5639         systems.
5640         * doc/posix-functions/encrypt.texi: Likewise.
5641         * doc/posix-functions/setkey.texi: Likewise.
5642
5643 2011-09-08  Simon Josefsson  <simon@josefsson.org>
5644
5645         * lib/gc.h: Fix copyright header.
5646
5647 2011-09-07  Bruno Haible  <bruno@clisp.org>
5648
5649         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
5650         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
5651         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
5652
5653 2011-09-07  Bruno Haible  <bruno@clisp.org>
5654
5655         openat: Work around compilation error with OSF/1 5.1 DTK cc.
5656         * lib/fopen.c: Use different syntax for include of <stdio.h>.
5657         * lib/freopen.c: Likewise.
5658         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
5659         * lib/lstat.c: Likewise.
5660         * lib/stat.c: Likewise.
5661         * lib/open.c: Use different syntax for include of <fcntl.h>.
5662         * lib/openat.c: Include fcntl.h again, explicitly.
5663
5664 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
5665
5666         parse-datetime: document the newly accepted format
5667         * doc/parse-datetime.texi (Combined date and time of day items):
5668         New section.
5669
5670 2011-09-06  Bruno Haible  <bruno@clisp.org>
5671
5672         acl: Fix a test failure on newer Solaris 10 with ZFS.
5673         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
5674         ENOSYS as no ACL.
5675         Reported by Jim Meyering.
5676
5677 2011-09-06  Bruno Haible  <bruno@clisp.org>
5678
5679         acl: Update for AIX >= 5.3 with NFS.
5680         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
5681         ENOSYS as no ACL.
5682
5683         acl: Fix a test failure on AIX >= 5.3 with NFS.
5684         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
5685         as no ACL.
5686
5687 2011-09-06  Bruno Haible  <bruno@clisp.org>
5688
5689         acl: Fix a test failure on IRIX 6.5 with NFS.
5690         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
5691         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
5692         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
5693         * lib/copy-acl.c (qcopy_acl): Likewise.
5694
5695 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
5696
5697         openat: port to AIX 7.1 with large files
5698         AIX 7.1 does a "#define openat open64at" if large files are in use,
5699         so we can't simply #undef openat.  Use the orig_openat trick (similar
5700         to orig_open in lib/open.c) to work around the problem.  Problem
5701         reported by Kevin Brott for GNU tar, in the thread containing
5702         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
5703         * lib/openat.c (__need_system_fcntl_h): Define first.
5704         Include <fcntl.h> and <sys/types.h> before undefining.
5705         (orig_openat) [HAVE_OPENAT]: New inline function.
5706         (openat) [HAVE_OPENAT]: Do not undef.
5707         (rpl_openat): Use orig_openat, not openat.
5708
5709 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
5710             Bruno Haible  <bruno@clisp.org>
5711
5712         acl: Avoid errors on NonStop Kernel.
5713         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
5714         ENOTSUP errors.
5715
5716 2011-09-05  Bruno Haible  <bruno@clisp.org>
5717
5718         acl: Clean up Solaris code.
5719         * lib/acl-internal.h: Remove no-op #if.
5720         * lib/file-has-acl.c: Likewise.
5721         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
5722         * lib/copy-acl.c (qcopy_acl): Likewise.
5723
5724 2011-09-05  Bruno Haible  <bruno@clisp.org>
5725
5726         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
5727         binaries built on the original Solaris 10.
5728         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
5729         trivial.
5730
5731 2011-09-05  Bruno Haible  <bruno@clisp.org>
5732
5733         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
5734         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
5735         10.
5736         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
5737         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
5738         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
5739         instead of acl_get, facl_get, acl_set, facl_set.
5740
5741 2011-09-05  Bruno Haible  <bruno@clisp.org>
5742
5743         copy-file: Try unit tests on more file systems.
5744         * tests/test-copy-file-1.sh: New file.
5745         * tests/test-copy-file-2.sh: New file.
5746         * modules/copy-file-tests (Files): Add them.
5747         (Makefile.am): Add them to TESTS.
5748
5749         acl: Try unit tests on more file systems.
5750         * tests/test-file-has-acl-1.sh: New file.
5751         * tests/test-file-has-acl-2.sh: New file.
5752         * tests/test-set-mode-acl-1.sh: New file.
5753         * tests/test-set-mode-acl-2.sh: New file.
5754         * tests/test-copy-acl-1.sh: New file.
5755         * tests/test-copy-acl-2.sh: New file.
5756         * modules/acl-tests (Files): Add them.
5757         (Makefile.am): Add them to TESTS.
5758
5759 2011-09-04  Bruno Haible  <bruno@clisp.org>
5760
5761         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
5762         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
5763         10.
5764         (OLD_ALLOW, OLD_DENY): New macros.
5765         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
5766         ACE_ACCESS_ALLOWED_ACE_TYPE.
5767         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
5768         ACE_ACCESS_DENIED_ACE_TYPE.
5769         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
5770         (NEW_ACE_EXECUTE): Fix value.
5771         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
5772         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
5773         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
5774         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
5775         NEW_ACE_SYNCHRONIZE): New macros.
5776         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
5777         instead of acl_fromtext, acl_set, facl_set.
5778         Fixes a coreutils/tests/cp/perm failure.
5779
5780 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
5781
5782         openat: test for fstatat (..., 0) bug
5783         Further testing with tar suggests that fstatat (..., 0)
5784         does not work in general, on AIX 7.1; see
5785         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
5786         So, give up entirely on AIX 7.1's fstatat, and fall back on our
5787         replacement fstatat (which is what older AIX releases were using
5788         anyway).
5789         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
5790         use is now changed to orig_fstatat.  This was probably the right
5791         thing to do anyway.
5792         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
5793         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
5794         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
5795         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
5796         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
5797         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
5798         if the bug is found.
5799
5800         openat: test for fstatat (AT_FDCWD, ..., 0) bug
5801         This tests for another fstatat bug on AIX 7.1:
5802         fstatat (AT_FDCWD, ..., 0) does not work.  See
5803         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
5804         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
5805         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
5806         (rpl_fstatat): Adjust so that it works around either (or both)
5807         bugs if present.
5808         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
5809
5810 2011-09-03  Karl Berry  <karl@gnu.org>
5811
5812         * doc/regex.texi (Character Class Operators): Avoid literal ":"
5813         in index entries.
5814
5815 2011-09-02  Bruno Haible  <bruno@clisp.org>
5816
5817         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
5818         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
5819         values of AR, ARFLAGS, RANLIB.
5820         Reported by John W. Eaton <jwe@gnu.org> for Octave.
5821
5822 2011-09-02  Bruno Haible  <bruno@clisp.org>
5823
5824         Find 'ar' program that fits with --host argument.
5825         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
5826
5827 2011-09-02  Bruno Haible  <bruno@clisp.org>
5828
5829         tests: init.sh: Support any non-GNU diff.
5830         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
5831         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
5832         Solaris 8.
5833
5834 2011-09-02  Bruno Haible  <bruno@clisp.org>
5835
5836         tests: init.sh: work also with any non-GNU diff that supports -u
5837         * tests/init.sh: Relax check for diff -u support.
5838         Rather than checking for GNU diff via --version, simply check
5839         for support for -u itself.  Useful at least on OpenBSD 4.9,
5840         AIX 7.1, IRIX 6.5, and Solaris 10.
5841
5842 2011-09-01  Bruno Haible  <bruno@clisp.org>
5843
5844         strtoimax, strtoumax: Document problem on HP-UX 11.
5845         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
5846         * doc/posix-functions/strtoumax.texi: Likewise.
5847
5848 2011-09-01  Bruno Haible  <bruno@clisp.org>
5849
5850         strtoumax: Avoid link error on OSF/1 with DTK cc.
5851         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
5852         defined as a function.
5853         * modules/strtoumax (Depends-on, configure.ac): Test only whether
5854         strtoumax is defined, not whether it is declared.
5855
5856 2011-09-01  Bruno Haible  <bruno@clisp.org>
5857
5858         strtoimax: Avoid link error on OSF/1 with DTK cc.
5859         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
5860         defined as a function.
5861         * modules/strtoimax (Depends-on, configure.ac): Test only whether
5862         strtoimax is defined, not whether it is declared.
5863
5864 2011-09-01  Bruno Haible  <bruno@clisp.org>
5865
5866         imaxdiv: Avoid link error on OSF/1 with DTK cc.
5867         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
5868         as a function.
5869         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
5870         whether it is declared.
5871
5872 2011-09-01  Bruno Haible  <bruno@clisp.org>
5873
5874         imaxabs: Avoid link error on OSF/1 with DTK cc.
5875         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
5876         as a function.
5877         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
5878         whether it is declared.
5879
5880 2011-09-01  Bruno Haible  <bruno@clisp.org>
5881
5882         Tests for module 'strtoumax'.
5883         * modules/strtoumax-tests: New file.
5884         * tests/test-strtoumax.c: New file.
5885
5886         Tests for module 'strtoimax'.
5887         * modules/strtoimax-tests: New file.
5888         * tests/test-strtoimax.c: New file.
5889
5890         Tests for module 'imaxdiv'.
5891         * modules/imaxdiv-tests: New file.
5892         * tests/test-imaxdiv.c: New file.
5893
5894         Tests for module 'imaxabs'.
5895         * modules/imaxabs-tests: New file.
5896         * tests/test-imaxabs.c: New file.
5897
5898 2011-09-01  Bruno Haible  <bruno@clisp.org>
5899
5900         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
5901         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
5902         pthread_create.
5903
5904 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5905
5906         openat: work around AIX 7.1 fstatat issue
5907         This should fix the problem that was not properly fixed
5908         in the previous change, dated 2011-08-30.
5909         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
5910         __need_system_stat_h defined.
5911         (orig_fstatat) [HAVE_FSTATAT]: New function.
5912         (rpl_fstatat): Go back to the old way of doing things,
5913         except call orig_fstatat instead of fstatat.
5914         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
5915         Remove unnecessary check whether fstatat fills in st_size etc.
5916
5917 2011-09-01  Bruno Haible  <bruno@clisp.org>
5918
5919         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
5920         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
5921         just include the system's header.
5922
5923 2011-08-31  Jim Meyering  <meyering@redhat.com>
5924
5925         tests: avoid spurious assertion failure in test-float.c on ppc64
5926         * tests/test-float.c (test_long_double): Comment out an assertion,
5927         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
5928         with gcc-4.4.4.
5929
5930         maint: indent with spaces, not TABs
5931         I need to get in the habit of running gnulib's "make check".
5932         Both of these would have been caught.
5933         * m4/largefile.m4: Indent with spaces, not TABs.
5934         * lib/parse-datetime.y (iso_8601_time): Likewise.
5935         Spotted by Pádraig Brady.
5936
5937         test-parse-datetime.c: accommodate a relatively strict gcc warning
5938         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
5939         to avoid a warning from gcc's -Werror=missing-declarations.
5940         Insert a few spaces-before-funcall-parenthesis.
5941
5942 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
5943
5944         parse-datetime: accept ISO 8601 date and time rep with "T" separator
5945         The parser now accepts ISO 8601 date-time strings with "T" as the
5946         separator.  It has long parsed dates like "2004-02-29 16:21:42"
5947         with a space between the date and time strings.  Now it also parses
5948         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
5949         variants like "2004-02-29T16:21:42.333-07:00"
5950         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
5951         of day representation using the 'T' separator character.
5952         * doc/parse-datetime.texi (General date syntax): replace use of
5953         deprecated --iso-8601 option with --rfc-3339 in example of date
5954         command output formats that can be parsed.
5955         * tests/test-parse-datetime.c (tm_diff): New function, taken from
5956         lib/parse-datetime.y.
5957         (gmt_offset): New function.
5958         (main): Add additional test cases to validate ISO8601 extended
5959         date and time of day parsing.
5960
5961 2011-08-31  Bruno Haible  <bruno@clisp.org>
5962
5963         freopen: Documentation.
5964         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
5965         name.
5966         Reported by Claudio Bley <claudio.bley@gmail.com>.
5967
5968 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
5969
5970         freopen: Don't crash if the filename argument is NULL.
5971         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
5972         NULL.
5973
5974 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
5975
5976         openat: work around AIX 7.1 fstatat bug
5977         Problem reported by Kevin Brott for GNU tar, in the thread containing
5978         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
5979         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
5980         FSTATAT_ST_SIZE_ETC_BROKEN.
5981         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
5982         rpl_fstatat.
5983         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
5984         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
5985         AC_CHECK_FUNCS_ONCE for fstatat.
5986         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
5987         fchmodat, mkdirat, openat and unlinkat.
5988
5989 2011-08-30  Bruno Haible  <bruno@clisp.org>
5990
5991         Avoid endless recursions if config.h includes some header files.
5992         * lib/fopen.c (__need_FILE): Define already before including config.h.
5993         * lib/freopen.c (__need_FILE): Likewise.
5994         * lib/open.c (__need_system_fcntl_h): Likewise.
5995         * lib/stat.c (__need_system_sys_stat_h): Likewise.
5996         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
5997         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5998
5999 2011-08-25  Karl Berry  <karl@gnu.org>
6000
6001         * config/srclist.txt (ylwrap): new try.
6002         * build-aux/ylwrap: new file.
6003
6004 2011-08-23  Bruno Haible  <bruno@clisp.org>
6005
6006         tmpdir: Use a good default directory on native Windows.
6007         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
6008         (P_tmpdir): Default to _P_tmpdir on native Windows.
6009         (path_search): On native Windows, try the value returned by GetTempPath
6010         before trying P_tmpdir.
6011         * modules/tmpdir (Depends-on): Add pathmax.
6012         Suggested by John Darrington <john@darrington.wattle.id.au>.
6013
6014 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
6015
6016         doc: fix typo in README-release
6017         * top/README-release: Capitalize first word of a sentence.
6018
6019 2011-08-19  Jim Meyering  <meyering@redhat.com>
6020
6021         fts: do not exhaust memory when processing million-entry directories
6022         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
6023         directory would require about 256*N bytes of memory.  Thus, it was
6024         easy to construct a directory too large to be processed by any of
6025         those tools.  With this change, fts' maximum memory utilization is
6026         now limited to around 30MB.
6027         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
6028         (fts_read): When we've processed the final entry (i.e., when
6029         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
6030         using the parent entry to read any remaining entries.  Dispatch
6031         depending on what fts_build returns:
6032         - NULL+stop, aka failure: stop
6033         - NULL otherwise: move up in the dir hierarchy
6034         - non-NULL: handle this new entry
6035         (fts_build): Declare and use new local, continue_readdir.
6036         Prepare to be called from fts_read, when the entries
6037         from a partially-read directory have just been exhausted.
6038         In that case, we'll skip the opendir and instead use the parent's
6039         fts_dirp and derive dir_fd from that.
6040         Finally, in the readdir loop, if we read max_entries entries,
6041         exit the loop ensuring *not* to call closedir.  This is required
6042         so that fts_dirp can be reused on a subsequent call.
6043         Prompted by Ben England's report of memory exhaustion in find
6044         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
6045
6046         maint: fts: move decl of `dp' down into while loop; split a long line
6047         * lib/fts.c (fts_build): No semantic change.
6048
6049         fts: add/use new struct member, fts_dirp
6050         We are about to use this to manage any directory with
6051         too many entries to read all of them into memory at once.
6052         To do that, we'll need to save the DIR* pointer in each
6053         affected FTSENT struct.
6054         * lib/fts_.h: Include <dirent.h>.
6055         (struct FTSENT) [fts_dirp]: New member.
6056         * lib/fts.c (closedir_and_clear): Define.
6057         Use it in place of closedir so that we are sure to
6058         clear the new fts_dirp member when done with it.
6059         (fts_alloc): Initialize the new member.
6060         (fts_lfree): Free, if needed.
6061
6062         maint: fts: give __opendir2 a new parameter and rename
6063         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
6064         than surreptitiously using sole caller's "dir_fd".
6065         (fts_opendir): Rename from __opendir2.
6066
6067         maint: fts.c: remove __opendir2's now-unused parameter, oflag
6068         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
6069
6070         maint: fts.c: correct off-by-one indentation
6071         * lib/fts.c (fts_build): Correct indentation, change style
6072         of a couple of block comments, and bracing style.
6073
6074         maint: fts.c: move __opendir2 #define "up" out of function body
6075         * lib/fts.c (__opendir2): Move "up".  No semantic change.
6076
6077         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
6078         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
6079         out for a long time and besides was useful only on BSD systems.
6080
6081 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
6082
6083         regex: port to Stratus OpenVOS
6084         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
6085         define to empty, rather than attempting nonportable optimizations.
6086         Problem reported by Paul Green in:
6087         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
6088         and fix suggested by Eric Blake in:
6089         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
6090
6091 2011-08-17  Eric Blake  <eblake@redhat.com>
6092
6093         getcwd: fix test failures on mingw
6094         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
6095         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
6096         test if long directory cannot be created, and allow mingw errno.
6097
6098         getcwd-lgpl: fix m4 to match relaxed test for BSD
6099         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
6100         (gl_FUNC_GETCWD_SIGNATURE): New macro.
6101         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
6102         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
6103         signature problem.
6104
6105         getcwd: fix compilation on mingw64
6106         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
6107         getcwd.
6108         Reported by Marc-André Lureau.
6109
6110         pipe2: silence compiler warning
6111         * lib/pipe2.c (pipe2): Hide label if it is not used.
6112
6113 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
6114
6115         relocatable-prog: fix link error
6116         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
6117         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
6118         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
6119         into modules/relocatable-lib without noticing that
6120         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
6121         also needs to build relocatable.c.
6122
6123 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
6124
6125         getaddrinfo: fix sh typo in gai_strerrorA decl checking
6126         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
6127         shell code: it contained a 'break' that was not in a loop.
6128         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
6129         via a shell-language loop; this may have been true in old Autoconf
6130         versions, but it's not true in Autoconf 2.68.  I found this bug
6131         when testing coreutils git on Solaris 8, whose shell complains
6132         about the syntax error.
6133
6134 2011-08-12  Simon Josefsson  <simon@josefsson.org>
6135
6136         * lib/base64.c: Fix comment to reference RFC 4648.
6137         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
6138         <gvtulder@gmail.com>.
6139
6140 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
6141
6142         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
6143
6144         po/Makefile.in.in: fix make -q problem
6145         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
6146         rule, since there's no file named 'check-macro-version' and its
6147         use as a file breaks make -q.
6148         (all): Don't depend on check-macro-version.
6149         (CHECK_MACRO_VERSION): New macro.
6150         (stamp-po): Use it.
6151
6152         configmake: fix make -q problem
6153         * modules/configmake (configmake.h): Update configmake.h's time stamp
6154         even if the file does not change.  Otherwise, 'make -q' fails.
6155         Problem reported by Simon Josefsson in
6156         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
6157
6158 2011-08-11  Jim Meyering  <meyering@redhat.com>
6159
6160         git-version-gen: correct the advice in a comment
6161         * build-aux/git-version-gen: Correct comment.
6162         Don't recommend to list .tarball-version in .gitignore.
6163
6164 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
6165
6166         base64: fix off-by-one buffer size bug
6167         Problem and (trivial) fix reported by Gijs van Tulder in
6168         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
6169         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
6170         * tests/test-base64.c (main): Catch the bug.
6171
6172 2011-08-10  Eric Blake  <eblake@redhat.com>
6173
6174         closein: correct comments
6175         * lib/closein.c (close_stdin): Improve comments.
6176
6177 2011-08-09  Bruno Haible  <bruno@clisp.org>
6178
6179         More tests for 'fseeko'.
6180         * tests/test-fseeko3.c: New file, from Eric Blake.
6181         * tests/test-fseeko3.sh: New file.
6182         * modules/fseeko-tests (Files): Add them.
6183         (TESTS): Add test-fseeko3.sh.
6184         (check_PROGRAMS): Add test-fseeko3.
6185
6186 2011-08-09  Eric Blake  <eblake@redhat.com>
6187
6188         fseeko: remove unneeded hack
6189         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
6190
6191         fseeko: fix bug on glibc
6192         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
6193         Reported by John W. Eaton.
6194
6195 2011-08-08  Bruno Haible  <bruno@clisp.org>
6196
6197         unictype/base: Fix interoperability with preinstalled libunistring.
6198         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
6199         Reported by Simon Josefsson.
6200
6201 2011-08-08  Bruno Haible  <bruno@clisp.org>
6202
6203         iswblank: Detect declaration correctly.
6204         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
6205         AC_CHECK_DECLS invocation.
6206
6207 2011-08-08  Bruno Haible  <bruno@clisp.org>
6208
6209         tcgetsid: Detect declaration correctly.
6210         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
6211         AC_CHECK_DECLS invocation.
6212         Reported by Simon Josefsson.
6213
6214 2011-08-08  Eric Blake  <eblake@redhat.com>
6215
6216         largefile: fix typo that regressed large file support
6217         * modules/largefile (configure.ac-early): Fix section name.
6218
6219 2011-08-06  Karl Berry  <karl@gnu.org>
6220
6221         * MODULES.html.sh (func_all_files): _Noreturn is no longer
6222         a separate module.
6223
6224 2011-08-05  Simon Josefsson  <simon@josefsson.org>
6225
6226         openat: Fix warnings and commens when building unlinkat.c on Hurd.
6227         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
6228         get prototype for free.
6229
6230 2011-08-04  Bruno Haible  <bruno@clisp.org>
6231
6232         Tests for module 'pathmax'.
6233         * modules/pathmax-tests: New file.
6234         * tests/test-pathmax.c: New file.
6235
6236         canonicalize-lgpl: Support larger filenames on the Hurd.
6237         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
6238         Reported by Paul Eggert.
6239
6240         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
6241         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
6242         * lib/chdir-long.h: Include pathmax.h.
6243         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
6244         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
6245         (PATH_MAX): Remove code that is done by pathmax.h.
6246         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
6247         * lib/tmpfile.c: Add a comment.
6248         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
6249         * modules/chdir-long (Depends-on): Add pathmax.
6250         * modules/getcwd (Depends-on): Add pathmax.
6251         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
6252         is not defined.
6253         * doc/posix-headers/limits.texi: Mention the pathmax module.
6254         * NEWS: Mention the change.
6255
6256 2011-08-02  Bruno Haible  <bruno@clisp.org>
6257
6258         pthread_sigmask: Actually use results of gl_THREADLIB.
6259         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
6260         gl_THREADLIB, not gl_[]THREADLIB.
6261         Reported by Eric Blake.
6262
6263 2011-08-02  Jim Meyering  <meyering@redhat.com>
6264
6265         maint.mk: relax the default _gl_TS_function_match regexp
6266         * top/maint.mk (_gl_TS_function_match): Don't require at least one
6267         space between function name and "(" in an "extern" declaration.
6268         That would fail to match a decl with no space there: extern void foo();
6269
6270 2011-07-31  Iain Nicol  <iain@thenicols.net>
6271
6272         git-version-gen: document that EXTRA_DIST must include .version
6273         * build-aux/git-version-gen: In the how-to-use comment, document
6274         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
6275         will fail when run from an unpacked distribution tarball.
6276
6277 2011-08-01  Bruno Haible  <bruno@clisp.org>
6278
6279         wctype-h: Fix last change.
6280         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
6281         REPLACE_TOWLOWER to 0.
6282         Reported by Sam Steingold <sds@gnu.org>.
6283
6284 2011-07-31  Bruno Haible  <bruno@clisp.org>
6285
6286         frexpl: Update autoconf test.
6287         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
6288         according to changes of 2011-06-20.
6289
6290 2011-07-31  Bruno Haible  <bruno@clisp.org>
6291
6292         sys_utsname: Add support for Minix.
6293         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
6294         <sys/utsname.h>.
6295         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
6296         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
6297
6298 2011-07-31  Bruno Haible  <bruno@clisp.org>
6299
6300         strings: Add support for Minix.
6301         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
6302         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
6303         * doc/posix-headers/strings.texi: Document the Minix problem.
6304
6305 2011-07-31  Bruno Haible  <bruno@clisp.org>
6306
6307         wctype-h: Add support for Minix.
6308         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
6309         REPLACE_TOWLOWER.
6310         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
6311         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
6312         REPLACE_ISWCNTRL.
6313
6314 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
6315
6316         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
6317         This is a performance improvement for 64-bit hosts: it causes the
6318         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
6319
6320 2011-07-31  Bruno Haible  <bruno@clisp.org>
6321
6322         stdioext: Add support for Minix.
6323         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
6324         * lib/fpurge.c (fpurge): Likewise.
6325         * lib/freadahead.c (freadahead): Likewise.
6326         * lib/freadable.c (freadable): Likewise.
6327         * lib/freading.c (freading): Likewise.
6328         * lib/freadptr.c (freadptr): Likewise.
6329         * lib/freadseek.c (freadptrinc): Likewise.
6330         * lib/fseeko.c (rpl_fseeko): Likewise.
6331         * lib/fseterr.c (fseterr): Likewise.
6332         * lib/fwritable.c (fwritable): Likewise.
6333         * lib/fwriting.c (fwriting): Likewise.
6334         * lib/fflush.c (clear_ungetc_buffer): Update comment.
6335         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
6336
6337 2011-07-31  Bruno Haible  <bruno@clisp.org>
6338
6339         errno: Port to Minix.
6340         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
6341         ECONNABORTED are defined.
6342         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
6343         GNULIB_defined_ECONNABORTED): New macros.
6344         * lib/strerror-override.h (strerror_override): Test also
6345         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
6346         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
6347         ECONNABORTED.
6348         * doc/posix-headers/errno.texi: Mention the Minix problem.
6349
6350 2011-07-31  Bruno Haible  <bruno@clisp.org>
6351
6352         Work around declaration collisions on Minix.
6353         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
6354         defined, set REPLACE_MBSINIT.
6355         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
6356         defined, set REPLACE_MBRTOWC.
6357         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
6358         set REPLACE_MBRLEN.
6359         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
6360         defined, set REPLACE_MBSRTOWCS.
6361         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
6362         defined, set REPLACE_WCRTOMB.
6363         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
6364         defined, set REPLACE_WCSRTOMBS.
6365
6366 2011-07-31  Bruno Haible  <bruno@clisp.org>
6367
6368         Add support for Minix with ACK compiler.
6369         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
6370         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
6371         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
6372
6373 2011-07-31  Bruno Haible  <bruno@clisp.org>
6374
6375         Documentation about Minix.
6376         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
6377         * doc/glibc-headers/*.texi: Likewise.
6378         * doc/posix-functions/*.texi: Likewise.
6379         * doc/glibc-functions/*.texi: Likewise.
6380
6381 2011-07-31  Bruno Haible  <bruno@clisp.org>
6382
6383         snippet/warn-on-use: Fix indentation.
6384         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
6385
6386 2011-07-25  Jim Meyering  <meyering@redhat.com>
6387
6388         tests: test-update-copyright.sh: remove unnecessary "rm" commands
6389         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
6390         commands.
6391
6392 2011-07-27  Jim Meyering  <meyering@redhat.com>
6393
6394         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
6395         * top/maint.mk (gl_extract_significant_defines_): Now that
6396         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
6397         gnulib/lib/signal.in.h, and now that we recommend to
6398         define-if-undefined those two symbols in application code,
6399         we must filter them out of the "significant" list.
6400         This avoids a "make syntax-check" failure in coreutils.
6401
6402 2011-07-26  Eric Blake  <eblake@redhat.com>
6403
6404         warnings: add comments about previous patch
6405         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
6406         * m4/include_next.m4: Likewise.
6407         * m4/warn-on-use.m4: Likewise.
6408         * m4/warnings.m4: Likewise, and simplify use.
6409         Suggested by Stefano Lattarini.
6410
6411         include-next, warnings: support older autoconf
6412         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
6413         AS_VAR_PUSHDEF in a way that works with older autoconf.
6414         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
6415         Reported by Daniel P. Berrange.
6416
6417 2011-07-25  Bruno Haible  <bruno@clisp.org>
6418
6419         fseek, ftell: Fix doc.
6420         * doc/posix-functions/fseek.texi: Reword statement about
6421         AC_SYS_LARGEFILE.
6422         * doc/posix-functions/ftell.texi: Likewise.
6423
6424 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
6425             Bruno Haible  <bruno@clisp.org>
6426
6427         Add dependencies to the 'largefile' module.
6428         * modules/fopen (Depends-on): Add 'largefile'.
6429         * modules/freopen (Depends-on): Likewise.
6430         * modules/fseeko (Depends-on): Likewise.
6431         * modules/ftello (Depends-on): Likewise.
6432         * modules/glob (Depends-on): Likewise.
6433         * modules/lseek (Depends-on): Likewise.
6434         * modules/lstat (Depends-on): Likewise.
6435         * modules/mkostemp (Depends-on): Likewise.
6436         * modules/mkostemps (Depends-on): Likewise.
6437         * modules/mkstemp (Depends-on): Likewise.
6438         * modules/mkstemps (Depends-on): Likewise.
6439         * modules/open (Depends-on): Likewise.
6440         * modules/openat (Depends-on): Likewise.
6441         * modules/pread (Depends-on): Likewise.
6442         * modules/pwrite (Depends-on): Likewise.
6443         * modules/scandir (Depends-on): Likewise.
6444         * modules/stat (Depends-on): Likewise.
6445         * modules/tmpfile (Depends-on): Likewise.
6446         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
6447         since the containing module now depends on the largefile module.
6448         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
6449         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
6450         off_t is fixed by gnulib.
6451         * doc/posix-functions/freopen.texi: Likewise.
6452         * doc/posix-functions/fseeko.texi: Likewise.
6453         * doc/posix-functions/fstatat.texi: Likewise.
6454         * doc/posix-functions/ftello.texi: Likewise.
6455         * doc/posix-functions/glob.texi: Likewise.
6456         * doc/posix-functions/lseek.texi: Likewise.
6457         * doc/posix-functions/lstat.texi: Likewise.
6458         * doc/posix-functions/mkstemp.texi: Likewise.
6459         * doc/posix-functions/open.texi: Likewise.
6460         * doc/posix-functions/openat.texi: Likewise.
6461         * doc/posix-functions/pread.texi: Likewise.
6462         * doc/posix-functions/pwrite.texi: Likewise.
6463         * doc/posix-functions/scandir.texi: Likewise.
6464         * doc/posix-functions/stat.texi: Likewise.
6465         * doc/posix-functions/tmpfile.texi: Likewise.
6466         * doc/glibc-functions/mkostemp.texi: Likewise.
6467         * doc/glibc-functions/mkostemps.texi: Likewise.
6468         * doc/glibc-functions/mkstemps.texi: Likewise.
6469
6470 2011-07-25  Bruno Haible  <bruno@clisp.org>
6471
6472         fcntl: Move AC_LIBOBJ invocation to module description.
6473         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
6474         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
6475
6476         fcntl: Remove call-in from fchdir.m4.
6477         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
6478         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
6479
6480         dup3: Remove potential call-in from fchdir.m4.
6481         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
6482         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
6483
6484         dup2: Move AC_LIBOBJ invocation to module description.
6485         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
6486         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
6487         Don't invoke AC_LIBOBJ.
6488         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
6489
6490         dup2: Remove call-in from fchdir.m4.
6491         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
6492         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
6493
6494         fclose: Move AC_LIBOBJ invocation to module description.
6495         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
6496         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
6497         to 1.
6498         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
6499
6500         fclose: Remove call-in from close.m4.
6501         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
6502         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
6503
6504         close: Move AC_LIBOBJ invocation to module description.
6505         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
6506         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
6507         1.
6508         * modules/close (configure.ac): Invoke AC_LIBOBJ.
6509
6510         close: Remove call-in from fchdir.m4.
6511         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
6512         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
6513
6514         open: Move AC_LIBOBJ invocation to module description.
6515         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
6516         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
6517         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
6518
6519         open: Remove call-in from fchdir.m4.
6520         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
6521         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
6522
6523         fchdir: Start to remove gl_REPLACE_* idiom.
6524         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
6525         (gl_FUNC_FCHDIR): Invoke it.
6526
6527 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
6528
6529         * lib/ftell.c (ftell): Comment out cast.
6530
6531         close: use gl_REPLACE_FCLOSE only if defined
6532         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
6533         is defined.  The close module doesn't depend on the fclose module
6534         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
6535         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
6536         I reproduced the problem with "./gnulib-tool --test close sys_socket".
6537
6538 2011-07-24  Jim Meyering  <meyering@redhat.com>
6539
6540         test-select.h: avoid warning when using gcc's -Wmissing-declarations
6541         * tests/test-select.h (test_function): Declare as "static".
6542
6543 2011-07-24  Bruno Haible  <bruno@clisp.org>
6544
6545         doc: Mention the effects of AC_SYS_LARGEFILE.
6546         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
6547         on this function.
6548         * doc/posix-functions/aio_error.texi: Likewise.
6549         * doc/posix-functions/aio_fsync.texi: Likewise.
6550         * doc/posix-functions/aio_read.texi: Likewise.
6551         * doc/posix-functions/aio_return.texi: Likewise.
6552         * doc/posix-functions/aio_suspend.texi: Likewise.
6553         * doc/posix-functions/aio_write.texi: Likewise.
6554         * doc/posix-functions/fgetpos.texi: Likewise.
6555         * doc/posix-functions/fopen.texi: Likewise.
6556         * doc/posix-functions/freopen.texi: Likewise.
6557         * doc/posix-functions/fsetpos.texi: Likewise.
6558         * doc/posix-functions/fstatvfs.texi: Likewise.
6559         * doc/posix-functions/ftruncate.texi: Likewise.
6560         * doc/posix-functions/ftw.texi: Likewise.
6561         * doc/posix-functions/getrlimit.texi: Likewise.
6562         * doc/posix-functions/glob.texi: Likewise.
6563         * doc/posix-functions/lio_listio.texi: Likewise.
6564         * doc/posix-functions/lockf.texi: Likewise.
6565         * doc/posix-functions/mkstemp.texi: Likewise.
6566         * doc/posix-functions/mmap.texi: Likewise.
6567         * doc/posix-functions/nftw.texi: Likewise.
6568         * doc/posix-functions/openat.texi: Likewise.
6569         * doc/posix-functions/opendir.texi: Likewise.
6570         * doc/posix-functions/posix_fadvise.texi: Likewise.
6571         * doc/posix-functions/posix_fallocate.texi: Likewise.
6572         * doc/posix-functions/pread.texi: Likewise.
6573         * doc/posix-functions/pwrite.texi: Likewise.
6574         * doc/posix-functions/readdir.texi: Likewise.
6575         * doc/posix-functions/readdir_r.texi: Likewise.
6576         * doc/posix-functions/rewinddir.texi: Likewise.
6577         * doc/posix-functions/scandir.texi: Likewise.
6578         * doc/posix-functions/seekdir.texi: Likewise.
6579         * doc/posix-functions/setrlimit.texi: Likewise.
6580         * doc/posix-functions/statvfs.texi: Likewise.
6581         * doc/posix-functions/telldir.texi: Likewise.
6582         * doc/posix-functions/tmpfile.texi: Likewise.
6583         * doc/posix-functions/truncate.texi: Likewise.
6584         * doc/glibc-functions/fallocate.texi: Likewise.
6585         * doc/glibc-functions/fstatfs.texi: Likewise.
6586         * doc/glibc-functions/fts_children.texi: Likewise.
6587         * doc/glibc-functions/fts_read.texi: Likewise.
6588         * doc/glibc-functions/getdirentries.texi: Likewise.
6589         * doc/glibc-functions/mkostemp.texi: Likewise.
6590         * doc/glibc-functions/mkostemps.texi: Likewise.
6591         * doc/glibc-functions/mkstemps.texi: Likewise.
6592         * doc/glibc-functions/preadv.texi: Likewise.
6593         * doc/glibc-functions/pwritev.texi: Likewise.
6594         * doc/glibc-functions/sendfile.texi: Likewise.
6595         * doc/glibc-functions/statfs.texi: Likewise.
6596
6597 2011-07-24  Bruno Haible  <bruno@clisp.org>
6598
6599         doc: Fix typo.
6600         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
6601
6602 2011-07-24  Bruno Haible  <bruno@clisp.org>
6603
6604         doc: Mention fsusage.
6605         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
6606
6607 2011-07-24  Bruno Haible  <bruno@clisp.org>
6608
6609         doc: Mention new glibc headers and functions.
6610         * doc/glibc-headers/gshadow.texi: New file.
6611         * doc/glibc-functions/endsgent.texi: New file.
6612         * doc/glibc-functions/fgetsgent.texi: New file.
6613         * doc/glibc-functions/fgetsgent_r.texi: New file.
6614         * doc/glibc-functions/getsgent.texi: New file.
6615         * doc/glibc-functions/getsgent_r.texi: New file.
6616         * doc/glibc-functions/getsgnam.texi: New file.
6617         * doc/glibc-functions/getsgnam_r.texi: New file.
6618         * doc/glibc-functions/putsgent.texi: New file.
6619         * doc/glibc-functions/setsgent.texi: New file.
6620         * doc/glibc-functions/sgetsgent.texi: New file.
6621         * doc/glibc-functions/sgetsgent_r.texi: New file.
6622         * doc/glibc-functions/malloc_info.texi: New file.
6623         * doc/glibc-functions/preadv.texi: New file.
6624         * doc/glibc-functions/pwritev.texi: New file.
6625         * doc/glibc-functions/register_printf_modifier.texi: New file.
6626         * doc/glibc-functions/register_printf_specifier.texi: New file.
6627         * doc/glibc-functions/register_printf_type.texi: New file.
6628         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
6629         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
6630         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
6631         * doc/glibc-functions/pthread_getname_np.texi: New file.
6632         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
6633         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
6634         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
6635         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
6636         * doc/glibc-functions/pthread_setname_np.texi: New file.
6637         * doc/glibc-functions/pthread_sigqueue.texi: New file.
6638         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
6639         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
6640         * doc/glibc-functions/qsort_r.texi: New file.
6641         * doc/glibc-functions/quick_exit.texi: New file.
6642         * doc/glibc-functions/syncfs.texi: New file.
6643         * doc/gnulib.texi: Include them.
6644         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
6645         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
6646         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
6647         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
6648         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
6649         * doc/glibc-functions/execvpe.texi: Likewise.
6650
6651 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6652
6653         ftell: don't include <unistd.h>
6654         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
6655         guaranteed to define off_t, and the ftell module depends on the
6656         stdio module.
6657
6658         ftell: do not assume wraparound signed arithmetic
6659         * lib/ftell.c: Include <limits.h>.
6660         (ftell): Don't assume wraparound signed arithmetic.
6661
6662 2011-07-24  Bruno Haible  <bruno@clisp.org>
6663
6664         close: No longer depend on module 'fclose'.
6665         * modules/close (Depends-on): Remove fclose.
6666         * NEWS: Mention the change.
6667         Suggested by Sam Steingold <sds@gnu.org>.
6668
6669 2011-07-24  Bruno Haible  <bruno@clisp.org>
6670
6671         fsusage: Enable large volume support on AIX >= 5.2.
6672         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
6673         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
6674         instead of STAT_STATVFS.
6675         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
6676
6677         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
6678         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
6679         f_blocks field only on MacOS X.
6680
6681         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
6682         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
6683         * modules/fsusage (Depends-on): Add largefile.
6684
6685 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6686
6687         * README: Modernize discussion of signed integers.
6688         Assuming overflow wraparound is no longer safe.
6689         Mention ones' complement and signed magnitude.
6690
6691 2011-07-22  Bruno Haible  <bruno@clisp.org>
6692
6693         select tests, pselect tests: Refactor.
6694         * tests/test-select.h: New file, extracted from tests/test-select.c.
6695         (select_fn): New type.
6696         (test, do_select, do_select_nowait, do_select_wait, test_tty,
6697         test_connect_first, test_accept_first, test_pair, test_socket_pair,
6698         test_pipe): Add my_select argument.
6699         (test_function): Renamed from main. Add my_select argument.
6700         * tests/test-select.c: Move most code to tests/test-select.h. Include
6701         test-select.h.
6702         * modules/select-tests (Files): Add tests/test-select.h.
6703         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
6704         (my_select, main): New functions.
6705         * modules/pselect-tests (Files): Add tests/test-select.h,
6706         tests/macros.h, tests/signature.h.
6707         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
6708         (configure.ac): Check for <sys/wait.h>.
6709
6710 2011-07-22  Bruno Haible  <bruno@clisp.org>
6711
6712         sys_select tests: Check the signature of FD_*.
6713         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
6714         signature tests from here...
6715         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
6716         here.
6717         * modules/sys_select-tests (Files): Add tests/signature.h.
6718
6719 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
6720
6721         largefile: new module, replacing large-inode
6722         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
6723         * MODULES.html.sh: Add largefile, remove large-inode.
6724         * modules/largefile, m4/largefile.m4: New files.
6725         * modules/large-inode, m4/large-inode.m4: Remove.
6726
6727         fsusage: port to MacOS X 10.7 with 4 TiB file systems
6728         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
6729         implementations that use only 32 bits to count blocks.
6730         On typical hosts with 1024-byte blocks, this fails with file
6731         systems as small as 4 TiB.  Problem reported by Herb Wartens
6732         <http://debbugs.gnu.org/9140> and this should also fix a similar
6733         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
6734
6735         large-inode: New module
6736         * MODULES.html.sh: Add it.
6737         * modules/large-inode, m4/large-inode.m4: New files.
6738
6739         extensions: Enable extensions on MacOS X 10.5 and later.
6740         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
6741
6742 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
6743
6744         file-has-acl: use acl_extended_file_nofollow if available
6745         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
6746         (acl_extended_file): New macro.
6747         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
6748         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
6749
6750 2011-07-21  Bruno Haible  <bruno@clisp.org>
6751
6752         Declare system functions in a way that works with C++.
6753         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
6754         declare fdopendir as extern "C".
6755         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
6756         declare frexpl as extern "C".
6757         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
6758         declare gai_strerror as extern "C".
6759         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
6760         programs, declare gai_strerror as extern "C".
6761         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
6762         declare getlogin_r as extern "C".
6763         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
6764         as extern "C".
6765         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
6766         declare ldexpl as extern "C".
6767         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
6768         as extern "C".
6769         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
6770         program, declare getmntinfo as extern "C".
6771         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
6772         stpncpy as extern "C".
6773         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
6774         program, declare __xpg_strerror_r as extern "C".
6775         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
6776         strndup as extern "C".
6777         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
6778         declare memset and bzero as extern "C".
6779         Reported by Sam Steingold <sds@gnu.org>.
6780
6781 2011-07-12  Jim Meyering  <meyering@redhat.com>
6782
6783         maint.mk: prohibit inclusion of "verify.h" without use
6784         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
6785
6786 2011-07-19  Pádraig Brady  <P@draigBrady.com>
6787
6788         timer-time: A new module to check for timer_settime()
6789         * m4/timer_time.m4: Check for the posix function.
6790         * modules/timer-time: Add the new module.
6791         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
6792         Mention it.
6793
6794 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
6795             Bruno Haible  <bruno@clisp.org>
6796
6797         pthread_sigmask: assume POSIX threads if --avoid=threadlib
6798         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
6799         not defined, assume POSIX threads and look for pthread_sigmask in
6800         $LIBS, without changing $CPPFLAGS.
6801
6802 2011-07-19  Bruno Haible  <bruno@clisp.org>
6803
6804         strstr: Update cross-compilation guess.
6805         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
6806         CPUs, guess no, in view of glibc
6807         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
6808         Suggested by Eric Blake. Reported by Reuben Thomas.
6809
6810 2011-07-19  Pádraig Brady  <P@draigBrady.com>
6811
6812         getopt-gnu: suppress core dumps from detection code
6813         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
6814         to suppress core dumps that may well occur on glibc systems.
6815         * modules/getopt-gnu: Depend on nocrash.
6816
6817 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
6818
6819         pthread_sigmask: ensure usleep is declared
6820         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
6821         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
6822
6823 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
6824
6825         doc: Document NonStop portability issues.
6826         * doc/posix-functions/sigaction.texi (sigaction):
6827         * doc/posix-headers/signal.texi (signal.h):
6828         Document NonStop.  See Joachim Schmitz in
6829         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
6830
6831 2011-07-15  Bruno Haible  <bruno@clisp.org>
6832
6833         ffsl, ffsll: Avoid unportable behaviour.
6834         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
6835
6836 2011-07-15  Bruno Haible  <bruno@clisp.org>
6837
6838         ffs: More tests.
6839         * tests/test-ffs.c (NBITS): New macro.
6840         (main): Add more tests.
6841         * tests/test-ffsl.c (NBITS): New macro.
6842         (main): Add more tests.
6843         * tests/test-ffsll.c (NBITS): New macro.
6844         (main): Add more tests.
6845
6846 2011-07-15  Eric Blake  <eblake@redhat.com>
6847
6848         ffsl, ffsll: new modules
6849         * modules/ffsl: New file.
6850         * modules/ffsll: Likewise.
6851         * m4/ffsl.m4: Likewise.
6852         * m4/ffsll.m4: Likewise.
6853         * lib/ffsl.c: Likewise.
6854         * lib/ffsl.h: Likewise.
6855         * lib/ffsll.c: Likewise.
6856         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
6857         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
6858         * modules/string (Makefile.am): Substitute witnesses.
6859         * lib/strings.in.h (ffsl, ffsll): Declare.
6860         * modules/ffsl-tests: New test file.
6861         * modules/ffsll-tests: Likewise.
6862         * tests/test-ffsl.c: Likewise.
6863         * tests/test-ffsll.c: Likewise.
6864         * MODULES.html.sh (Integer arithmetic functions): Mention it.
6865         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
6866         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
6867
6868         ffs: fix m4 prerequisite
6869         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
6870
6871         ffs: avoid undefined behavior
6872         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
6873         * tests/test-ffs.c (naive, main): Avoid signed shifts.
6874         Reported by Bruno Haible.
6875
6876 2011-07-12  Bruno Haible  <bruno@clisp.org>
6877
6878         pthread_sigmask: Rely on module 'threadlib'.
6879         * modules/pthread_sigmask (Depends-on): Add threadlib.
6880         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
6881         is defined.
6882
6883 2011-07-12  Bruno Haible  <bruno@clisp.org>
6884
6885         regex: Depend on module 'strcase'.
6886         * modules/regex (Depends-on): Add strcase, for strcasecmp().
6887
6888 2011-07-12  Jim Meyering  <meyering@redhat.com>
6889
6890         warn-on-use: fix typo in file name
6891         * modules/snippet/warn-on-use (Files): Correct file name:
6892         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
6893
6894 2011-07-12  Bruno Haible  <bruno@clisp.org>
6895
6896         strings: Document module.
6897         * doc/posix-headers/strings.texi: Mention module 'strings'.
6898
6899 2011-07-12  Bruno Haible  <bruno@clisp.org>
6900
6901         Rename module '_Noreturn' to 'snippet/_Noreturn'.
6902         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
6903         (Files, Makefile.am): Update.
6904         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
6905         * modules/stdlib (Depends-on): Update.
6906
6907 2011-07-12  Bruno Haible  <bruno@clisp.org>
6908
6909         * NEWS: Mention the changes.
6910
6911         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
6912         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
6913         (Files, Makefile.am): Update.
6914         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
6915         * modules/arpa_inet (Depends-on): Update.
6916         * modules/ctype (Depends-on): Update.
6917         * modules/dirent (Depends-on): Update.
6918         * modules/fcntl-h (Depends-on): Update.
6919         * modules/glob (Depends-on): Update.
6920         * modules/iconv-h (Depends-on): Update.
6921         * modules/inttypes-incomplete (Depends-on): Update.
6922         * modules/langinfo (Depends-on): Update.
6923         * modules/locale (Depends-on): Update.
6924         * modules/math (Depends-on): Update.
6925         * modules/netdb (Depends-on): Update.
6926         * modules/poll-h (Depends-on): Update.
6927         * modules/pty (Depends-on): Update.
6928         * modules/search (Depends-on): Update.
6929         * modules/signal (Depends-on): Update.
6930         * modules/spawn (Depends-on): Update.
6931         * modules/stdio (Depends-on): Update.
6932         * modules/stdlib (Depends-on): Update.
6933         * modules/string (Depends-on): Update.
6934         * modules/strings (Depends-on): Update.
6935         * modules/sys_file (Depends-on): Update.
6936         * modules/sys_ioctl (Depends-on): Update.
6937         * modules/sys_select (Depends-on): Update.
6938         * modules/sys_socket (Depends-on): Update.
6939         * modules/sys_stat (Depends-on): Update.
6940         * modules/sys_time (Depends-on): Update.
6941         * modules/sys_times (Depends-on): Update.
6942         * modules/sys_utsname (Depends-on): Update.
6943         * modules/sys_wait (Depends-on): Update.
6944         * modules/termios (Depends-on): Update.
6945         * modules/time (Depends-on): Update.
6946         * modules/unistd (Depends-on): Update.
6947         * modules/wchar (Depends-on): Update.
6948         * modules/wctype-h (Depends-on): Update.
6949         * MODULES.html.sh (Support for building libraries and executables):
6950         Update.
6951
6952         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
6953         * modules/snippet/unused-parameter: Renamed from
6954         modules/unused-parameter.
6955         (Files, Makefile.am): Update.
6956         * build-aux/snippet/unused-parameter.h: Renamed from
6957         build-aux/unused-parameter.h.
6958         * modules/selinux-h (Depends-on): Update.
6959         * modules/unistr/base (Depends-on): Update.
6960         * MODULES.html.sh (Core language properties): Update.
6961
6962         Rename module 'link-warning' to 'snippet/link-warning'.
6963         * modules/snippet/link-warning: Renamed from modules/link-warning.
6964         (Files, Makefile.am): Update.
6965         * build-aux/snippet/link-warning.h: Renamed from
6966         build-aux/link-warning.h.
6967         * MODULES.html.sh (Support for building libraries and executables):
6968         Update.
6969
6970         Rename module 'c++defs' to 'snippet/c++defs'.
6971         * modules/snippet/c++defs: Renamed from modules/c++defs.
6972         (Files, Makefile.am): Update.
6973         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
6974         * modules/arpa_inet (Depends-on): Update.
6975         * modules/ctype (Depends-on): Update.
6976         * modules/dirent (Depends-on): Update.
6977         * modules/fcntl-h (Depends-on): Update.
6978         * modules/glob (Depends-on): Update.
6979         * modules/iconv-h (Depends-on): Update.
6980         * modules/langinfo (Depends-on): Update.
6981         * modules/locale (Depends-on): Update.
6982         * modules/math (Depends-on): Update.
6983         * modules/netdb (Depends-on): Update.
6984         * modules/poll-h (Depends-on): Update.
6985         * modules/pty (Depends-on): Update.
6986         * modules/search (Depends-on): Update.
6987         * modules/signal (Depends-on): Update.
6988         * modules/spawn (Depends-on): Update.
6989         * modules/stdio (Depends-on): Update.
6990         * modules/stdlib (Depends-on): Update.
6991         * modules/string (Depends-on): Update.
6992         * modules/strings (Depends-on): Update.
6993         * modules/sys_ioctl (Depends-on): Update.
6994         * modules/sys_select (Depends-on): Update.
6995         * modules/sys_socket (Depends-on): Update.
6996         * modules/sys_stat (Depends-on): Update.
6997         * modules/sys_time (Depends-on): Update.
6998         * modules/sys_wait (Depends-on): Update.
6999         * modules/termios (Depends-on): Update.
7000         * modules/time (Depends-on): Update.
7001         * modules/unistd (Depends-on): Update.
7002         * modules/wchar (Depends-on): Update.
7003         * modules/wctype-h (Depends-on): Update.
7004
7005         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
7006         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
7007         (Files, Makefile.am): Update.
7008         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
7009         * modules/argv-iter (Depends-on): Update.
7010         * modules/arpa_inet (Depends-on): Update.
7011         * modules/dirent (Depends-on): Update.
7012         * modules/fcntl-h (Depends-on): Update.
7013         * modules/fnmatch (Depends-on): Update.
7014         * modules/getopt-posix (Depends-on): Update.
7015         * modules/glob (Depends-on): Update.
7016         * modules/iconv-h (Depends-on): Update.
7017         * modules/inttypes-incomplete (Depends-on): Update.
7018         * modules/locale (Depends-on): Update.
7019         * modules/math (Depends-on): Update.
7020         * modules/netdb (Depends-on): Update.
7021         * modules/search (Depends-on): Update.
7022         * modules/signal (Depends-on): Update.
7023         * modules/spawn (Depends-on): Update.
7024         * modules/stdio (Depends-on): Update.
7025         * modules/stdlib (Depends-on): Update.
7026         * modules/string (Depends-on): Update.
7027         * modules/strings (Depends-on): Update.
7028         * modules/sys_socket (Depends-on): Update.
7029         * modules/sys_stat (Depends-on): Update.
7030         * modules/sys_time (Depends-on): Update.
7031         * modules/sys_times (Depends-on): Update.
7032         * modules/sys_utsname (Depends-on): Update.
7033         * modules/time (Depends-on): Update.
7034         * modules/unistd (Depends-on): Update.
7035         * modules/wchar (Depends-on): Update.
7036         * MODULES.html.sh (Support for building libraries and executables):
7037         Update.
7038
7039 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
7040
7041         Improvements on _Noreturn and related modules.
7042
7043         modules/_Exit-tests: test _Noreturn too
7044         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
7045         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
7046         (main): Use them.
7047
7048         stdnoreturn, stdnoreturn-tests: remove modules
7049         They're not needed here and a bit premature for use elsewhere.  See
7050         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
7051         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7052         * tests/test-stdnoreturn.c: Remove files.
7053         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
7054         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
7055         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
7056         and using noreturn.
7057         * modules/openat, modules/sigpipe-die, modules/xalloc:
7058         * modules/xmemdup0, modules/xstrtol:
7059         Remove dependency on stdnoreturn.
7060
7061         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
7062         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
7063         Reparenthesize to avoid GCC warning.
7064         Support Microsoft's syntax.
7065         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
7066
7067         _Noreturn-tests: remove module
7068         * modules/_Noreturn-tests: Remove.
7069         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
7070         * tests/test-_Noreturn.c: Remove.
7071         * tests/test-stdnoreturn.c: Merge from the old
7072         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
7073
7074 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
7075
7076         _Noreturn, stdnoreturn, and related modules.
7077
7078         * top/maint.mk: Adjust to new noreturn support.
7079         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
7080         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
7081
7082         xalloc: use stdnoreturn.h
7083         * lib/xalloc.h: Include <stdnoreturn.h>.
7084         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7085         * modules/xalloc (Depends-on): Add stdnoreturn.
7086
7087         xstrtol: use stdnoreturn.h
7088         * lib/xstrtol.h: Include <stdnoreturn.h>.
7089         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7090         * modules/xstrtol (Depends-on): Add stdnoreturn.
7091
7092         xmemdup0: use stdnoreturn.h
7093         * lib/xmemdup0.h: Include <stdnoreturn.h>.
7094         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7095         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
7096
7097         sigpipe-die: use stdnoreturn.h
7098         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
7099         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7100         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
7101
7102         openat: use stdnoreturn.h
7103         * lib/openat.h: Include <stdnoreturn.h>.
7104         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
7105         * modules/openat (Depends-on): Add stdnoreturn.
7106
7107         * lib/openat-die.c (openat_save_fail): Modernize comment.
7108
7109         * lib/xalloc-die.c (xalloc_die): Modernize comment.
7110
7111         * lib/glthread/thread.h: Modernize comment.
7112
7113         obstack: use _Noreturn
7114         * lib/obstack.c (__attribute__): Remove macro.
7115         (print_and_abort): Use _Noreturn.
7116
7117         c-stack: use _Noreturn
7118         * lib/c-stack.c (die, overflow_handler, segv_handler):
7119         Use _Noreturn rather than __attribute__((noreturn)).
7120
7121         argmatch-tests, exclude_tests: use _Noreturn
7122         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
7123         Remove.
7124         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
7125
7126         stdlib: use _Noreturn
7127         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
7128         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
7129         * modules/stdlib (Depends-on): Add _Noreturn.
7130         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
7131
7132         stdnoreturn-tests: new module
7133         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
7134
7135         stdnoreturn: new module
7136         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
7137         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
7138
7139         _Noreturn-tests: new module
7140         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
7141
7142         _Noreturn: new module
7143         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
7144         New section, mentioning it.
7145         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
7146
7147         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
7148
7149 2011-07-11  Eric Blake  <eblake@redhat.com>
7150
7151         ffs: new module
7152         * modules/ffs: New file.
7153         * m4/ffs.m4: Likewise.
7154         * lib/ffs.c: Likewise.
7155         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
7156         * modules/strings (Makefile.am): Substitute witness.
7157         (Depends-on): Add c++defs.
7158         * lib/strings.in.h (ffs): Declare.
7159         * modules/ffs-tests: New test file.
7160         * tests/test-ffs.c: Test new module.
7161         * MODULES.html.sh (Integer arithmetic functions): Mention it.
7162         * doc/posix-functions/ffs.texi (ffs): Likewise.
7163
7164         regex: avoid compiler warning
7165         * lib/regex.c (includes): Include <strings.h>, for use of
7166         strcasecmp in regcomp.c.
7167         Reported by Joachim Schmitz.
7168
7169 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
7170
7171         stdint: respect system's intmax_t if INTMAX_MAX
7172         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
7173         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
7174         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
7175         long but int64_t is long long, and where we will clash with the
7176         system intmax_t if we override it.  See
7177         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
7178         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
7179         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
7180         similarly for UINTMAX_C.
7181
7182 2011-07-08  Bruno Haible  <bruno@clisp.org>
7183
7184         pthread_sigmask tests: Avoid a compiler warning.
7185         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
7186         non-zero.
7187
7188         sigprocmask tests: A better way to avoid a compiler warning.
7189         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
7190         (main): Complain if system() returns non-zero.
7191         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
7192
7193 2011-07-08  Bruno Haible  <bruno@clisp.org>
7194
7195         pthread_sigmask: Work around IRIX bug.
7196         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
7197         bug.
7198         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
7199         there may be unblocked pending signals.
7200         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
7201
7202 2011-07-08  Bruno Haible  <bruno@clisp.org>
7203
7204         pthread_sigmask: Work around Cygwin bug.
7205         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
7206         bug.
7207         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
7208         the system's pthread_sigmask function.
7209         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
7210
7211 2011-07-08  Bruno Haible  <bruno@clisp.org>
7212
7213         pthread_sigmask: Work around bug in single-threaded implementation.
7214         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
7215         FreeBSD, HP-UX, Solaris bug.
7216         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
7217         * lib/pthread_sigmask.c: Include <stddef.h>.
7218         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
7219         the system's pthread_sigmask function.
7220         * modules/pthread_sigmask (configure.ac): Invoke
7221         gl_PREREQ_PTHREAD_SIGMASK.
7222         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
7223         HP-UX, Solaris.
7224
7225 2011-07-08  Eric Blake  <eblake@redhat.com>
7226
7227         test-sigprocmask: avoid compiler warning
7228         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
7229         * tests/test-sigprocmask.c (main): Use it to silence warning.
7230         Reported by Jim Meyering.
7231
7232         test-snprintf: avoid compiler warning
7233         * tests/test-snprintf.c (main): Avoid shadowed declaration.
7234         * tests/test-vsnprintf.c (main): Likewise.
7235         Reported by Jim Meyering.
7236
7237 2011-07-08  Bruno Haible  <bruno@clisp.org>
7238
7239         Tests for module 'pthread_sigmask'.
7240         * modules/pthread_sigmask-tests: New file.
7241         * tests/test-pthread_sigmask1.c: New file, based on
7242         tests/test-sigprocmask.c.
7243         * tests/test-pthread_sigmask2.c: New file.
7244
7245 2011-07-08  Jim Meyering  <meyering@redhat.com>
7246
7247         test-getopt.h: avoid warning about an unused variable
7248         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
7249
7250 2011-07-07  Jim Meyering  <meyering@redhat.com>
7251
7252         maint: reduce list of files exempt from sc_prohibit_leading_TABs
7253         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
7254         now that it no longer contains leading TABs.
7255         Remove unused "url=FIXME" statement.
7256
7257 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
7258
7259         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
7260         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
7261         When gl_THREADLIB is not in use, assume that the POSIX sematics
7262         are desired.  This is better for Emacs, which uses POSIX semantics
7263         on GNUish and/or POSIXish platforms, and does not use threads at
7264         all otherwise.
7265
7266         pthread_sigmask: fix typo when testing for libraries
7267         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
7268         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
7269
7270 2011-07-08  Eric Blake  <eblake@redhat.com>
7271
7272         fts: introduce FTS_NOATIME
7273         * lib/fts_.h (FTS_NOATIME): New bit flag.
7274         (FTS_OPTIONMASK): Adjust.
7275         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
7276         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
7277
7278 2011-07-08  Bruno Haible  <bruno@clisp.org>
7279
7280         Tests for module 'thread'.
7281         * modules/thread-tests: New file.
7282         * tests/test-thread_self.c: New file.
7283         * tests/test-thread_create.cc: New file.
7284
7285 2011-07-08  Bruno Haible  <bruno@clisp.org>
7286
7287         thread: Avoid gcc warnings when using gl_thread_self().
7288         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
7289         'void *'.
7290         (gl_thread_self_pointer): Update.
7291
7292 2011-07-07  Bruno Haible  <bruno@clisp.org>
7293
7294         signal-c++-tests: Check declaration of pthread_sigmask.
7295         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
7296         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
7297         $(LIB_PTHREAD_SIGMASK).
7298
7299 2011-07-07  Bruno Haible  <bruno@clisp.org>
7300
7301         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
7302         * lib/signal.in.h (pthread_sigmask): Override if
7303         REPLACE_PTHREAD_SIGMASK is 1.
7304         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
7305         REPLACE_PTHREAD_SIGMASK.
7306         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
7307         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
7308         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
7309         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
7310         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
7311
7312 2011-07-07  Bruno Haible  <bruno@clisp.org>
7313
7314         pthread_sigmask: Ensure declaration in <signal.h>.
7315         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
7316         include <pthread.h>.
7317         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
7318         problem.
7319
7320 2011-07-07  Bruno Haible  <bruno@clisp.org>
7321
7322         pthread_sigmask: Document the module.
7323         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
7324
7325 2011-07-07  Bruno Haible  <bruno@clisp.org>
7326
7327         pthread_sigmask: Follow gnulib conventions.
7328         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
7329         gl_PTHREAD_SIGMASK.
7330         * modules/pthread_sigmask (configure.ac): Update.
7331
7332 2011-07-07  Bruno Haible  <bruno@clisp.org>
7333
7334         pthread_sigmask: Make declaration C++ safe.
7335         * lib/signal.in.h: In two special conditions, just do an #include_next.
7336         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
7337         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
7338         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
7339         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
7340         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
7341         not REPLACE_PTHREAD_MASK.
7342         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
7343         not REPLACE_PTHREAD_MASK.
7344         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
7345
7346 2011-07-07  Bruno Haible  <bruno@clisp.org>
7347
7348         pthread_sigmask: Fix return value.
7349         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
7350         * lib/pthread_sigmask.c: New file.
7351         * modules/pthread_sigmask (Files): Add it.
7352         (configure.ac): Invoke AC_LIBOBJ.
7353
7354 2011-07-07  Eric Blake  <eblake@redhat.com>
7355
7356         getopt: more portable argv creation
7357         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
7358         const, use char arrays rather than strings.
7359         Suggested by Paul Eggert.
7360
7361 2011-07-07  Bruno Haible  <bruno@clisp.org>
7362
7363         Tests for module 'sigprocmask'.
7364         * modules/sigprocmask-tests: New file.
7365         * tests/test-sigprocmask.c: New file.
7366
7367 2011-07-07  Bruno Haible  <bruno@clisp.org>
7368
7369         float tests: Tweak.
7370         * tests/test-float.c (main): Tweak skip message.
7371
7372 2011-07-07  Eric Blake  <eblake@redhat.com>
7373
7374         getopt: avoid compiler warning during configure
7375         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
7376         assigning string literals to non-const pointer.
7377
7378         getopt-gnu: avoid crash in glibc getopt
7379         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
7380         * tests/test-getopt.h (test_getopt): Enhance test.
7381         * tests/test-getopt_long.h (test_getopt_long): Likewise.
7382         * doc/posix-functions/getopt.texi (getopt): Document it.
7383         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
7384         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7385         Likewise.
7386
7387 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
7388
7389         getopt: handle W; without long options in getopt [BZ #12922]
7390         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
7391         but no long options are defined, just return 'W'.
7392
7393 2011-07-07  Bruno Haible  <bruno@clisp.org>
7394
7395         Avoid literal tabs.
7396         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
7397         variable containing a tab instead of a literal tab.
7398         Reported by Jim Meyering.
7399
7400 2011-07-07  Bruno Haible  <bruno@clisp.org>
7401
7402         Comments.
7403         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
7404
7405 2011-07-06  Bruno Haible  <bruno@clisp.org>
7406
7407         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
7408         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
7409         <winsock2.h>.
7410         (rpl_fd_isset, FD_ISSET): New definitions, copied from
7411         lib/sys_socket.in.h.
7412         (close, gethostname): Hide declarations from <winsock2.h>.
7413         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
7414         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
7415         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
7416         (select): Don't override if gnulib's <sys/select.h> was already
7417         included.
7418         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
7419         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
7420         setsockopt, shutdown, select): Tweak indentation.
7421
7422 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7423
7424         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
7425         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
7426         in an application that does not use the sys_select module.
7427
7428 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
7429
7430         poll: do not return 0 on timeout=-1
7431         * lib/poll.c: Loop with yield if no events occured
7432
7433 2011-07-06  Eric Blake  <eblake@redhat.com>
7434
7435         pthread_sigmask: always replace when not using pthread
7436         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
7437         replacement when using some threading other than pthread.  Fix
7438         logic bug.
7439
7440 2011-07-06  Bruno Haible  <bruno@clisp.org>
7441
7442         Comments.
7443         * m4/printf.m4: Update comments about mingw.
7444
7445 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7446
7447         sys_select: define sigset_t more portably
7448         * lib/sys_select.in.h: Always include <sys/types.h>, since
7449         we now need sigset_t and mingw defines it there.
7450         Include <signal.h> before split inclusion guard, to avoid
7451         mishaps on Solaris, whose <signal.h> eventually includes us.
7452         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
7453         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
7454         which come from ...
7455         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
7456         gl_CHECK_TYPE_SIGSET_T.
7457         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
7458         does the real work.
7459         * modules/sys_select (Depends-on): Add 'signal'.
7460
7461         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
7462         Suggested by Bruno Haible.
7463
7464         pselect: Use pthread_sigmask, not sigprocmask.
7465         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
7466         multithreaded apps better than sigprocmask does.
7467         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
7468         sigprocmask directly.
7469
7470 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7471
7472         * lib/pselect.c (pselect): Use plain name, without "rpl_".
7473         Don't #undef,  since we don't need any underlying pselect.
7474         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
7475         (Depends-on): Add select.
7476         (Link): Add $(LIBSOCKET).
7477         These changes suggested by Bruno Haible.
7478
7479         pselect: document better
7480         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
7481         * doc/posix-functions/pselect.texi (pselect): Document new module.
7482
7483         pthread_sigmask: new module
7484         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
7485         * doc/posix-functions/pthread_sigmask.texi: Document new module.
7486         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
7487         This is done only as a macro; I don't know how well that'll
7488         work for C++.  Move <sys/types.h> include before the include_next,
7489         to avoid mishap on Solaris.
7490         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
7491         * modules/signal (Makefile.am): Substitute the check's results.
7492         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
7493
7494         test-pselect: new module
7495         * modules/pselect-tests, tests/test-pselect.c: New files.
7496         * tests/test-select.c, tests/test-sys_select-c++.cc:
7497         If TEST_PSELECT is defined, test pselect instead of testing select.
7498
7499         * tests/test-sys_select.c (sigset_t): Test for it, too.
7500         Suggested by Bruno Haible.
7501
7502 2011-07-05  Eric Blake  <eblake@redhat.com>
7503
7504         snprintf: guarantee %1$d, for libintl
7505         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
7506         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
7507         * doc/posix-functions/snprintf.texi (snprintf): Update.
7508         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
7509         * tests/test-snprintf.c (main): Enhance test.
7510         * tests/test-vsnprintf.c (main): Likewise.
7511
7512 2011-07-05  Jim Meyering  <meyering@redhat.com>
7513
7514         maint: exempt stdio-read.c and stdio-write.c from the cppi check
7515         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
7516         per Bruno's request, to accommodate this idiom (no space after "#")
7517         even when the function is inside an #if block:
7518         char *
7519         gets (char *s)
7520         #undef gets
7521         {
7522           ...
7523         }
7524
7525 2011-07-04  Jim Meyering  <meyering@redhat.com>
7526
7527         maint: indent with spaces, not TABs, and add a rule to check this
7528         * tests/test-userspec.c: Indent with spaces, not TABs.
7529         * tests/test-argp.c: Likewise.
7530         * tests/test-c-stack2.sh: Likewise.
7531         * tests/test-parse-duration.sh: Likewise
7532         * m4/strtod.m4: Likewise.
7533         * m4/alloca.m4: Likewise.
7534         * m4/pselect.m4: Likewise.
7535         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
7536
7537 2011-07-03  Jim Meyering  <meyering@redhat.com>
7538
7539         maint.mk: correct omissions in prohibit_argmatch_without_use check
7540         This rule would mistakenly report that argmatch.h is included without
7541         use even when both the argmatch and invalid_arg macro were used.
7542         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
7543         of argmatch and invalid_arg.
7544
7545 2011-07-03  Bruno Haible  <bruno@clisp.org>
7546
7547         Comments about EINTR.
7548         * lib/safe-read.h: Explain the purpose of this module.
7549         * lib/safe-write.h: Likewise.
7550         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
7551         module.
7552         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
7553         module.
7554         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7555
7556 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
7557
7558         xnanosleep: Rewrite to use new dtotimespec module.
7559         It has the conversion code that used to be in xnanosleep.
7560         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
7561         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
7562         (TIME_T_MAX): Remove.
7563         (xnanosleep): Rewrite in terms of dtotimespec.
7564         * modules/xnanosleep (Depends-on): Add dtotimespec.
7565         Remove intprops, stdbool.
7566
7567         timespec-add, timespec-sub: new modules
7568         * lib/timespec.h (timespec_add, timespec_sub): New decls.
7569         * lib/timespec-add.c, lib/timespec-sub.c:
7570         * modules/timespec-add, modules/timespec-sub: New files.
7571
7572         dtotimespec: new module
7573         * lib/timespec.h (dtotimespec): New decl.
7574         * lib/dtotimespec.c, modules/dtotimespec: New files.
7575
7576         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
7577
7578         pselect: new module
7579         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
7580         (pselect): New decls.
7581         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
7582         since the standard pselect decl uses 'restrict'.
7583         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
7584         HAVE_PSELECT, REPLACE_PSELECT.
7585         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
7586         HAVE_PSELECT, REPLACE_PSELECT.
7587         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
7588
7589         sys_select: don't depend on sys_socket
7590         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
7591         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
7592         This fix works on GNU and GNU-like platforms, but has not been tested
7593         on native Windows.
7594         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
7595         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
7596         gl_HEADER_SYS_SOCKET.
7597         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
7598         gl_PREREQ_SYS_H_WINSOCK2.
7599
7600 2011-06-29  Eric Blake  <eblake@redhat.com>
7601
7602         pipe2: fix C89 compile problem
7603         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
7604         Reported by Bruno Haible.
7605
7606         pipe, pipe2: don't corrupt fd on error
7607         * lib/pipe.c (pipe): Leave fd unchanged on error.
7608         * lib/pipe2.c (pipe2): Likewise.
7609         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
7610         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
7611
7612 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
7613
7614         mmap-anon: do not use regular expressions inadvertently
7615         * m4/mmap-anon.m4: Remove trailing period from strings sought
7616         in the output.
7617
7618 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
7619
7620         nanosleep: fix integer overflow problem
7621         * lib/nanosleep.c (my_usleep): Don't assume signed integer
7622         arithmetic wraps around on overflow.
7623
7624         nanosleep: simplify carrying
7625         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
7626         first call to the underyling nanosleep, not for the last one.
7627         This doesn't fix any bugs, but it simplifies the computation of
7628         the remaining delay.  Found while auditing integer overflow issues.
7629
7630         dup2: remove test for existence of fcntl
7631         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
7632         "#if HAVE_FCNTL", in the configure-time test program.
7633         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
7634         and therefore speeds up "configure" a bit.  Found while
7635         adding the dup2 module to Emacs.
7636
7637 2011-06-24  Eric Blake  <eblake@redhat.com>
7638
7639         maint.mk: enhance useless header checks
7640         * top/maint.mk (_sc_header_without_use): Check both include
7641         styles.
7642         (sc_prohibit_assert_without_use)
7643         (sc_prohibit_close_stream_without_use)
7644         (sc_prohibit_getopt_without_use)
7645         (sc_prohibit_quotearg_without_use)
7646         (sc_prohibit_quote_without_use)
7647         (sc_prohibit_long_options_without_use)
7648         (sc_prohibit_inttostr_without_use)
7649         (sc_prohibit_ignore_value_without_use)
7650         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
7651         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
7652         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
7653         (sc_prohibit_hash_pjw_without_use)
7654         (sc_prohibit_safe_read_without_use)
7655         (sc_prohibit_argmatch_without_use)
7656         (sc_prohibit_canonicalize_without_use)
7657         (sc_prohibit_root_dev_ino_without_use)
7658         (sc_prohibit_openat_without_use)
7659         (sc_prohibit_c_ctype_without_use)
7660         (sc_prohibit_signal_without_use)
7661         (sc_prohibit_stdio--_without_use)
7662         (sc_prohibit_stdio-safer_without_use)
7663         (sc_prohibit_strings_without_use)
7664         (sc_prohibit_intprops_without_use)
7665         (sc_prohibit_stddef_without_use)
7666         (sc_prohibit_xfreopen_without_use): Update clients.
7667
7668 2011-06-24  Jim Meyering  <meyering@redhat.com>
7669
7670         syntax-check: keep one maint.mk rule in sync with its header
7671         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
7672         of the bug Eric has just fixed, with today's commit 25e4c2ec.
7673         I prefer to avoid temporary files here, so use <(...), but that
7674         is not supported by /bin/sh, so...
7675         (SHELL): Define to /bin/bash.
7676
7677 2011-06-24  Eric Blake  <eblake@redhat.com>
7678
7679         maint.mk: update sc_prohibit_intprops_without_use
7680         * top/maint.mk (_intprops_names): Match recent changes.
7681
7682 2011-06-24  Bruno Haible  <bruno@clisp.org>
7683
7684         strerror-override: No-op tweak.
7685         * lib/strerror-override.h (strerror_override): Reorder conditions,
7686         for consistency with lib/strerror-override.c.
7687
7688 2011-06-23  Eric Blake  <eblake@redhat.com>
7689
7690         maint.mk: test further PATH_MAX issues
7691         * top/maint.mk (sc_prohibit_path_max_array): Rename...
7692         (sc_prohibit_path_max_allocation): ...and also test alloca.
7693         Suggested by Jim Meyering.
7694
7695 2011-06-22  Eric Blake  <eblake@redhat.com>
7696
7697         maint.mk: add syntax-check to avoid char[PATH_MAX]
7698         * top/maint.mk (sc_prohibit_path_max_array): New rule.
7699
7700         stat: be robust to PATH_MAX definition
7701         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
7702         * modules/stat (Depends-on): Add verify.
7703
7704         link: work around IRIX bug
7705         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
7706         * lib/link.c (rpl_link): Work around it.
7707         * tests/test-link.h (test_link): Enhance test.
7708         * doc/posix-functions/link.texi (link): Document the bug.
7709
7710         getopt: silence clang warning
7711         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
7712         dereference.
7713         Reported by Gustavo Martin Domato.
7714
7715 2011-06-22  Jim Meyering  <meyering@redhat.com>
7716
7717         bootstrap: do not insert a blank line into each .gitignore file
7718         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
7719
7720 2011-06-21  Eric Blake  <eblake@redhat.com>
7721
7722         perror: test for output mismatch
7723         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
7724         perror on IRIX.
7725
7726         strerror_r: fix OpenBSD behavior on out-of-range
7727         * lib/strerror_r.c (strerror_r): Always use maximal string.
7728         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
7729
7730         strerror_r: fix OpenBSD behavior on 0
7731         * lib/strerror-override.c (strerror_override): Also override 0
7732         when needed.
7733         * lib/strerror-override.h (strerror_override): Likewise.
7734         * lib/strerror.c (strerror): Simplify, now that 0 override is done
7735         earlier.
7736         * lib/strerror_r.c (strerror_r): Likewise.
7737         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
7738         behavior...
7739         (gl_FUNC_STRERROR_0): ...into new macro.
7740         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
7741         is overridden.
7742         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
7743         * modules/strerror-override (Files): Add strerror.m4.
7744         (configure.ac): Also provide override for 0 when needed.
7745         * doc/posix-functions/strerror.texi (strerror): Document this.
7746         * doc/posix-functions/perror.texi (perror): Likewise.
7747
7748         perror: adjust array size
7749         * modules/perror (Depends-on): Add strerror-override.
7750         * lib/perror.c (perror): Use it to avoid magic number.
7751
7752         strerror-override: reduce size
7753         * lib/strerror-override.c (strerror_override): Use fewer lines.
7754
7755 2011-06-20  Bruno Haible  <bruno@clisp.org>
7756
7757         pathmax: Ensure correct value for PATH_MAX on HP-UX.
7758         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
7759
7760 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
7761
7762         alloca: port to compilers that can optimize like GCC 4.6.0
7763         * lib/alloca.c (find_stack_direction): New signature, taken from
7764         Autoconf git.  This works with GCC 4.6.0.  This code should never
7765         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
7766         be used with other compilers that optimize as well as GCC 4.6.0 does.
7767         (alloca): Adjust to new signature.
7768         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
7769         New macro, which patches Autoconf in a similar way.
7770
7771         c-stack: stop worrying about stack direction
7772         * lib/c-stack.c (find_stack_direction): Remove.
7773         (segv_handler): Don't worry about stack direction growth, as it's
7774         too much of a pain to configure this correctly, given how compilers
7775         are optimizing-away our stack-growth detection code.  Instead, assume
7776         that any access to just before or just after the stack is OK.
7777         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
7778         Don't require AC_FUNC_ALLOCA; no longer needed.
7779
7780 2011-06-20  Eric Blake  <eblake@redhat.com>
7781
7782         test-stat: don't allocate PATH_MAX bytes
7783         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
7784         PATH_MAX-sized buffer.
7785         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
7786         * modules/stat-tests (Depends-on): Likewise.
7787         * tests/test-fstatat.c (includes): Drop pathmax.h.
7788         * tests/test-stat.c (includes): Likewise.
7789         Reported by Bruno Haible.
7790
7791 2011-06-20  Bruno Haible  <bruno@clisp.org>
7792
7793         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
7794         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
7795         * lib/float.c: New file.
7796         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
7797         REPLACE_FLOAT_LDBL.
7798         * modules/float (Files): Add lib/float.c.
7799         (configure.ac): Invoke AC_LIBOBJ.
7800         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
7801
7802 2011-06-20  Bruno Haible  <bruno@clisp.org>
7803
7804         Tests for module 'float'.
7805         * modules/float-tests: New file.
7806         * tests/test-float.c: New file.
7807
7808 2011-06-19  Bruno Haible  <bruno@clisp.org>
7809
7810         isinf: Coding style.
7811         * lib/isinf.c: Use GNU coding style.
7812
7813 2011-06-19  Bruno Haible  <bruno@clisp.org>
7814
7815         linkat test: Avoid test failure on AIX 7.1.
7816         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
7817         * tests/test-link.h (test_link): Likewise.
7818
7819 2011-06-19  Bruno Haible  <bruno@clisp.org>
7820
7821         pread test: Avoid test failure on OpenBSD 4.9.
7822         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
7823
7824 2011-06-19  Bruno Haible  <bruno@clisp.org>
7825
7826         sprintf-posix: Fix test failure on AIX 7.1.
7827         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
7828         * doc/posix-functions/dprintf.texi: Mention limited precision problem
7829         on AIX.
7830         * doc/posix-functions/fprintf.texi: Likewise.
7831         * doc/posix-functions/printf.texi: Likewise.
7832         * doc/posix-functions/snprintf.texi: Likewise.
7833         * doc/posix-functions/sprintf.texi: Likewise.
7834         * doc/posix-functions/vdprintf.texi: Likewise.
7835         * doc/posix-functions/vfprintf.texi: Likewise.
7836         * doc/posix-functions/vprintf.texi: Likewise.
7837         * doc/posix-functions/vsnprintf.texi: Likewise.
7838         * doc/posix-functions/vsprintf.texi: Likewise.
7839
7840 2011-06-19  Bruno Haible  <bruno@clisp.org>
7841
7842         roundl-ieee: Fix test failure on AIX 7.1.
7843         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
7844         * doc/posix-functions/roundl.texi: Mention problem with negative
7845         arguments.
7846
7847 2011-06-19  Bruno Haible  <bruno@clisp.org>
7848
7849         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
7850         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
7851         * doc/posix-functions/round.texi: Mention problem with negative
7852         arguments.
7853         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
7854
7855 2011-06-19  Bruno Haible  <bruno@clisp.org>
7856
7857         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
7858         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
7859         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
7860         * doc/posix-functions/roundf.texi: Mention problem with negative
7861         arguments.
7862         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
7863
7864 2011-06-19  Bruno Haible  <bruno@clisp.org>
7865
7866         ceilf-ieee: Work around bug on MacOS X 10.5.
7867         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
7868
7869         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
7870         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
7871         IEEE compliant, avoid compiler optimizations.
7872         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
7873         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
7874         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
7875         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
7876         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
7877         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
7878         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
7879         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7880         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7881         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
7882
7883 2011-06-19  Bruno Haible  <bruno@clisp.org>
7884
7885         ceilf-ieee: Work around bug on AIX 7.1.
7886         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
7887         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
7888
7889 2011-06-19  Bruno Haible  <bruno@clisp.org>
7890
7891         ceil-ieee: Work around bug on AIX 7.1.
7892         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
7893         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
7894
7895 2011-06-18  Bruno Haible  <bruno@clisp.org>
7896
7897         fsync test: Avoid test failure on MacOS X and AIX.
7898         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
7899         EINVAL.
7900
7901 2011-06-18  Bruno Haible  <bruno@clisp.org>
7902
7903         openat, fdopendir tests: Fix link errors.
7904         * modules/openat-tests (Depends-on): Add progname.
7905         * modules/fdopendir-tests (Depends-on): Likewise.
7906         * tests/test-fchownat.c: Include progname.h.
7907         (main): Call set_program_name.
7908         * tests/test-fstatat.c: Include progname.h.
7909         (main): Call set_program_name.
7910         * tests/test-mkdirat.c: Include progname.h.
7911         (main): Call set_program_name.
7912         * tests/test-openat.c: Include progname.h.
7913         (main): Call set_program_name.
7914         * tests/test-unlinkat.c: Include progname.h.
7915         (main): Call set_program_name.
7916         * tests/test-fdopendir.c: Include progname.h.
7917         (main): Call set_program_name.
7918
7919 2011-06-18  Bruno Haible  <bruno@clisp.org>
7920
7921         Doc update.
7922         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
7923         HP-UX.
7924         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
7925
7926 2011-06-18  Bruno Haible  <bruno@clisp.org>
7927
7928         getcwd tests: Avoid compilation error on HP-UX 11.31.
7929         * modules/getcwd-tests (Depends-on): Add pathmax.
7930         * tests/test-getcwd.c: Include pathmax.h.
7931
7932 2011-06-18  Bruno Haible  <bruno@clisp.org>
7933
7934         isfinite, isinf: Fix link error on AIX 6 and 7.
7935         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
7936         needed, also test the macro with a 'float' argument.
7937         * m4/isinf.m4 (gl_ISINF): Likewise.
7938
7939 2011-06-18  Bruno Haible  <bruno@clisp.org>
7940
7941         getloadavg: Don't clobber LIBS. Regression from previous commit.
7942         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
7943         AC_CHECK_LIB from here...
7944         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
7945         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
7946         gl_func_getloadavg_done.
7947         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7948
7949 2011-06-18  Bruno Haible  <bruno@clisp.org>
7950
7951         clean-temp: Improve documentation.
7952         * lib/clean-temp.h: Explain better how to use this module.
7953         Reported by John Darrington <john@darrington.wattle.id.au>.
7954
7955 2011-06-17  Bruno Haible  <bruno@clisp.org>
7956
7957         pread, pwrite: Avoid cc warning on AIX.
7958         * lib/unistd.in.h (pread): Undefine before defining as a macro.
7959         (pwrite): Likewise.
7960
7961 2011-06-17  Bruno Haible  <bruno@clisp.org>
7962
7963         spawn-pipe tests: Fix link error.
7964         * tests/test-spawn-pipe-child.c: Undefine fprintf.
7965         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7966
7967 2011-06-17  Bruno Haible  <bruno@clisp.org>
7968
7969         Tests: Remove unnecessary dependency.
7970         * modules/canonicalize-tests (Depends-on): Remove progname.
7971         * modules/chown-tests (Depends-on): Likewise.
7972         * modules/dirname-tests (Depends-on): Likewise.
7973         * modules/fdopendir-tests (Depends-on): Likewise.
7974         * modules/fdutimensat-tests (Depends-on): Likewise.
7975         * modules/hash-tests (Depends-on): Likewise.
7976         * modules/lchown-tests (Depends-on): Likewise.
7977         * modules/linkat-tests (Depends-on): Likewise.
7978         * modules/renameat-tests (Depends-on): Likewise.
7979         * modules/spawn-pipe-tests (Depends-on): Likewise.
7980         * modules/utimensat-tests (Depends-on): Likewise.
7981
7982 2011-06-17  Bruno Haible  <bruno@clisp.org>
7983
7984         spawn-pipe tests: Fix link error.
7985         * tests/test-spawn-pipe-child.c: Undefine fflush.
7986
7987 2011-06-17  Bruno Haible  <bruno@clisp.org>
7988
7989         Fix tests link errors.
7990         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
7991         * modules/chown-tests (Makefile.am): Don't link test-chown with
7992         LIBINTL.
7993         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
7994         LIBINTL.
7995         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
7996         LIBINTL.
7997         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
7998         LIBINTL.
7999
8000 2011-06-16  Bruno Haible  <bruno@clisp.org>
8001
8002         crypto/gc-sha1: Fix recent regression.
8003         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
8004         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
8005
8006         crypto/gc-md5: Fix recent regression.
8007         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
8008
8009         crypto/gc-md4: Fix recent regression.
8010         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
8011         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
8012
8013         crypto/gc-arctwo: Fix recent regression.
8014         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
8015         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
8016
8017         crypto/gc-rijndael: Fix recent regression.
8018         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
8019         (configure.ac): Invoke AC_LIBOBJ here.
8020         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
8021         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8022
8023         crypto/gc-hmac-sha1: Fix recent regression.
8024         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
8025         (configure.ac): Invoke AC_LIBOBJ here.
8026         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
8027         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8028
8029         crypto/gc-hmac-md5: Fix recent regression.
8030         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
8031         (configure.ac): Invoke AC_LIBOBJ here.
8032         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
8033         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8034
8035         crypto/gc-des: Fix recent regression.
8036         * modules/crypto/gc-des (Files): Remove m4/des.m4.
8037         (configure.ac): Invoke AC_LIBOBJ here.
8038         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
8039         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8040
8041         crypto/gc-arcfour: Fix recent regression.
8042         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
8043         (configure.ac): Invoke AC_LIBOBJ here.
8044         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
8045         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8046
8047 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
8048
8049         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
8050         After the 2011-05-21 change, this macro requires
8051         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
8052         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
8053
8054 2011-06-16  Bruno Haible  <bruno@clisp.org>
8055
8056         fprintftime: Move AC_LIBOBJ invocations to module description.
8057         * m4/fprintftime.m4: Remove file.
8058         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
8059         (configure.ac): Remove gl_FPRINTFTIME call.
8060         (Makefile.am): Augment lib_SOURCES.
8061         Reported by Jim Meyering.
8062
8063 2011-06-16  Bruno Haible  <bruno@clisp.org>
8064
8065         tmpfile-safer: Finish 2011-05-23 commit.
8066         * m4/stdio-safer.m4: Really remove file.
8067         Reported by Jim Meyering.
8068
8069 2011-06-16  Bruno Haible  <bruno@clisp.org>
8070
8071         syntax-check: Fix typo.
8072         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
8073         printf-posix.m4.
8074         Reported by Jim Meyering.
8075
8076 2011-06-13  Jim Meyering  <meyering@redhat.com>
8077
8078         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
8079         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
8080
8081 2011-05-23  Bruno Haible  <bruno@clisp.org>
8082
8083         yesno: Move AC_LIBOBJ invocations to module description.
8084         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
8085         * modules/yesno (Makefile.am): Augment lib_SOURCES.
8086
8087 2011-05-23  Bruno Haible  <bruno@clisp.org>
8088
8089         xstrtol: Move AC_LIBOBJ invocations to module description.
8090         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
8091         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
8092
8093 2011-05-23  Bruno Haible  <bruno@clisp.org>
8094
8095         xstrtold: Move AC_LIBOBJ invocations to module description.
8096         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
8097         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
8098
8099 2011-05-23  Bruno Haible  <bruno@clisp.org>
8100
8101         xstrtod: Move AC_LIBOBJ invocations to module description.
8102         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
8103         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
8104
8105 2011-05-23  Bruno Haible  <bruno@clisp.org>
8106
8107         xnanosleep: Move AC_LIBOBJ invocations to module description.
8108         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
8109         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
8110
8111 2011-05-23  Bruno Haible  <bruno@clisp.org>
8112
8113         xgetcwd: Move AC_LIBOBJ invocations to module description.
8114         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
8115         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
8116
8117 2011-05-23  Bruno Haible  <bruno@clisp.org>
8118
8119         xalloc: Move AC_LIBOBJ invocations to module description.
8120         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
8121         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
8122
8123 2011-05-23  Bruno Haible  <bruno@clisp.org>
8124
8125         write-any-file: Move AC_LIBOBJ invocations to module description.
8126         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
8127         invocation.
8128         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
8129
8130 2011-05-23  Bruno Haible  <bruno@clisp.org>
8131
8132         utimens: Move AC_LIBOBJ invocations to module description.
8133         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
8134         * modules/utimens (Makefile.am): Augment lib_SOURCES.
8135
8136 2011-05-23  Bruno Haible  <bruno@clisp.org>
8137
8138         utimecmp: Move AC_LIBOBJ invocations to module description.
8139         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
8140         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
8141
8142 2011-05-23  Bruno Haible  <bruno@clisp.org>
8143
8144         userspec: Move AC_LIBOBJ invocations to module description.
8145         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
8146         * modules/userspec (Makefile.am): Augment lib_SOURCES.
8147
8148 2011-05-23  Bruno Haible  <bruno@clisp.org>
8149
8150         unlinkdir: Move AC_LIBOBJ invocations to module description.
8151         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
8152         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
8153
8154 2011-05-23  Bruno Haible  <bruno@clisp.org>
8155
8156         unistd-safer: Move AC_LIBOBJ invocations to module description.
8157         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
8158         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
8159
8160 2011-05-23  Bruno Haible  <bruno@clisp.org>
8161
8162         tempname: Move AC_LIBOBJ invocations to module description.
8163         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
8164         * modules/tempname (Makefile.am): Augment lib_SOURCES.
8165
8166 2011-05-23  Bruno Haible  <bruno@clisp.org>
8167
8168         strftime: Move AC_LIBOBJ invocations to module description.
8169         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
8170         * modules/strftime (Makefile.am): Augment lib_SOURCES.
8171
8172 2011-05-23  Bruno Haible  <bruno@clisp.org>
8173
8174         stdlib-safer: Move AC_LIBOBJ invocations to module description.
8175         * m4/stdlib-safer.m4: Remove file.
8176         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
8177         (configure.ac): Remove gl_STDLIB_SAFER call.
8178         (Makefile.am): Augment lib_SOURCES.
8179
8180 2011-05-23  Bruno Haible  <bruno@clisp.org>
8181
8182         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
8183         * m4/stdio-safer.m4: Remove file.
8184         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
8185         (configure.ac): Remove gl_TMPFILE_SAFER call.
8186         (Makefile.am): Augment lib_SOURCES.
8187
8188 2011-05-23  Bruno Haible  <bruno@clisp.org>
8189
8190         popen-safer: Move AC_LIBOBJ invocations to module description.
8191         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
8192         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
8193         (configure.ac): Remove gl_POPEN_SAFER call.
8194         (Makefile.am): Augment lib_SOURCES.
8195
8196 2011-05-23  Bruno Haible  <bruno@clisp.org>
8197
8198         freopen-safer: Move AC_LIBOBJ invocations to module description.
8199         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
8200         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
8201         (configure.ac): Remove gl_FREOPEN_SAFER call.
8202         (Makefile.am): Augment lib_SOURCES.
8203
8204 2011-05-23  Bruno Haible  <bruno@clisp.org>
8205
8206         fopen-safer: Move AC_LIBOBJ invocations to module description.
8207         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
8208         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
8209         (configure.ac): Remove gl_FOPEN_SAFER call.
8210         (Makefile.am): Augment lib_SOURCES.
8211
8212 2011-05-23  Bruno Haible  <bruno@clisp.org>
8213
8214         crypto/sha512: Move AC_LIBOBJ invocations to module description.
8215         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
8216         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
8217
8218 2011-05-23  Bruno Haible  <bruno@clisp.org>
8219
8220         crypto/sha256: Move AC_LIBOBJ invocations to module description.
8221         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
8222         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
8223
8224 2011-05-23  Bruno Haible  <bruno@clisp.org>
8225
8226         crypto/sha1: Move AC_LIBOBJ invocations to module description.
8227         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
8228         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
8229
8230 2011-05-23  Bruno Haible  <bruno@clisp.org>
8231
8232         settime: Move AC_LIBOBJ invocations to module description.
8233         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
8234         * modules/settime (Makefile.am): Augment lib_SOURCES.
8235
8236 2011-05-23  Bruno Haible  <bruno@clisp.org>
8237
8238         savedir: Move AC_LIBOBJ invocations to module description.
8239         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
8240         * modules/savedir (Makefile.am): Augment lib_SOURCES.
8241
8242 2011-05-23  Bruno Haible  <bruno@clisp.org>
8243
8244         save-cwd: Move AC_LIBOBJ invocations to module description.
8245         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
8246         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
8247
8248 2011-05-23  Bruno Haible  <bruno@clisp.org>
8249
8250         same: Move AC_LIBOBJ invocations to module description.
8251         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
8252         * modules/same (Makefile.am): Augment lib_SOURCES.
8253
8254 2011-05-23  Bruno Haible  <bruno@clisp.org>
8255
8256         safe-write: Move AC_LIBOBJ invocations to module description.
8257         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
8258         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
8259         instead of gl_SAFE_WRITE.
8260         (Makefile.am): Augment lib_SOURCES.
8261
8262 2011-05-23  Bruno Haible  <bruno@clisp.org>
8263
8264         safe-read: Move AC_LIBOBJ invocations to module description.
8265         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
8266         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
8267         of gl_SAFE_READ.
8268         (Makefile.am): Augment lib_SOURCES.
8269
8270 2011-05-23  Bruno Haible  <bruno@clisp.org>
8271
8272         safe-alloc: Move AC_LIBOBJ invocations to module description.
8273         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
8274         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
8275
8276 2011-05-23  Bruno Haible  <bruno@clisp.org>
8277
8278         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
8279         * m4/rijndael.m4: Remove file.
8280         * modules/crypto/rijndael (Files): Remove it.
8281         (configure.ac): Remove gl_RIJNDAEL call.
8282         (Makefile.am): Augment lib_SOURCES.
8283
8284 2011-05-23  Bruno Haible  <bruno@clisp.org>
8285
8286         readtokens: Move AC_LIBOBJ invocations to module description.
8287         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
8288         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
8289
8290 2011-05-23  Bruno Haible  <bruno@clisp.org>
8291
8292         read-file: Move AC_LIBOBJ invocations to module description.
8293         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
8294         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
8295         of gl_FUNC_READ_FILE.
8296         (Makefile.am): Augment lib_SOURCES.
8297
8298 2011-05-23  Bruno Haible  <bruno@clisp.org>
8299
8300         quotearg: Move AC_LIBOBJ invocations to module description.
8301         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
8302         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
8303
8304 2011-05-23  Bruno Haible  <bruno@clisp.org>
8305
8306         quote: Move AC_LIBOBJ invocations to module description.
8307         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
8308         * modules/quote (Makefile.am): Augment lib_SOURCES.
8309
8310 2011-05-23  Bruno Haible  <bruno@clisp.org>
8311
8312         posixver: Move AC_LIBOBJ invocations to module description.
8313         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
8314         * modules/posixver (Makefile.am): Augment lib_SOURCES.
8315
8316 2011-05-23  Bruno Haible  <bruno@clisp.org>
8317
8318         posixtm: Move AC_LIBOBJ invocations to module description.
8319         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
8320         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
8321
8322 2011-05-23  Bruno Haible  <bruno@clisp.org>
8323
8324         physmem: Move AC_LIBOBJ invocations to module description.
8325         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
8326         * modules/physmem (Makefile.am): Augment lib_SOURCES.
8327
8328 2011-05-23  Bruno Haible  <bruno@clisp.org>
8329
8330         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
8331         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
8332         invocation.
8333         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
8334
8335 2011-05-23  Bruno Haible  <bruno@clisp.org>
8336
8337         mpsort: Move AC_LIBOBJ invocations to module description.
8338         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
8339         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
8340
8341 2011-05-23  Bruno Haible  <bruno@clisp.org>
8342
8343         modechange: Move AC_LIBOBJ invocations to module description.
8344         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
8345         * modules/modechange (Makefile.am): Augment lib_SOURCES.
8346
8347 2011-05-23  Bruno Haible  <bruno@clisp.org>
8348
8349         mkdir-p: Move AC_LIBOBJ invocations to module description.
8350         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
8351         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
8352
8353 2011-05-23  Bruno Haible  <bruno@clisp.org>
8354
8355         mkancesdirs: Move AC_LIBOBJ invocations to module description.
8356         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
8357         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
8358
8359 2011-05-23  Bruno Haible  <bruno@clisp.org>
8360
8361         mgetgroups: Move AC_LIBOBJ invocations to module description.
8362         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
8363         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
8364
8365 2011-05-23  Bruno Haible  <bruno@clisp.org>
8366
8367         memxor: Move AC_LIBOBJ invocations to module description.
8368         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
8369         * modules/memxor (Makefile.am): Augment lib_SOURCES.
8370
8371 2011-05-23  Bruno Haible  <bruno@clisp.org>
8372
8373         memcoll: Move AC_LIBOBJ invocations to module description.
8374         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
8375         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
8376
8377 2011-05-23  Bruno Haible  <bruno@clisp.org>
8378
8379         memcasecmp: Move AC_LIBOBJ invocations to module description.
8380         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
8381         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
8382
8383 2011-05-23  Bruno Haible  <bruno@clisp.org>
8384
8385         crypto/md5: Move AC_LIBOBJ invocations to module description.
8386         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
8387         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
8388
8389 2011-05-23  Bruno Haible  <bruno@clisp.org>
8390
8391         crypto/md4: Move AC_LIBOBJ invocations to module description.
8392         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
8393         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
8394
8395 2011-05-23  Bruno Haible  <bruno@clisp.org>
8396
8397         crypto/md2: Move AC_LIBOBJ invocations to module description.
8398         * m4/md2.m4: Remove file.
8399         * modules/crypto/md2 (Files): Remove it.
8400         (configure.ac): Remove gl_MD2 call.
8401         (Makefile.am): Augment lib_SOURCES.
8402
8403 2011-05-23  Bruno Haible  <bruno@clisp.org>
8404
8405         long-options: Move AC_LIBOBJ invocations to module description.
8406         * m4/long-options.m4: Remove file.
8407         * modules/long-options (Files): Remove it.
8408         (configure.ac): Remove gl_LONG_OPTIONS call.
8409         (Makefile.am): Augment lib_SOURCES.
8410
8411 2011-05-23  Bruno Haible  <bruno@clisp.org>
8412
8413         i-ring: Move AC_LIBOBJ invocations to module description.
8414         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
8415         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
8416
8417 2011-05-23  Bruno Haible  <bruno@clisp.org>
8418
8419         idcache: Move AC_LIBOBJ invocations to module description.
8420         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
8421         * modules/idcache (Makefile.am): Augment lib_SOURCES.
8422
8423 2011-05-23  Bruno Haible  <bruno@clisp.org>
8424
8425         human: Move AC_LIBOBJ invocations to module description.
8426         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
8427         * modules/human (Makefile.am): Augment lib_SOURCES.
8428
8429 2011-05-23  Bruno Haible  <bruno@clisp.org>
8430
8431         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
8432         * m4/hmac-sha1.m4: Remove file.
8433         * modules/crypto/hmac-sha1 (Files): Remove it.
8434         (configure.ac): Remove gl_HMAC_SHA1 call.
8435         (Makefile.am): Augment lib_SOURCES.
8436
8437 2011-05-23  Bruno Haible  <bruno@clisp.org>
8438
8439         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
8440         * m4/hmac-md5.m4: Remove file.
8441         * modules/crypto/hmac-md5 (Files): Remove it.
8442         (configure.ac): Remove gl_HMAC_MD5 call.
8443         (Makefile.am): Augment lib_SOURCES.
8444
8445 2011-05-23  Bruno Haible  <bruno@clisp.org>
8446
8447         hash: Move AC_LIBOBJ invocations to module description.
8448         * m4/hash.m4: Remove file.
8449         * modules/hash (Files): Remove it.
8450         (configure.ac): Remove gl_HASH call.
8451         (Makefile.am): Augment lib_SOURCES.
8452
8453 2011-05-23  Bruno Haible  <bruno@clisp.org>
8454
8455         hard-locale: Move AC_LIBOBJ invocations to module description.
8456         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
8457         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
8458
8459 2011-05-23  Bruno Haible  <bruno@clisp.org>
8460
8461         getugroups: Move AC_LIBOBJ invocations to module description.
8462         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
8463         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
8464
8465 2011-05-23  Bruno Haible  <bruno@clisp.org>
8466
8467         gettime: Move AC_LIBOBJ invocations to module description.
8468         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
8469         * modules/gettime (Makefile.am): Augment lib_SOURCES.
8470
8471 2011-05-23  Bruno Haible  <bruno@clisp.org>
8472
8473         getndelim2: Move AC_LIBOBJ invocations to module description.
8474         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
8475         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
8476
8477 2011-05-23  Bruno Haible  <bruno@clisp.org>
8478
8479         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
8480         * m4/gc-pbkdf2-sha1.m4: Remove file.
8481         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
8482         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
8483         (Makefile.am): Augment lib_SOURCES.
8484
8485 2011-05-23  Bruno Haible  <bruno@clisp.org>
8486
8487         fts: Move AC_LIBOBJ invocations to module description.
8488         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
8489         * modules/fts (configure.ac): ... to here.
8490
8491 2011-05-23  Bruno Haible  <bruno@clisp.org>
8492
8493         file-type: Move AC_LIBOBJ invocations to module description.
8494         * m4/file-type.m4: Remove file.
8495         * modules/file-type (Files): Remove it.
8496         (configure.ac): Remove gl_FILE_TYPE call.
8497         (Makefile.am): Augment lib_SOURCES.
8498
8499 2011-05-23  Bruno Haible  <bruno@clisp.org>
8500
8501         filenamecat*: Respect rules for use of AC_LIBOBJ.
8502         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
8503         Remove AC_LIBOBJ invocation.
8504         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
8505         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
8506
8507 2011-05-23  Bruno Haible  <bruno@clisp.org>
8508
8509         filemode: Move AC_LIBOBJ invocations to module description.
8510         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
8511         * modules/filemode (Makefile.am): Augment lib_SOURCES.
8512
8513 2011-05-23  Bruno Haible  <bruno@clisp.org>
8514
8515         openat-safer: Move AC_LIBOBJ invocations to module description.
8516         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
8517         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
8518
8519 2011-05-23  Bruno Haible  <bruno@clisp.org>
8520
8521         fcntl-safer: Move AC_LIBOBJ invocations to module description.
8522         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
8523         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
8524
8525 2011-05-23  Bruno Haible  <bruno@clisp.org>
8526
8527         exclude: Move AC_LIBOBJ invocations to module description.
8528         * m4/exclude.m4: Remove file.
8529         * modules/exclude (Files): Remove it.
8530         (configure.ac): Remove gl_EXCLUDE call.
8531         (Makefile.am): Augment lib_SOURCES.
8532
8533 2011-05-23  Bruno Haible  <bruno@clisp.org>
8534
8535         dirname*: Respect rules for use of AC_LIBOBJ.
8536         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
8537         invocations.
8538         * modules/dirname (Makefile.am): Augment lib_SOURCES.
8539         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
8540
8541 2011-05-23  Bruno Haible  <bruno@clisp.org>
8542
8543         dirent-safer: Move AC_LIBOBJ invocations to module description.
8544         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
8545         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
8546
8547 2011-05-23  Bruno Haible  <bruno@clisp.org>
8548
8549         crypto/des: Move AC_LIBOBJ invocations to module description.
8550         * m4/des.m4: Remove file.
8551         * modules/crypto/des (Files): Remove it.
8552         (configure.ac): Remove gl_DES call.
8553         (Makefile.am): Augment lib_SOURCES.
8554
8555 2011-05-23  Bruno Haible  <bruno@clisp.org>
8556
8557         cycle-check: Move AC_LIBOBJ invocations to module description.
8558         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
8559         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
8560
8561 2011-05-23  Bruno Haible  <bruno@clisp.org>
8562
8563         c-strtold: Move AC_LIBOBJ invocations to module description.
8564         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
8565         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
8566
8567 2011-05-23  Bruno Haible  <bruno@clisp.org>
8568
8569         c-strtod: Move AC_LIBOBJ invocations to module description.
8570         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
8571         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
8572
8573 2011-05-23  Bruno Haible  <bruno@clisp.org>
8574
8575         crc: Move AC_LIBOBJ invocations to module description.
8576         * m4/crc.m4: Remove file.
8577         * modules/crc (Files): Remove it.
8578         (configure.ac): Remove gl_CRC call.
8579         (Makefile.am): Augment lib_SOURCES.
8580
8581 2011-05-23  Bruno Haible  <bruno@clisp.org>
8582
8583         close-stream: Move AC_LIBOBJ invocations to module description.
8584         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
8585         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
8586
8587 2011-05-23  Bruno Haible  <bruno@clisp.org>
8588
8589         closeout: Move AC_LIBOBJ invocations to module description.
8590         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
8591         * modules/closeout (Makefile.am): Augment lib_SOURCES.
8592
8593 2011-05-23  Bruno Haible  <bruno@clisp.org>
8594
8595         closein: Move AC_LIBOBJ invocations to module description.
8596         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
8597         * modules/closein (Makefile.am): Augment lib_SOURCES.
8598
8599 2011-05-23  Bruno Haible  <bruno@clisp.org>
8600
8601         cloexec: Move AC_LIBOBJ invocations to module description.
8602         * m4/cloexec.m4: Remove file.
8603         * modules/cloexec (Files): Remove it.
8604         (configure.ac): Remove gl_CLOEXEC call.
8605         (Makefile.am): Augment lib_SOURCES.
8606
8607 2011-05-23  Bruno Haible  <bruno@clisp.org>
8608
8609         check-version: Move AC_LIBOBJ invocations to module description.
8610         * m4/check-version.m4: Remove file.
8611         * modules/check-version (Files): Remove it.
8612         (configure.ac): Remove gl_CHECK_VERSION call.
8613         (Makefile.am): Augment lib_SOURCES.
8614
8615 2011-05-23  Bruno Haible  <bruno@clisp.org>
8616
8617         chdir-safer: Move AC_LIBOBJ invocations to module description.
8618         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
8619         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
8620
8621 2011-05-23  Bruno Haible  <bruno@clisp.org>
8622
8623         canonicalize: Move AC_LIBOBJ invocations to module description.
8624         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
8625         AC_LIBOBJ invocation.
8626         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
8627
8628 2011-05-23  Bruno Haible  <bruno@clisp.org>
8629
8630         canon-host: Move AC_LIBOBJ invocations to module description.
8631         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
8632         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
8633         instead of gl_CANON_HOST.
8634         (Makefile.am): Augment lib_SOURCES.
8635
8636 2011-05-23  Bruno Haible  <bruno@clisp.org>
8637
8638         backupfile: Move AC_LIBOBJ invocations to module description.
8639         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
8640         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
8641
8642 2011-05-23  Bruno Haible  <bruno@clisp.org>
8643
8644         argmatch: Move AC_LIBOBJ invocations to module description.
8645         * m4/argmatch.m4: Remove file.
8646         * modules/argmatch (Files): Remove it.
8647         (configure.ac): Remove gl_ARGMATCH call.
8648         (Makefile.am): Augment lib_SOURCES.
8649
8650 2011-05-23  Bruno Haible  <bruno@clisp.org>
8651
8652         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
8653         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
8654         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
8655
8656 2011-05-23  Bruno Haible  <bruno@clisp.org>
8657
8658         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
8659         * m4/arcfour.m4: Remove file.
8660         * modules/crypto/arcfour (Files): Remove it.
8661         (configure.ac): Remove gl_ARCFOUR call.
8662         (Makefile.am): Augment lib_SOURCES.
8663
8664 2011-05-22  Bruno Haible  <bruno@clisp.org>
8665
8666         write: Move AC_LIBOBJ invocations to module description.
8667         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
8668         * modules/write (configure.ac): ... to here.
8669
8670 2011-05-22  Bruno Haible  <bruno@clisp.org>
8671
8672         wmemset: Move AC_LIBOBJ invocations to module description.
8673         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
8674         here...
8675         * modules/wmemset (configure.ac): ... to here.
8676
8677 2011-05-22  Bruno Haible  <bruno@clisp.org>
8678
8679         wmemmove: Move AC_LIBOBJ invocations to module description.
8680         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
8681         here...
8682         * modules/wmemmove (configure.ac): ... to here.
8683
8684 2011-05-22  Bruno Haible  <bruno@clisp.org>
8685
8686         wmemcpy: Move AC_LIBOBJ invocations to module description.
8687         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
8688         here...
8689         * modules/wmemcpy (configure.ac): ... to here.
8690
8691 2011-05-22  Bruno Haible  <bruno@clisp.org>
8692
8693         wmemcmp: Move AC_LIBOBJ invocations to module description.
8694         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
8695         here...
8696         * modules/wmemcmp (configure.ac): ... to here.
8697
8698 2011-05-22  Bruno Haible  <bruno@clisp.org>
8699
8700         wmemchr: Move AC_LIBOBJ invocations to module description.
8701         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
8702         here...
8703         * modules/wmemchr (configure.ac): ... to here.
8704
8705 2011-05-22  Bruno Haible  <bruno@clisp.org>
8706
8707         wcswidth: Move AC_LIBOBJ invocations to module description.
8708         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
8709         here...
8710         * modules/wcswidth (configure.ac): ... to here.
8711
8712 2011-05-22  Bruno Haible  <bruno@clisp.org>
8713
8714         wcwidth: Respect rules for use of AC_LIBOBJ.
8715         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
8716         invocation from here...
8717         * modules/wcwidth (configure.ac): ... to here.
8718         (Depends-on): Update conditions.
8719
8720 2011-05-22  Bruno Haible  <bruno@clisp.org>
8721
8722         wctype: Move AC_LIBOBJ invocations to module description.
8723         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
8724         invocation from here...
8725         * modules/wctype (configure.ac): ... to here.
8726         (Depends-on): Update conditions.
8727
8728 2011-05-22  Bruno Haible  <bruno@clisp.org>
8729
8730         wctrans: Move AC_LIBOBJ invocations to module description.
8731         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
8732         invocation from here...
8733         * modules/wctrans (configure.ac): ... to here.
8734
8735 2011-05-22  Bruno Haible  <bruno@clisp.org>
8736
8737         wctomb: Move AC_LIBOBJ invocations to module description.
8738         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
8739         invocations from here...
8740         * modules/wctomb (configure.ac): ... to here.
8741
8742 2011-05-22  Bruno Haible  <bruno@clisp.org>
8743
8744         wctob: Move AC_LIBOBJ invocations to module description.
8745         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
8746         gl_PREREQ_WCTOB invocations from here...
8747         * modules/wctob (configure.ac): ... to here.
8748         (Depends-on): Update conditions.
8749
8750 2011-05-22  Bruno Haible  <bruno@clisp.org>
8751
8752         wcsxfrm: Move AC_LIBOBJ invocations to module description.
8753         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
8754         here...
8755         * modules/wcsxfrm (configure.ac): ... to here.
8756
8757 2011-05-22  Bruno Haible  <bruno@clisp.org>
8758
8759         wcstok: Move AC_LIBOBJ invocations to module description.
8760         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
8761         * modules/wcstok (configure.ac): ... to here.
8762
8763 2011-05-22  Bruno Haible  <bruno@clisp.org>
8764
8765         wcsstr: Move AC_LIBOBJ invocations to module description.
8766         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
8767         * modules/wcsstr (configure.ac): ... to here.
8768
8769 2011-05-22  Bruno Haible  <bruno@clisp.org>
8770
8771         wcsspn: Move AC_LIBOBJ invocations to module description.
8772         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
8773         * modules/wcsspn (configure.ac): ... to here.
8774
8775 2011-05-22  Bruno Haible  <bruno@clisp.org>
8776
8777         wcsrtombs: Move AC_LIBOBJ invocations to module description.
8778         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
8779         gl_PREREQ_WCSRTOMBS invocations from here...
8780         * modules/wcsrtombs (configure.ac): ... to here.
8781
8782 2011-05-22  Bruno Haible  <bruno@clisp.org>
8783
8784         wcsrchr: Move AC_LIBOBJ invocations to module description.
8785         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
8786         here...
8787         * modules/wcsrchr (configure.ac): ... to here.
8788
8789 2011-05-22  Bruno Haible  <bruno@clisp.org>
8790
8791         wcspbrk: Move AC_LIBOBJ invocations to module description.
8792         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
8793         here...
8794         * modules/wcspbrk (configure.ac): ... to here.
8795
8796 2011-05-22  Bruno Haible  <bruno@clisp.org>
8797
8798         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
8799         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
8800         gl_PREREQ_WCSNRTOMBS invocations from here...
8801         * modules/wcsnrtombs (configure.ac): ... to here.
8802
8803 2011-05-22  Bruno Haible  <bruno@clisp.org>
8804
8805         wcsnlen: Move AC_LIBOBJ invocations to module description.
8806         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
8807         here...
8808         * modules/wcsnlen (configure.ac): ... to here.
8809
8810 2011-05-22  Bruno Haible  <bruno@clisp.org>
8811
8812         wcsncpy: Move AC_LIBOBJ invocations to module description.
8813         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
8814         here...
8815         * modules/wcsncpy (configure.ac): ... to here.
8816
8817 2011-05-22  Bruno Haible  <bruno@clisp.org>
8818
8819         wcsncmp: Move AC_LIBOBJ invocations to module description.
8820         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
8821         here...
8822         * modules/wcsncmp (configure.ac): ... to here.
8823
8824 2011-05-22  Bruno Haible  <bruno@clisp.org>
8825
8826         wcsncat: Move AC_LIBOBJ invocations to module description.
8827         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
8828         here...
8829         * modules/wcsncat (configure.ac): ... to here.
8830
8831 2011-05-22  Bruno Haible  <bruno@clisp.org>
8832
8833         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
8834         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
8835         from here...
8836         * modules/wcsncasecmp (configure.ac): ... to here.
8837
8838 2011-05-22  Bruno Haible  <bruno@clisp.org>
8839
8840         wcslen: Move AC_LIBOBJ invocations to module description.
8841         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
8842         * modules/wcslen (configure.ac): ... to here.
8843
8844 2011-05-22  Bruno Haible  <bruno@clisp.org>
8845
8846         wcsdup: Move AC_LIBOBJ invocations to module description.
8847         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
8848         * modules/wcsdup (configure.ac): ... to here.
8849
8850 2011-05-22  Bruno Haible  <bruno@clisp.org>
8851
8852         wcscspn: Move AC_LIBOBJ invocations to module description.
8853         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
8854         here...
8855         * modules/wcscspn (configure.ac): ... to here.
8856
8857 2011-05-22  Bruno Haible  <bruno@clisp.org>
8858
8859         wcscpy: Move AC_LIBOBJ invocations to module description.
8860         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
8861         * modules/wcscpy (configure.ac): ... to here.
8862
8863 2011-05-22  Bruno Haible  <bruno@clisp.org>
8864
8865         wcscoll: Move AC_LIBOBJ invocations to module description.
8866         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
8867         here...
8868         * modules/wcscoll (configure.ac): ... to here.
8869
8870 2011-05-22  Bruno Haible  <bruno@clisp.org>
8871
8872         wcscmp: Move AC_LIBOBJ invocations to module description.
8873         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
8874         * modules/wcscmp (configure.ac): ... to here.
8875
8876 2011-05-22  Bruno Haible  <bruno@clisp.org>
8877
8878         wcschr: Move AC_LIBOBJ invocations to module description.
8879         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
8880         * modules/wcschr (configure.ac): ... to here.
8881
8882 2011-05-22  Bruno Haible  <bruno@clisp.org>
8883
8884         wcscat: Move AC_LIBOBJ invocations to module description.
8885         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
8886         * modules/wcscat (configure.ac): ... to here.
8887
8888 2011-05-22  Bruno Haible  <bruno@clisp.org>
8889
8890         wcscasecmp: Move AC_LIBOBJ invocations to module description.
8891         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
8892         here...
8893         * modules/wcscasecmp (configure.ac): ... to here.
8894
8895 2011-05-22  Bruno Haible  <bruno@clisp.org>
8896
8897         wcrtomb: Move AC_LIBOBJ invocations to module description.
8898         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
8899         invocations from here...
8900         * modules/wcrtomb (configure.ac): ... to here.
8901
8902 2011-05-22  Bruno Haible  <bruno@clisp.org>
8903
8904         wcpncpy: Move AC_LIBOBJ invocations to module description.
8905         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
8906         here...
8907         * modules/wcpncpy (configure.ac): ... to here.
8908
8909 2011-05-22  Bruno Haible  <bruno@clisp.org>
8910
8911         wcpcpy: Move AC_LIBOBJ invocations to module description.
8912         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
8913         * modules/wcpcpy (configure.ac): ... to here.
8914
8915 2011-05-22  Bruno Haible  <bruno@clisp.org>
8916
8917         waitpid: Move AC_LIBOBJ invocations to module description.
8918         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
8919         invocation from here...
8920         * modules/waitpid (configure.ac): ... to here.
8921
8922 2011-05-22  Bruno Haible  <bruno@clisp.org>
8923
8924         utimensat: Move AC_LIBOBJ invocations to module description.
8925         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
8926         here...
8927         * modules/utimensat (configure.ac): ... to here.
8928
8929 2011-05-22  Bruno Haible  <bruno@clisp.org>
8930
8931         usleep: Move AC_LIBOBJ invocations to module description.
8932         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
8933         here...
8934         * modules/usleep (configure.ac): ... to here.
8935
8936 2011-05-22  Bruno Haible  <bruno@clisp.org>
8937
8938         unlockpt: Move AC_LIBOBJ invocations to module description.
8939         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
8940         gl_PREREQ_UNLOCKPT invocations from here...
8941         * modules/unlockpt (configure.ac): ... to here.
8942
8943 2011-05-22  Bruno Haible  <bruno@clisp.org>
8944
8945         unlink: Respect rules for use of AC_LIBOBJ.
8946         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
8947         * modules/unlink (configure.ac): ... to here.
8948
8949 2011-05-22  Bruno Haible  <bruno@clisp.org>
8950
8951         uname: Move AC_LIBOBJ invocations to module description.
8952         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
8953         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
8954         here...
8955         * modules/uname (configure.ac): ... to here.
8956
8957 2011-05-22  Bruno Haible  <bruno@clisp.org>
8958
8959         ttyname_r: Move AC_LIBOBJ invocations to module description.
8960         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
8961         gl_PREREQ_TTYNAME_R invocations from here...
8962         * modules/ttyname_r (configure.ac): ... to here.
8963
8964 2011-05-22  Bruno Haible  <bruno@clisp.org>
8965
8966         tsearch: Move AC_LIBOBJ invocations to module description.
8967         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
8968         invocations from here...
8969         * modules/tsearch (configure.ac): ... to here.
8970
8971 2011-05-22  Bruno Haible  <bruno@clisp.org>
8972
8973         towctrans: Move AC_LIBOBJ invocations to module description.
8974         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
8975         AC_LIBOBJ invocation from here...
8976         * modules/towctrans (configure.ac): ... to here.
8977
8978 2011-05-22  Bruno Haible  <bruno@clisp.org>
8979
8980         tmpfile: Move AC_LIBOBJ invocations to module description.
8981         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
8982         invocations from here...
8983         * modules/tmpfile (configure.ac): ... to here.
8984
8985 2011-05-22  Bruno Haible  <bruno@clisp.org>
8986
8987         times: Move AC_LIBOBJ invocations to module description.
8988         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
8989         * modules/times (configure.ac): ... to here.
8990
8991 2011-05-22  Bruno Haible  <bruno@clisp.org>
8992
8993         time_r: Move AC_LIBOBJ invocations to module description.
8994         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
8995         invocations from here...
8996         * modules/time_r (configure.ac): ... to here.
8997
8998 2011-05-22  Bruno Haible  <bruno@clisp.org>
8999
9000         timegm: Move AC_LIBOBJ invocations to module description.
9001         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
9002         invocations from here...
9003         * modules/timegm (configure.ac): ... to here.
9004
9005 2011-05-22  Bruno Haible  <bruno@clisp.org>
9006
9007         tcgetsid: Move AC_LIBOBJ invocations to module description.
9008         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
9009         and gl_PREREQ_TCGETSID invocations from here...
9010         * modules/tcgetsid (configure.ac): ... to here.
9011         (Depends-on): Update conditions.
9012
9013 2011-05-22  Bruno Haible  <bruno@clisp.org>
9014
9015         symlinkat: Move AC_LIBOBJ invocations to module description.
9016         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
9017         here...
9018         * modules/symlinkat (configure.ac): ... to here.
9019
9020 2011-05-22  Bruno Haible  <bruno@clisp.org>
9021
9022         symlink: Move AC_LIBOBJ invocations to module description.
9023         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
9024         here...
9025         * modules/symlink (configure.ac): ... to here.
9026
9027 2011-05-22  Bruno Haible  <bruno@clisp.org>
9028
9029         strverscmp: Move AC_LIBOBJ invocations to module description.
9030         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
9031         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
9032         from here...
9033         * modules/strverscmp (configure.ac): ... to here.
9034
9035 2011-05-22  Bruno Haible  <bruno@clisp.org>
9036
9037         strtok_r: Move AC_LIBOBJ invocations to module description.
9038         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
9039         and gl_PREREQ_STRTOK_R invocations from here...
9040         * modules/strtok_r (configure.ac): ... to here.
9041         (Depends-on): Update conditions.
9042
9043 2011-05-22  Bruno Haible  <bruno@clisp.org>
9044
9045         strtoumax: Move AC_LIBOBJ invocations to module description.
9046         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
9047         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
9048         from here...
9049         * modules/strtoumax (configure.ac): ... to here.
9050
9051 2011-05-22  Bruno Haible  <bruno@clisp.org>
9052
9053         strtoimax: Move AC_LIBOBJ invocations to module description.
9054         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
9055         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
9056         from here...
9057         * modules/strtoimax (configure.ac): ... to here.
9058
9059 2011-05-22  Bruno Haible  <bruno@clisp.org>
9060
9061         strtoull: Move AC_LIBOBJ invocations to module description.
9062         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
9063         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
9064         from here...
9065         * modules/strtoull (configure.ac): ... to here.
9066
9067 2011-05-22  Bruno Haible  <bruno@clisp.org>
9068
9069         strtoll: Move AC_LIBOBJ invocations to module description.
9070         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
9071         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
9072         here...
9073         * modules/strtoll (configure.ac): ... to here.
9074
9075 2011-05-22  Bruno Haible  <bruno@clisp.org>
9076
9077         strtoul: Move AC_LIBOBJ invocations to module description.
9078         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
9079         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
9080         * modules/strtoul (configure.ac): ... to here.
9081
9082 2011-05-22  Bruno Haible  <bruno@clisp.org>
9083
9084         strtol: Move AC_LIBOBJ invocations to module description.
9085         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
9086         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
9087         * modules/strtol (configure.ac): ... to here.
9088
9089 2011-05-22  Bruno Haible  <bruno@clisp.org>
9090
9091         strtod: Move AC_LIBOBJ invocations to module description.
9092         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
9093         invocations from here...
9094         * modules/strtod (configure.ac): ... to here.
9095
9096 2011-05-22  Bruno Haible  <bruno@clisp.org>
9097
9098         strstr*: Move AC_LIBOBJ invocations to module description.
9099         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
9100         invocations from here...
9101         * modules/strstr-simple (configure.ac): ... to here.
9102         * modules/strstr (configure.ac): ... and here.
9103
9104 2011-05-22  Bruno Haible  <bruno@clisp.org>
9105
9106         strsignal: Move AC_LIBOBJ invocations to module description.
9107         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
9108         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
9109         * modules/strsignal (configure.ac): ... to here.
9110         (Depends-on): Update conditions.
9111
9112 2011-05-22  Bruno Haible  <bruno@clisp.org>
9113
9114         strsep: Move AC_LIBOBJ invocations to module description.
9115         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
9116         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
9117         here...
9118         * modules/strsep (configure.ac): ... to here.
9119
9120 2011-05-22  Bruno Haible  <bruno@clisp.org>
9121
9122         strptime: Move AC_LIBOBJ invocations to module description.
9123         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
9124         gl_PREREQ_STRPTIME invocations from here...
9125         * modules/strptime (configure.ac): ... to here.
9126
9127 2011-05-22  Bruno Haible  <bruno@clisp.org>
9128
9129         strpbrk: Move AC_LIBOBJ invocations to module description.
9130         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
9131         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
9132         here...
9133         * modules/strpbrk (configure.ac): ... to here.
9134
9135 2011-05-22  Bruno Haible  <bruno@clisp.org>
9136
9137         strnlen: Move AC_LIBOBJ invocations to module description.
9138         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
9139         invocations from here...
9140         * modules/strnlen (configure.ac): ... to here.
9141
9142 2011-05-22  Bruno Haible  <bruno@clisp.org>
9143
9144         strndup: Move AC_LIBOBJ invocations to module description.
9145         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
9146         invocations from here...
9147         * modules/strndup (configure.ac): ... to here.
9148         (Depends-on): Update conditions.
9149
9150 2011-05-22  Bruno Haible  <bruno@clisp.org>
9151
9152         strncat: Move AC_LIBOBJ invocations to module description.
9153         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
9154         invocations from here...
9155         * modules/strncat (configure.ac): ... to here.
9156
9157 2011-05-22  Bruno Haible  <bruno@clisp.org>
9158
9159         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
9160         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
9161         invocations from here...
9162         * modules/strdup (configure.ac): ... to here.
9163         * modules/strdup-posix (configure.ac): ... and here.
9164
9165 2011-05-22  Bruno Haible  <bruno@clisp.org>
9166
9167         strcspn: Move AC_LIBOBJ invocations to module description.
9168         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
9169         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
9170         here...
9171         * modules/strcspn (configure.ac): ... to here.
9172
9173 2011-05-22  Bruno Haible  <bruno@clisp.org>
9174
9175         strchrnul: Move AC_LIBOBJ invocations to module description.
9176         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
9177         gl_PREREQ_STRCHRNUL invocations from here...
9178         * modules/strchrnul (configure.ac): ... to here.
9179
9180 2011-05-22  Bruno Haible  <bruno@clisp.org>
9181
9182         strcasestr*: Move AC_LIBOBJ invocations to module description.
9183         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
9184         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
9185         * modules/strcasestr-simple (configure.ac): ... to here.
9186         * modules/strcasestr (configure.ac): ... and here.
9187
9188 2011-05-22  Bruno Haible  <bruno@clisp.org>
9189
9190         strcase: Move AC_LIBOBJ invocations to module description.
9191         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
9192         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
9193         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
9194         gl_PREREQ_STRNCASECMP invocations from here...
9195         * modules/strcase (configure.ac): ... to here.
9196
9197 2011-05-22  Bruno Haible  <bruno@clisp.org>
9198
9199         stpncpy: Move AC_LIBOBJ invocations to module description.
9200         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
9201         here...
9202         * modules/stpncpy (configure.ac): ... to here.
9203
9204 2011-05-22  Bruno Haible  <bruno@clisp.org>
9205
9206         stpcpy: Move AC_LIBOBJ invocations to module description.
9207         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
9208         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
9209         here...
9210         * modules/stpcpy (configure.ac): ... to here.
9211
9212 2011-05-21  Bruno Haible  <bruno@clisp.org>
9213
9214         stat: Move AC_LIBOBJ invocations to module description.
9215         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
9216         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
9217         here...
9218         * modules/stat (configure.ac): ... to here.
9219
9220 2011-05-21  Bruno Haible  <bruno@clisp.org>
9221
9222         sleep: Move AC_LIBOBJ invocations to module description.
9223         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
9224         * modules/sleep (configure.ac): ... to here.
9225
9226 2011-05-21  Bruno Haible  <bruno@clisp.org>
9227
9228         signbit: Move AC_LIBOBJ invocations to module description.
9229         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
9230         * modules/signbit (configure.ac): ... to here.
9231
9232 2011-05-21  Bruno Haible  <bruno@clisp.org>
9233
9234         sigprocmask: Move AC_LIBOBJ invocations to module description.
9235         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
9236         gl_PREREQ_SIGPROMASK invocations from here...
9237         * modules/sigprocmask (configure.ac): ... to here.
9238
9239 2011-05-21  Bruno Haible  <bruno@clisp.org>
9240
9241         sigaction: Move AC_LIBOBJ invocations to module description.
9242         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
9243         gl_PREREQ_SIGACTION invocations from here...
9244         * modules/sigaction (configure.ac): ... to here.
9245
9246 2011-05-21  Bruno Haible  <bruno@clisp.org>
9247
9248         sig2str: Move AC_LIBOBJ invocations to module description.
9249         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
9250         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
9251         here...
9252         * modules/sig2str (configure.ac): ... to here.
9253
9254 2011-05-21  Bruno Haible  <bruno@clisp.org>
9255
9256         setlocale: Move AC_LIBOBJ invocations to module description.
9257         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
9258         gl_PREREQ_SETLOCALE invocations from here...
9259         * modules/setlocale (configure.ac): ... to here.
9260
9261 2011-05-21  Bruno Haible  <bruno@clisp.org>
9262
9263         unsetenv: Move AC_LIBOBJ invocations to module description.
9264         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
9265         and gl_PREREQ_UNSETENV invocations from here...
9266         * modules/unsetenv (configure.ac): ... to here.
9267         (Depends-on): Update.
9268
9269 2011-05-21  Bruno Haible  <bruno@clisp.org>
9270
9271         setenv: Move AC_LIBOBJ invocations to module description.
9272         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
9273         here...
9274         * modules/setenv (configure.ac): ... to here.
9275
9276 2011-05-21  Bruno Haible  <bruno@clisp.org>
9277
9278         selinux-h: Move AC_LIBOBJ invocations to module description.
9279         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
9280         AC_LIBOBJ invocation from here...
9281         * modules/selinux-h (configure.ac): ... to here.
9282
9283 2011-05-21  Bruno Haible  <bruno@clisp.org>
9284
9285         select: Respect rules for use of AC_LIBOBJ.
9286         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
9287         here...
9288         * modules/select (configure.ac): ... to here.
9289
9290 2011-05-21  Bruno Haible  <bruno@clisp.org>
9291
9292         scandir: Move AC_LIBOBJ invocations to module description.
9293         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
9294         invocations from here...
9295         * modules/scandir (configure.ac): ... to here.
9296
9297 2011-05-21  Bruno Haible  <bruno@clisp.org>
9298
9299         rpmatch: Move AC_LIBOBJ invocations to module description.
9300         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
9301         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
9302         here...
9303         * modules/rpmatch (configure.ac): ... to here.
9304
9305 2011-05-21  Bruno Haible  <bruno@clisp.org>
9306
9307         rmdir: Respect rules for use of AC_LIBOBJ.
9308         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
9309         * modules/rmdir (configure.ac): ... to here.
9310
9311 2011-05-21  Bruno Haible  <bruno@clisp.org>
9312
9313         renameat: Move AC_LIBOBJ invocations to module description.
9314         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
9315         here...
9316         * modules/renameat (configure.ac): ... to here.
9317
9318 2011-05-21  Bruno Haible  <bruno@clisp.org>
9319
9320         rename: Respect rules for use of AC_LIBOBJ.
9321         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
9322         here...
9323         * modules/rename (configure.ac): ... to here.
9324
9325 2011-05-21  Bruno Haible  <bruno@clisp.org>
9326
9327         remove: Move AC_LIBOBJ invocations to module description.
9328         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
9329         here...
9330         * modules/remove (configure.ac): ... to here.
9331
9332 2011-05-21  Bruno Haible  <bruno@clisp.org>
9333
9334         relocatable-lib: Move AC_LIBOBJ invocations to module description.
9335         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
9336         macro.
9337         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
9338         * modules/relocatable-lib (configure.ac): ... to here.
9339         * modules/relocatable-prog-wrapper (configure.ac): Invoke
9340         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
9341
9342 2011-05-21  Bruno Haible  <bruno@clisp.org>
9343
9344         relocatable-prog: Move AC_LIBOBJ invocations to module description.
9345         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
9346         here...
9347         * modules/relocatable-prog (configure.ac): ... to here.
9348
9349 2011-05-21  Bruno Haible  <bruno@clisp.org>
9350
9351         regex: Move AC_LIBOBJ invocations to module description.
9352         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
9353         invocations from here...
9354         * modules/regex (configure.ac): ... to here.
9355
9356 2011-05-21  Bruno Haible  <bruno@clisp.org>
9357
9358         realloc-*: Move AC_LIBOBJ invocations to module description.
9359         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
9360         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
9361         AC_LIBOBJ invocations from here...
9362         * modules/realloc-gnu (configure.ac): ... to here.
9363         * modules/realloc-posix (configure.ac): ... and here.
9364
9365 2011-05-21  Bruno Haible  <bruno@clisp.org>
9366
9367         readutmp: Move AC_LIBOBJ invocations to module description.
9368         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
9369         * modules/readutmp (configure.ac): ... to here.
9370
9371 2011-05-21  Bruno Haible  <bruno@clisp.org>
9372
9373         readlinkat: Move AC_LIBOBJ invocations to module description.
9374         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
9375         here...
9376         * modules/readlinkat (configure.ac): ... to here.
9377
9378 2011-05-21  Bruno Haible  <bruno@clisp.org>
9379
9380         readlink: Move AC_LIBOBJ invocations to module description.
9381         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
9382         gl_PREREQ_READLINK invocations from here...
9383         * modules/readlink (configure.ac): ... to here.
9384
9385 2011-05-21  Bruno Haible  <bruno@clisp.org>
9386
9387         readline: Move AC_LIBOBJ invocations to module description.
9388         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
9389         gl_PREREQ_READLINE invocations from here...
9390         * modules/readline (configure.ac): ... to here.
9391
9392 2011-05-21  Bruno Haible  <bruno@clisp.org>
9393
9394         read: Move AC_LIBOBJ invocations to module description.
9395         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
9396         * modules/read (configure.ac): ... to here.
9397
9398 2011-05-21  Bruno Haible  <bruno@clisp.org>
9399
9400         rawmemchr: Move AC_LIBOBJ invocations to module description.
9401         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
9402         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
9403         from here...
9404         * modules/rawmemchr (configure.ac): ... to here.
9405
9406 2011-05-21  Bruno Haible  <bruno@clisp.org>
9407
9408         random_r: Move AC_LIBOBJ invocations to module description.
9409         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
9410         gl_PREREQ_RANDOM_R invocations from here...
9411         * modules/random_r (configure.ac): ... to here.
9412
9413 2011-05-21  Bruno Haible  <bruno@clisp.org>
9414
9415         pwrite: Move AC_LIBOBJ invocations to module description.
9416         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
9417         * modules/pwrite (configure.ac): ... to here.
9418
9419 2011-05-21  Bruno Haible  <bruno@clisp.org>
9420
9421         putenv: Move AC_LIBOBJ invocations to module description.
9422         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
9423         * modules/putenv (configure.ac): ... to here.
9424
9425 2011-05-21  Bruno Haible  <bruno@clisp.org>
9426
9427         login_tty: Move AC_LIBOBJ invocations to module description.
9428         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
9429         * modules/login_tty (configure.ac): ... to here.
9430
9431 2011-05-21  Bruno Haible  <bruno@clisp.org>
9432
9433         openpty: Move AC_LIBOBJ invocations to module description.
9434         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
9435         * modules/openpty (configure.ac): ... to here.
9436
9437 2011-05-21  Bruno Haible  <bruno@clisp.org>
9438
9439         forkpty: Move AC_LIBOBJ invocations to module description.
9440         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
9441         * modules/forkpty (configure.ac): ... to here.
9442
9443 2011-05-21  Bruno Haible  <bruno@clisp.org>
9444
9445         ptsname: Move AC_LIBOBJ invocations to module description.
9446         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
9447         invocations from here...
9448         * modules/ptsname (configure.ac): ... to here.
9449
9450 2011-05-21  Bruno Haible  <bruno@clisp.org>
9451
9452         pread: Move AC_LIBOBJ invocations to module description.
9453         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
9454         * modules/pread (configure.ac): ... to here.
9455
9456 2011-05-21  Bruno Haible  <bruno@clisp.org>
9457
9458         posix_spawn*: Move AC_LIBOBJ invocations to module description.
9459         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
9460         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
9461         * modules/posix_spawn (configure.ac): ... to here.
9462         * modules/posix_spawnp (configure.ac): ... and here.
9463
9464 2011-05-21  Bruno Haible  <bruno@clisp.org>
9465
9466         popen: Move AC_LIBOBJ invocations to module description.
9467         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
9468         invocations from here...
9469         * modules/popen (configure.ac): ... to here.
9470
9471 2011-05-21  Bruno Haible  <bruno@clisp.org>
9472
9473         poll: Move AC_LIBOBJ invocations to module description.
9474         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
9475         invocations from here...
9476         * modules/poll (configure.ac): ... to here.
9477
9478 2011-05-21  Bruno Haible  <bruno@clisp.org>
9479
9480         pipe-posix: Move AC_LIBOBJ invocations to module description.
9481         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
9482         * modules/pipe-posix (configure.ac): ... to here.
9483
9484 2011-05-21  Bruno Haible  <bruno@clisp.org>
9485
9486         openat: Respect rules for use of AC_LIBOBJ.
9487         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
9488         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
9489         * modules/openat (configure.ac): ... to here.
9490
9491 2011-05-21  Bruno Haible  <bruno@clisp.org>
9492
9493         obstack-printf*: Move AC_LIBOBJ invocations to module description.
9494         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
9495         invocation from here...
9496         * modules/obstack-printf (configure.ac): ... to here.
9497         * modules/obstack-printf-posix (configure.ac): ... and here.
9498
9499 2011-05-21  Bruno Haible  <bruno@clisp.org>
9500
9501         nl_langinfo: Move AC_LIBOBJ invocations to module description.
9502         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
9503         from here...
9504         * modules/nl_langinfo (configure.ac): ... to here.
9505
9506 2011-05-21  Bruno Haible  <bruno@clisp.org>
9507
9508         nanosleep: Move AC_LIBOBJ invocations to module description.
9509         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
9510         gl_PREREQ_NANOSLEEP invocations from here...
9511         * modules/nanosleep (configure.ac): ... to here.
9512
9513 2011-05-21  Bruno Haible  <bruno@clisp.org>
9514
9515         mountlist: Move AC_LIBOBJ invocations to module description.
9516         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
9517         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
9518         * modules/mountlist (configure.ac): ... to here.
9519
9520 2011-05-21  Bruno Haible  <bruno@clisp.org>
9521
9522         mktime: Respect rules for use of AC_LIBOBJ.
9523         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
9524         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
9525         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
9526         (gl_FUNC_MKTIME_INTERNAL): ... and here...
9527         * modules/mktime (configure.ac): ... to here.
9528         * modules/mktime-internal (configure.ac): ... and here.
9529         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
9530
9531 2011-05-21  Bruno Haible  <bruno@clisp.org>
9532
9533         mkstemps: Move AC_LIBOBJ invocations to module description.
9534         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
9535         here...
9536         * modules/mkstemps (configure.ac): ... to here.
9537
9538 2011-05-21  Bruno Haible  <bruno@clisp.org>
9539
9540         mkstemp: Move AC_LIBOBJ invocations to module description.
9541         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
9542         gl_PREREQ_MKSTEMP invocations from here...
9543         * modules/mkstemp (configure.ac): ... to here.
9544
9545 2011-05-21  Bruno Haible  <bruno@clisp.org>
9546
9547         mkostemps: Move AC_LIBOBJ invocations to module description.
9548         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
9549         here...
9550         * modules/mkostemps (configure.ac): ... to here.
9551
9552 2011-05-21  Bruno Haible  <bruno@clisp.org>
9553
9554         mkostemp: Move AC_LIBOBJ invocations to module description.
9555         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
9556         gl_PREREQ_MKOSTEMP invocations from here...
9557         * modules/mkostemp (configure.ac): ... to here.
9558
9559 2011-05-21  Bruno Haible  <bruno@clisp.org>
9560
9561         mknod: Move AC_LIBOBJ invocations to module description.
9562         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
9563         * modules/mknod (configure.ac): ... to here.
9564
9565 2011-05-21  Bruno Haible  <bruno@clisp.org>
9566
9567         mkfifoat: Move AC_LIBOBJ invocations to module description.
9568         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
9569         here...
9570         * modules/mkfifoat (configure.ac): ... to here.
9571
9572 2011-05-21  Bruno Haible  <bruno@clisp.org>
9573
9574         mkfifo: Respect rules for use of AC_LIBOBJ.
9575         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
9576         here...
9577         * modules/mkfifo (configure.ac): ... to here.
9578
9579 2011-05-21  Bruno Haible  <bruno@clisp.org>
9580
9581         mkdtemp: Move AC_LIBOBJ invocations to module description.
9582         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
9583         invocations from here...
9584         * modules/mkdtemp (configure.ac): ... to here.
9585
9586 2011-05-21  Bruno Haible  <bruno@clisp.org>
9587
9588         mkdir: Move AC_LIBOBJ invocations to module description.
9589         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
9590         * modules/mkdir (configure.ac): ... to here.
9591
9592 2011-05-21  Bruno Haible  <bruno@clisp.org>
9593
9594         memset: Move AC_LIBOBJ invocations to module description.
9595         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
9596         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
9597         here...
9598         * modules/memset (configure.ac): ... to here.
9599
9600 2011-05-21  Bruno Haible  <bruno@clisp.org>
9601
9602         memrchr: Move AC_LIBOBJ invocations to module description.
9603         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
9604         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
9605         here...
9606         * modules/memrchr (configure.ac): ... to here.
9607
9608 2011-05-21  Bruno Haible  <bruno@clisp.org>
9609
9610         mempcpy: Move AC_LIBOBJ invocations to module description.
9611         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
9612         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
9613         here...
9614         * modules/mempcpy (configure.ac): ... to here.
9615
9616 2011-05-21  Bruno Haible  <bruno@clisp.org>
9617
9618         memmove: Move AC_LIBOBJ invocations to module description.
9619         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
9620         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
9621         here...
9622         * modules/memmove (configure.ac): ... to here.
9623
9624 2011-05-21  Bruno Haible  <bruno@clisp.org>
9625
9626         memmem*: Move AC_LIBOBJ invocations to module description.
9627         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
9628         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
9629         here...
9630         (gl_FUNC_MEMMEM): ... and here...
9631         * modules/memmem-simple (configure.ac): ... to here.
9632         * modules/memmem (configure.ac): ... and here.
9633
9634 2011-05-21  Bruno Haible  <bruno@clisp.org>
9635
9636         memcpy: Move AC_LIBOBJ invocations to module description.
9637         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
9638         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
9639         here...
9640         * modules/memcpy (configure.ac): ... to here.
9641
9642 2011-05-21  Bruno Haible  <bruno@clisp.org>
9643
9644         memcmp: Simplify autoconf macro.
9645         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
9646         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
9647         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
9648
9649 2011-05-21  Bruno Haible  <bruno@clisp.org>
9650
9651         memcmp: Move AC_LIBOBJ invocations to module description.
9652         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
9653         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
9654         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
9655         * modules/memcmp (configure.ac): ... to here.
9656         (Depends-on): Update conditions.
9657
9658 2011-05-21  Bruno Haible  <bruno@clisp.org>
9659
9660         memchr: Respect rules for use of AC_LIBOBJ.
9661         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
9662         invocations from here...
9663         * modules/memchr (configure.ac): ... to here.
9664
9665 2011-05-21  Bruno Haible  <bruno@clisp.org>
9666
9667         mbtowc: Move AC_LIBOBJ invocations to module description.
9668         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
9669         invocations from here...
9670         * modules/mbtowc (configure.ac): ... to here.
9671
9672 2011-05-21  Bruno Haible  <bruno@clisp.org>
9673
9674         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
9675         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
9676         gl_PREREQ_MBSRTOWCS invocations from here...
9677         * modules/mbsrtowcs (configure.ac): ... to here.
9678
9679 2011-05-21  Bruno Haible  <bruno@clisp.org>
9680
9681         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
9682         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
9683         gl_PREREQ_MBSNRTOWCS invocations from here...
9684         * modules/mbsnrtowcs (configure.ac): ... to here.
9685
9686 2011-05-21  Bruno Haible  <bruno@clisp.org>
9687
9688         mbsinit: Move AC_LIBOBJ invocations to module description.
9689         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
9690         invocations from here...
9691         * modules/mbsinit (configure.ac): ... to here.
9692
9693 2011-05-21  Bruno Haible  <bruno@clisp.org>
9694
9695         mbrlen: Move AC_LIBOBJ invocations to module description.
9696         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
9697         invocations from here...
9698         * modules/mbrlen (configure.ac): ... to here.
9699
9700 2011-05-21  Bruno Haible  <bruno@clisp.org>
9701
9702         mbrtowc: Respect rules for use of AC_LIBOBJ.
9703         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
9704         invocations from here...
9705         * modules/mbrtowc (configure.ac): ... to here.
9706
9707 2011-05-21  Bruno Haible  <bruno@clisp.org>
9708
9709         malloc-*: Move AC_LIBOBJ invocations to module description.
9710         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
9711         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
9712         AC_LIBOBJ invocations from here...
9713         * modules/malloc-gnu (configure.ac): ... to here.
9714         * modules/malloc-posix (configure.ac): ... and here.
9715
9716 2011-05-21  Bruno Haible  <bruno@clisp.org>
9717
9718         lstat, openat: Respect rules for use of AC_LIBOBJ.
9719         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
9720         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
9721         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
9722         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
9723         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
9724         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
9725         here.
9726         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
9727
9728 2011-05-21  Bruno Haible  <bruno@clisp.org>
9729
9730         lseek: Move AC_LIBOBJ invocations to module description.
9731         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
9732         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
9733         * modules/lseek (configure.ac): ... to here.
9734
9735 2011-05-21  Bruno Haible  <bruno@clisp.org>
9736
9737         linkat: Move AC_LIBOBJ invocations to module description.
9738         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
9739         here...
9740         * modules/linkat (configure.ac): ... to here.
9741
9742 2011-05-21  Bruno Haible  <bruno@clisp.org>
9743
9744         link: Respect rules for use of AC_LIBOBJ.
9745         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
9746         * modules/link (configure.ac): ... to here.
9747
9748 2011-05-21  Bruno Haible  <bruno@clisp.org>
9749
9750         lchown: Move AC_LIBOBJ invocations to module description.
9751         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
9752         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
9753         * modules/lchown (configure.ac): ... to here.
9754
9755 2011-05-21  Bruno Haible  <bruno@clisp.org>
9756
9757         iswctype: Move AC_LIBOBJ invocations to module description.
9758         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
9759         here...
9760         * modules/iswctype (configure.ac): ... to here.
9761
9762 2011-05-21  Bruno Haible  <bruno@clisp.org>
9763
9764         iswblank: Move AC_LIBOBJ invocations to module description.
9765         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
9766         here...
9767         * modules/iswblank (configure.ac): ... to here.
9768
9769 2011-05-21  Bruno Haible  <bruno@clisp.org>
9770
9771         atanl: Move AC_LIBOBJ invocations to module description.
9772         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
9773         * modules/atanl (configure.ac): ... to here.
9774
9775 2011-05-21  Bruno Haible  <bruno@clisp.org>
9776
9777         acosl: Move AC_LIBOBJ invocations to module description.
9778         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
9779         * modules/acosl (configure.ac): ... to here.
9780
9781 2011-05-21  Bruno Haible  <bruno@clisp.org>
9782
9783         asinl: Respect rules for use of AC_LIBOBJ.
9784         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
9785         * modules/asinl (configure.ac): ... to here.
9786
9787 2011-05-21  Bruno Haible  <bruno@clisp.org>
9788
9789         tanl: Move AC_LIBOBJ invocations to module description.
9790         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
9791         * modules/tanl (configure.ac): ... to here.
9792
9793 2011-05-21  Bruno Haible  <bruno@clisp.org>
9794
9795         cosl: Move AC_LIBOBJ invocations to module description.
9796         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
9797         * modules/cosl (configure.ac): ... to here.
9798
9799 2011-05-21  Bruno Haible  <bruno@clisp.org>
9800
9801         sinl: Move AC_LIBOBJ invocations to module description.
9802         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
9803         * modules/sinl (configure.ac): ... to here.
9804
9805 2011-05-21  Bruno Haible  <bruno@clisp.org>
9806
9807         logl: Move AC_LIBOBJ invocations to module description.
9808         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
9809         * modules/logl (configure.ac): ... to here.
9810
9811 2011-05-21  Bruno Haible  <bruno@clisp.org>
9812
9813         expl: Move AC_LIBOBJ invocations to module description.
9814         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
9815         * modules/expl (configure.ac): ... to here.
9816
9817 2011-05-21  Bruno Haible  <bruno@clisp.org>
9818
9819         roundl: Move AC_LIBOBJ invocations to module description.
9820         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
9821         * modules/roundl (configure.ac): ... to here.
9822
9823 2011-05-21  Bruno Haible  <bruno@clisp.org>
9824
9825         round: Move AC_LIBOBJ invocations to module description.
9826         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
9827         * modules/round (configure.ac): ... to here.
9828
9829 2011-05-21  Bruno Haible  <bruno@clisp.org>
9830
9831         roundf: Move AC_LIBOBJ invocations to module description.
9832         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
9833         * modules/roundf (configure.ac): ... to here.
9834
9835 2011-05-21  Bruno Haible  <bruno@clisp.org>
9836
9837         truncl: Move AC_LIBOBJ invocations to module description.
9838         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
9839         * modules/truncl (configure.ac): ... to here.
9840
9841 2011-05-21  Bruno Haible  <bruno@clisp.org>
9842
9843         trunc: Move AC_LIBOBJ invocations to module description.
9844         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
9845         * modules/trunc (configure.ac): ... to here.
9846
9847 2011-05-21  Bruno Haible  <bruno@clisp.org>
9848
9849         truncf: Move AC_LIBOBJ invocations to module description.
9850         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
9851         * modules/truncf (configure.ac): ... to here.
9852
9853 2011-05-21  Bruno Haible  <bruno@clisp.org>
9854
9855         ceill: Move AC_LIBOBJ invocations to module description.
9856         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
9857         * modules/ceill (configure.ac): ... to here.
9858
9859 2011-05-21  Bruno Haible  <bruno@clisp.org>
9860
9861         ceil: Move AC_LIBOBJ invocations to module description.
9862         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
9863         * modules/ceil (configure.ac): ... to here.
9864
9865 2011-05-21  Bruno Haible  <bruno@clisp.org>
9866
9867         ceilf: Move AC_LIBOBJ invocations to module description.
9868         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
9869         * modules/ceilf (configure.ac): ... to here.
9870
9871 2011-05-21  Bruno Haible  <bruno@clisp.org>
9872
9873         floorl: Respect rules for use of AC_LIBOBJ.
9874         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
9875         * modules/floorl (configure.ac): ... to here.
9876
9877 2011-05-21  Bruno Haible  <bruno@clisp.org>
9878
9879         floor: Respect rules for use of AC_LIBOBJ.
9880         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
9881         * modules/floor (configure.ac): ... to here.
9882
9883 2011-05-21  Bruno Haible  <bruno@clisp.org>
9884
9885         floorf: Move AC_LIBOBJ invocations to module description.
9886         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
9887         * modules/floorf (configure.ac): ... to here.
9888
9889 2011-05-20  Bruno Haible  <bruno@clisp.org>
9890
9891         sqrtl: Respect rules for use of AC_LIBOBJ.
9892         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
9893         * modules/sqrtl (configure.ac): ... to here.
9894
9895 2011-05-20  Bruno Haible  <bruno@clisp.org>
9896
9897         ldexpl: Respect rules for use of AC_LIBOBJ.
9898         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
9899         * modules/ldexpl (configure.ac): ... to here.
9900
9901 2011-05-20  Bruno Haible  <bruno@clisp.org>
9902
9903         frexpl*: Respect rules for use of AC_LIBOBJ.
9904         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
9905         invocation from here...
9906         * modules/frexpl (configure.ac): ... to here.
9907         * modules/frexpl-nolibm (configure.ac): ... and here.
9908
9909 2011-05-20  Bruno Haible  <bruno@clisp.org>
9910
9911         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
9912         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
9913         invocation from here...
9914         * modules/frexp (configure.ac): ... to here.
9915         * modules/frexp-nolibm (configure.ac): ... and here.
9916
9917 2011-05-20  Bruno Haible  <bruno@clisp.org>
9918
9919         isnan: Respect rules for use of AC_LIBOBJ.
9920         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
9921         invocations here.
9922         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
9923         REPLACE_ISNAN.
9924         * modules/isnand (configure.ac): Likewise.
9925         * modules/isnanl (configure.ac): Likewise.
9926
9927 2011-05-20  Bruno Haible  <bruno@clisp.org>
9928
9929         isnanl*: Respect rules for use of AC_LIBOBJ.
9930         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
9931         invocation from here...
9932         * modules/isnanl (configure.ac): ... to here.
9933         * modules/isnanl-nolibm (configure.ac): ... and here.
9934
9935 2011-05-20  Bruno Haible  <bruno@clisp.org>
9936
9937         isnand*: Move AC_LIBOBJ invocations to module description.
9938         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
9939         invocation from here...
9940         * modules/isnand (configure.ac): ... to here.
9941         * modules/isnand-nolibm (configure.ac): ... and here.
9942
9943 2011-05-20  Bruno Haible  <bruno@clisp.org>
9944
9945         isnanf*: Move AC_LIBOBJ invocations to module description.
9946         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
9947         invocation from here...
9948         * modules/isnanf (configure.ac): ... to here.
9949         * modules/isnanf-nolibm (configure.ac): ... and here.
9950
9951 2011-05-20  Bruno Haible  <bruno@clisp.org>
9952
9953         isnan*: Separate the AC_LIBOBJ invocations.
9954         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
9955         AC_LIBOBJ invocation.
9956         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
9957         here.
9958         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
9959         AC_LIBOBJ invocation.
9960         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
9961         here.
9962         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
9963         AC_LIBOBJ invocation.
9964         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
9965         here.
9966         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
9967
9968 2011-05-08  Bruno Haible  <bruno@clisp.org>
9969
9970         isinf: Move AC_LIBOBJ invocations to module description.
9971         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
9972         * modules/isinf (configure.ac): ... to here.
9973
9974 2011-05-08  Bruno Haible  <bruno@clisp.org>
9975
9976         isfinite: Move AC_LIBOBJ invocations to module description.
9977         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
9978         * modules/isfinite (configure.ac): ... to here.
9979
9980 2011-05-08  Bruno Haible  <bruno@clisp.org>
9981
9982         isblank: Move AC_LIBOBJ invocations to module description.
9983         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
9984         here...
9985         * modules/isblank (configure.ac): ... to here.
9986
9987 2011-05-08  Bruno Haible  <bruno@clisp.org>
9988
9989         isapipe: Move AC_LIBOBJ invocations to module description.
9990         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
9991         gl_PREREQ_ISAPIPE invocations from here...
9992         * modules/isapipe (configure.ac): ... to here.
9993         (Depends-on): Update condition.
9994
9995 2011-05-08  Bruno Haible  <bruno@clisp.org>
9996
9997         ioctl: Move AC_LIBOBJ invocations to module description.
9998         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
9999         invocations from here...
10000         * modules/ioctl (configure.ac): ... to here.
10001         (Depends-on): Update condition.
10002
10003 2011-05-08  Bruno Haible  <bruno@clisp.org>
10004
10005         imaxdiv: Move AC_LIBOBJ invocations to module description.
10006         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
10007         invocations from here...
10008         * modules/imaxdiv (configure.ac): ... to here.
10009
10010 2011-05-08  Bruno Haible  <bruno@clisp.org>
10011
10012         imaxabs: Move AC_LIBOBJ invocations to module description.
10013         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
10014         invocations from here...
10015         * modules/imaxabs (configure.ac): ... to here.
10016
10017 2011-05-08  Bruno Haible  <bruno@clisp.org>
10018
10019         getaddrinfo: Move AC_LIBOBJ invocations to module description.
10020         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
10021         AC_LIBOBJ invocations from here...
10022         * modules/getaddrinfo (configure.ac): ... to here.
10023         (Depends-on): Add conditions.
10024
10025 2011-05-08  Bruno Haible  <bruno@clisp.org>
10026
10027         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
10028         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
10029         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
10030         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
10031         (gl_PREREQ_INET_PTON): ... from here.
10032         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
10033         gl_PREREQ_INET_PTON here.
10034         (Depends-on): Update condition.
10035
10036 2011-05-08  Bruno Haible  <bruno@clisp.org>
10037
10038         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
10039         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
10040         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
10041         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
10042         (gl_PREREQ_INET_NTOP): ... from here.
10043         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
10044         gl_PREREQ_INET_NTOP here.
10045         (Depends-on): Update condition.
10046
10047 2011-05-08  Bruno Haible  <bruno@clisp.org>
10048
10049         iconv_open: Move AC_LIBOBJ invocations to module description.
10050         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
10051         AC_LIBOBJ invocations from here...
10052         * modules/iconv_open (configure.ac): ... to here.
10053
10054 2011-05-08  Bruno Haible  <bruno@clisp.org>
10055
10056         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
10057         If module 'iconv_open' is among the main modules and module
10058         'iconv_open-utf' is among the tests dependencies, then
10059         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
10060         return the special iconv_t values. Therefore iconv() and iconv_close()
10061         must support these special iconv_t values, already in lib, not only in
10062         tests.
10063         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
10064         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
10065         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
10066         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
10067         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
10068         (Depends-on): Add the dependencies of iconv_open-utf.
10069         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
10070         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
10071         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
10072
10073 2011-05-08  Bruno Haible  <bruno@clisp.org>
10074
10075         group-member: Move AC_LIBOBJ invocations to module description.
10076         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
10077         gl_PREREQ_GROUP_MEMBER invocations from here...
10078         * modules/group-member (configure.ac): ... to here.
10079
10080 2011-05-08  Bruno Haible  <bruno@clisp.org>
10081
10082         grantpt: Move AC_LIBOBJ invocations to module description.
10083         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
10084         invocations from here...
10085         * modules/grantpt (configure.ac): ... to here.
10086
10087 2011-05-08  Bruno Haible  <bruno@clisp.org>
10088
10089         glob: Move AC_LIBOBJ invocations to module description.
10090         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
10091         from here...
10092         * modules/glob (configure.ac): ... to here.
10093
10094 2011-05-08  Bruno Haible  <bruno@clisp.org>
10095
10096         getusershell: Move AC_LIBOBJ invocations to module description.
10097         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
10098         Move AC_LIBOBJ invocation from here...
10099         * modules/getusershell (configure.ac): ... to here.
10100         (Depends-on): Update condition.
10101
10102 2011-05-08  Bruno Haible  <bruno@clisp.org>
10103
10104         gettimeofday: Move AC_LIBOBJ invocations to module description.
10105         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
10106         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
10107         gl_PREREQ_GETTIMEOFDAY invocations from here...
10108         * modules/gettimeofday (configure.ac): ... to here.
10109
10110 2011-05-08  Bruno Haible  <bruno@clisp.org>
10111
10112         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
10113         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
10114         just gl_FUNC_TZSET.
10115         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
10116         (gl_FUNC_TZSET_CLOBBER): Remove actions.
10117         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
10118         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
10119
10120 2011-05-08  Bruno Haible  <bruno@clisp.org>
10121
10122         getsubopt: Move AC_LIBOBJ invocations to module description.
10123         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
10124         gl_PREREQ_GETSUBOPT invocations from here...
10125         * modules/getsubopt (configure.ac): ... to here.
10126
10127 2011-05-08  Bruno Haible  <bruno@clisp.org>
10128
10129         getpass-gnu: Move AC_LIBOBJ invocations to module description.
10130         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
10131         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
10132         * modules/getpass-gnu (configure.ac): ... to here.
10133
10134 2011-05-08  Bruno Haible  <bruno@clisp.org>
10135
10136         getpass: Move AC_LIBOBJ invocations to module description.
10137         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
10138         gl_PREREQ_GETPASS invocations from here...
10139         * modules/getpass (configure.ac): ... to here.
10140
10141 2011-05-08  Bruno Haible  <bruno@clisp.org>
10142
10143         getpagesize: Move AC_LIBOBJ invocations to module description.
10144         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
10145         from here...
10146         * modules/getpagesize (configure.ac): ... to here.
10147
10148 2011-05-08  Bruno Haible  <bruno@clisp.org>
10149
10150         getopt: Move AC_LIBOBJ invocations to module description.
10151         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
10152         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
10153         invocations from here...
10154         * modules/getopt-gnu (configure.ac): ... to here.
10155         * modules/getopt-posix (configure.ac): ... and here.
10156         (Depends-on): Update condition.
10157
10158 2011-05-08  Bruno Haible  <bruno@clisp.org>
10159
10160         getopt, argp: Respect rules for use of AC_LIBOBJ.
10161         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
10162         (gl_REPLACE_GETOPT_ALWAYS): New macro.
10163         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
10164         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
10165
10166 2011-05-08  Bruno Haible  <bruno@clisp.org>
10167
10168         getlogin_r: Move AC_LIBOBJ invocations to module description.
10169         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
10170         gl_PREREQ_GETLOGIN_R invocations from here...
10171         * modules/getlogin_r (configure.ac): ... to here.
10172
10173 2011-05-08  Bruno Haible  <bruno@clisp.org>
10174
10175         getlogin: Move AC_LIBOBJ invocations to module description.
10176         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
10177         here...
10178         * modules/getlogin (configure.ac): ... to here.
10179
10180 2011-05-08  Bruno Haible  <bruno@clisp.org>
10181
10182         getloadavg: Move AC_LIBOBJ invocations to module description.
10183         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
10184         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
10185         * modules/getloadavg (configure.ac): ... to here.
10186
10187 2011-05-08  Bruno Haible  <bruno@clisp.org>
10188
10189         gethrxtime: Move AC_LIBOBJ invocations to module description.
10190         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
10191         LIB_GETHRXTIME from here...
10192         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
10193         invocations from here...
10194         * modules/gethrxtime (configure.ac): ... to here.
10195
10196 2011-05-08  Bruno Haible  <bruno@clisp.org>
10197
10198         gethostname: Move AC_LIBOBJ invocations to module description.
10199         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
10200         gl_PREREQ_GETHOSTNAME invocations from here...
10201         * modules/gethostname (configure.ac): ... to here.
10202
10203 2011-05-08  Bruno Haible  <bruno@clisp.org>
10204
10205         getgroups: Move AC_LIBOBJ invocations to module description.
10206         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
10207         here...
10208         * modules/getgroups (configure.ac): ... to here.
10209
10210 2011-05-08  Bruno Haible  <bruno@clisp.org>
10211
10212         getdtablesize: Move AC_LIBOBJ invocations to module description.
10213         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
10214         invocation from here...
10215         * modules/getdtablesize (configure.ac): ... to here.
10216
10217 2011-05-08  Bruno Haible  <bruno@clisp.org>
10218
10219         getdomainname: Move AC_LIBOBJ invocations to module description.
10220         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
10221         gl_PREREQ_GETDOMAINNAME invocations from here...
10222         * modules/getdomainname (configure.ac): ... to here.
10223
10224 2011-05-08  Bruno Haible  <bruno@clisp.org>
10225
10226         getline: Move AC_LIBOBJ invocations to module description.
10227         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
10228         invocations from here...
10229         * modules/getline (configure.ac): ... to here.
10230
10231 2011-05-08  Bruno Haible  <bruno@clisp.org>
10232
10233         getline: Simplify.
10234         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
10235         It's already handled through the module dependency.
10236
10237 2011-05-08  Bruno Haible  <bruno@clisp.org>
10238
10239         getdelim: Move AC_LIBOBJ invocations to module description.
10240         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
10241         and gl_PREREQ_GETDELIM invocations from here...
10242         * modules/getdelim (configure.ac): ... to here.
10243         (Depends-on): Fix condition.
10244
10245 2011-05-08  Bruno Haible  <bruno@clisp.org>
10246
10247         getcwd: Move AC_LIBOBJ invocations to module description.
10248         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
10249         invocations from here...
10250         * modules/getcwd (configure.ac): ... to here.
10251
10252 2011-05-08  Bruno Haible  <bruno@clisp.org>
10253
10254         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
10255         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
10256         here...
10257         * modules/getcwd-lgpl (configure.ac): ... to here.
10258
10259 2011-05-07  Bruno Haible  <bruno@clisp.org>
10260
10261         crypto/gc: Move AC_LIBOBJ invocations to module description.
10262         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
10263         * modules/crypto/gc (configure.ac): ... to here.
10264
10265 2011-05-07  Bruno Haible  <bruno@clisp.org>
10266
10267         fwriting: Move AC_LIBOBJ invocations to module description.
10268         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
10269         here...
10270         * modules/fwriting (configure.ac): ... to here.
10271
10272 2011-05-07  Bruno Haible  <bruno@clisp.org>
10273
10274         fwritable: Move AC_LIBOBJ invocations to module description.
10275         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
10276         here...
10277         * modules/fwritable (configure.ac): ... to here.
10278
10279 2011-05-07  Bruno Haible  <bruno@clisp.org>
10280
10281         futimens: Move AC_LIBOBJ invocations to module description.
10282         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
10283         here...
10284         * modules/futimens (configure.ac): ... to here.
10285
10286 2011-05-07  Bruno Haible  <bruno@clisp.org>
10287
10288         ftruncate: Move AC_LIBOBJ invocations to module description.
10289         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
10290         gl_PREREQ_FTRUNCATE invocations from here...
10291         * modules/ftruncate (configure.ac): ... to here.
10292
10293 2011-05-07  Bruno Haible  <bruno@clisp.org>
10294
10295         fsync: Move AC_LIBOBJ invocations to module description.
10296         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
10297         invocations from here...
10298         * modules/fsync (configure.ac): ... to here.
10299
10300 2011-05-07  Bruno Haible  <bruno@clisp.org>
10301
10302         fsusage: Move AC_LIBOBJ invocations to module description.
10303         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
10304         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
10305         * modules/fsusage (configure.ac): ... to here.
10306
10307 2011-05-07  Bruno Haible  <bruno@clisp.org>
10308
10309         freopen: Move AC_LIBOBJ invocations to module description.
10310         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
10311         invocations from here...
10312         * modules/freopen (configure.ac): ... to here.
10313
10314 2011-05-07  Bruno Haible  <bruno@clisp.org>
10315
10316         free: Move AC_LIBOBJ invocations to module description.
10317         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
10318         invocations from here...
10319         * modules/free (configure.ac): ... to here.
10320
10321 2011-05-07  Bruno Haible  <bruno@clisp.org>
10322
10323         freadable: Move AC_LIBOBJ invocations to module description.
10324         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
10325         here...
10326         * modules/freadable (configure.ac): ... to here.
10327
10328 2011-05-07  Bruno Haible  <bruno@clisp.org>
10329
10330         fpurge: Move AC_LIBOBJ invocations to module description.
10331         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
10332         invocations from here...
10333         * modules/fpurge (configure.ac): ... to here.
10334
10335 2011-05-07  Bruno Haible  <bruno@clisp.org>
10336
10337         fpending: Move AC_LIBOBJ invocations to module description.
10338         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
10339         gl_FUNC_FPENDING.
10340         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
10341         invocations from here...
10342         * modules/fpending (configure.ac): ... to here.
10343
10344 2011-05-07  Bruno Haible  <bruno@clisp.org>
10345
10346         fopen: Move AC_LIBOBJ invocations to module description.
10347         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
10348         invocations from here...
10349         * modules/fopen (configure.ac): ... to here.
10350
10351 2011-05-07  Bruno Haible  <bruno@clisp.org>
10352
10353         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
10354         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
10355         gl_FUNC_FNMATCH_POSIX.
10356         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
10357         invocations from here...
10358         * modules/fnmatch (configure.ac): ... to here.
10359         * modules/fnmatch-gnu (configure.ac): ... and here.
10360
10361 2011-05-07  Bruno Haible  <bruno@clisp.org>
10362
10363         flock: Move AC_LIBOBJ invocations to module description.
10364         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
10365         invocations from here...
10366         * modules/flock (configure.ac): ... to here.
10367
10368 2011-05-07  Bruno Haible  <bruno@clisp.org>
10369
10370         fileblocks: Move AC_LIBOBJ invocations to module description.
10371         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
10372         gl_PREREQ_FILEBLOCKS invocations from here...
10373         * modules/fileblocks (configure.ac): ... to here.
10374
10375 2011-05-06  Bruno Haible  <bruno@clisp.org>
10376
10377         fflush: Move AC_LIBOBJ invocations to module description.
10378         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
10379         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
10380         invocations from here...
10381         * modules/fflush (configure.ac): ... to here.
10382
10383 2011-05-06  Bruno Haible  <bruno@clisp.org>
10384
10385         fdopendir: Move AC_LIBOBJ invocations to module description.
10386         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
10387         here...
10388         * modules/fdopendir (configure.ac): ... to here.
10389         (Depends-on): Improve conditions.
10390
10391 2011-05-06  Bruno Haible  <bruno@clisp.org>
10392
10393         _Exit: Move AC_LIBOBJ invocations to module description.
10394         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
10395         invocations from here...
10396         * modules/_Exit (configure.ac): ... to here.
10397
10398 2011-05-21  Bruno Haible  <bruno@clisp.org>
10399
10400         euidaccess: Respect rules for use of AC_LIBOBJ.
10401         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
10402         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
10403         from here...
10404         * modules/euidaccess (configure.ac): ... to here.
10405
10406 2011-05-06  Bruno Haible  <bruno@clisp.org>
10407
10408         error: Move AC_LIBOBJ invocations to module description.
10409         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
10410         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
10411         invocations from here...
10412         * modules/error (configure.ac): ... to here.
10413
10414 2011-05-06  Bruno Haible  <bruno@clisp.org>
10415
10416         duplocale: Move AC_LIBOBJ invocations to module description.
10417         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
10418         gl_PREREQ_DUPLOCALE invocations from here...
10419         * modules/duplocale (configure.ac): ... to here.
10420
10421 2011-05-05  Bruno Haible  <bruno@clisp.org>
10422
10423         dirfd: Move AC_LIBOBJ invocations to module description.
10424         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
10425         gl_FUNC_DIRFD.
10426         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
10427         here...
10428         * modules/dirfd (configure.ac): ... to here.
10429         (Depends-on): Fix condition.
10430
10431 2011-05-05  Bruno Haible  <bruno@clisp.org>
10432
10433         chown: Respect rules for use of AC_LIBOBJ.
10434         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
10435         * modules/chown (configure.ac): ... to here.
10436
10437 2011-05-05  Bruno Haible  <bruno@clisp.org>
10438
10439         chdir-long: Move AC_LIBOBJ invocations to module description.
10440         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
10441         gl_PREREQ_CHDIR_LONG invocations from here...
10442         * modules/chdir-long (configure.ac): ... to here.
10443
10444 2011-05-05  Bruno Haible  <bruno@clisp.org>
10445
10446         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
10447         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
10448         from here...
10449         * modules/canonicalize-lgpl (configure.ac): ... to here.
10450
10451 2011-05-05  Bruno Haible  <bruno@clisp.org>
10452
10453         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
10454         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
10455         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
10456         REPLACE_CALLOC.
10457         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
10458         * modules/calloc-gnu (configure.ac): Likewise.
10459
10460 2011-05-05  Bruno Haible  <bruno@clisp.org>
10461
10462         btowc: Move AC_LIBOBJ invocations to module description.
10463         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
10464         invocations from here...
10465         * modules/btowc (configure.ac): ... to here.
10466
10467 2011-05-21  Bruno Haible  <bruno@clisp.org>
10468
10469         atexit: Move AC_LIBOBJ invocations to module description.
10470         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
10471         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
10472         here...
10473         * modules/atexit (configure.ac): ... to here.
10474
10475 2011-05-05  Bruno Haible  <bruno@clisp.org>
10476
10477         atoll: Move AC_LIBOBJ invocations to module description.
10478         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
10479         invocations from here...
10480         * modules/atoll (configure.ac): ... to here.
10481
10482 2011-05-05  Bruno Haible  <bruno@clisp.org>
10483
10484         argz: Move AC_LIBOBJ invocations to module description.
10485         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
10486         * modules/argz (configure.ac): ... to here.
10487
10488 2011-05-05  Bruno Haible  <bruno@clisp.org>
10489
10490         alphasort: Move AC_LIBOBJ invocations to module description.
10491         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
10492         gl_PREREQ_ALPHASORT invocations from here...
10493         * modules/alphasort (configure.ac): ... to here.
10494
10495 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
10496
10497         verify: new macro verify_expr; verify_true deprecated
10498         * NEWS: Mention this.
10499         * doc/verify.texi (Compile-time Assertions): Document this.
10500         * lib/verify.h (verify_true): Deprecate.
10501         (verify_expr): New macro.
10502         * tests/test-verify.c (function): Test verify_expr.
10503
10504 2011-06-14  Jim Meyering  <meyering@redhat.com>
10505
10506         init.sh: give more portable redirection-related advice in a comment
10507         * tests/init.sh (stderr_fileno_): Update the advice in comments.
10508         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
10509         for lots of discussion.  Stefano Lattarini suggested the solution
10510         of putting "9>&2" after the command.  Reported by Bruno Haible.
10511
10512 2011-06-13  Bruno Haible  <bruno@clisp.org>
10513
10514         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
10515         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
10516         'none'.
10517
10518 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
10519
10520         ftoastr: use strtof only if HAVE_STRTOF
10521         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
10522         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
10523         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
10524         * modules/ftoastr (configure.ac): Check for strtof.
10525
10526 2011-06-13  Bruno Haible  <bruno@clisp.org>
10527
10528         gnulib-tool: Addendum to 2011-06-08 commit.
10529         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
10530         and --witness-c-macro have been given, augment AM_CPPFLAGS.
10531
10532 2011-06-13  Bruno Haible  <bruno@clisp.org>
10533
10534         fseeko: Provide a non-inline replacement of fseek().
10535         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
10536         * modules/fseeko (Depends-on): Add fseek.
10537         * modules/fseek (License): Change to LGPLv2+.
10538
10539 2011-06-13  Bruno Haible  <bruno@clisp.org>
10540
10541         ftello: Provide a non-inline replacement of ftell().
10542         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
10543         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
10544         not have ftello() (such as on mingw).
10545         * modules/ftello (Depends-on): Add ftell.
10546         * modules/ftell (License): Change to LGPLv2+.
10547
10548 2011-05-07  Bruno Haible  <bruno@clisp.org>
10549
10550         ftell: Move AC_LIBOBJ invocations to module description.
10551         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
10552         * modules/ftell (configure.ac): ... to here.
10553
10554 2011-05-07  Bruno Haible  <bruno@clisp.org>
10555
10556         ftello: Respect rules for use of AC_LIBOBJ.
10557         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
10558         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
10559         here...
10560         * modules/ftello (configure.ac): ... to here.
10561
10562 2011-05-07  Bruno Haible  <bruno@clisp.org>
10563
10564         fseeko: Simplify.
10565         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
10566         (gl_FUNC_FSEEKO): Inline it here.
10567
10568 2011-05-07  Bruno Haible  <bruno@clisp.org>
10569
10570         fseek: Move AC_LIBOBJ invocations to module description.
10571         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
10572         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
10573         * modules/fseek (configure.ac): ... to here.
10574
10575 2011-05-07  Bruno Haible  <bruno@clisp.org>
10576
10577         fseek: Respect rules for use of AC_LIBOBJ.
10578         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
10579         here...
10580         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
10581
10582 2011-05-07  Bruno Haible  <bruno@clisp.org>
10583
10584         fseeko: Respect rules for use of AC_LIBOBJ.
10585         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
10586         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
10587         here...
10588         * modules/fseeko (configure.ac): ... to here.
10589
10590 2011-06-13  Bruno Haible  <bruno@clisp.org>
10591
10592         gnulib-tool: Allow comments in the 'Depends-on' section.
10593         * doc/gnulib.texi (Module description): Mention comment syntax in the
10594         Depends-on section.
10595         * gnulib-tool (func_get_dependencies): Filter out comment lines.
10596
10597 2011-06-13  Bruno Haible  <bruno@clisp.org>
10598
10599         file-set.h: guard __attibute__ use, now that it's not always defined
10600         * lib/file-set.h (record_file): Use __attribute__ only with compiler
10601         versions that support it.  This fixes a coreutils build failure with
10602         the vendor cc on HP-UX 11.31.
10603
10604 2011-06-12  Bruno Haible  <bruno@clisp.org>
10605
10606         acl: Add support for HP-UX >= 11.11 JFS ACLs.
10607         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
10608         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
10609         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
10610         (acl, aclsort): New declarations.
10611         (aclv_nontrivial): New declaration.
10612         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
10613         (file_has_acl): Read also the second kind of HP-UX ACLs.
10614         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
10615         kind of HP-UX ACLs if the first kind fails.
10616         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
10617         second kind of HP-UX ACLs.
10618         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
10619         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
10620         agree.
10621         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
10622         hpuxjfs.
10623         Handle hpuxjfs.
10624         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
10625         hpuxjfs.
10626         Handle hpuxjfs.
10627         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
10628         (func_test_same_acls): Use both lsacl and getacl.
10629         Handle hpuxjfs.
10630         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
10631         (func_test_same_acls): Use both lsacl and getacl.
10632         Handle hpuxjfs.
10633
10634 2011-06-12  Bruno Haible  <bruno@clisp.org>
10635
10636         acl: Complete the 2010-08-10 fix.
10637         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
10638         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
10639         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
10640         explicitly.
10641         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
10642         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
10643
10644 2011-06-12  Bruno Haible  <bruno@clisp.org>
10645
10646         spawn-pipe tests: Comments.
10647         * tests/test-spawn-pipe-child.c (main): Update comment.
10648         Reported by James Youngman <jay@gnu.org>.
10649
10650 2011-06-11  James Youngman  <jay@gnu.org>
10651
10652         New module 'stat-size'.
10653         * modules/stat-size: New module.  Provides macros for accessing
10654         file size information in instances of struct stat.  Depends on the
10655         fileblocks module because it calls st_blocks.
10656         * lib/stat-size.h: New file, adapted from coreutils' system.h.
10657         * doc/gnulib.texi: Include stat-size.texi.
10658         * doc/stat-size.texi: Documentation for this module.
10659         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
10660         * m4/fileblocks.m4: Mention that stat-size depends on the call to
10661         AC_STRUCT_ST_BLOCKS.
10662
10663 2011-06-09  Bruno Haible  <bruno@clisp.org>
10664
10665         thread: Support pthreads-win32.
10666         * lib/glthread/thread.h (gl_thread_self): Define differently on
10667         pthreads-win32.
10668         (gl_null_thread): New declaration.
10669         (gl_thread_self_pointer): New macro.
10670         * lib/glthread/thread.c (gl_null_thread): New constant.
10671         * tests/test-lock.c: Use gl_thread_self_pointer instead of
10672         gl_thread_self.
10673         * tests/test-tls.c: Likewise.
10674         Suggested by Paul Eggert. Reported by Eric Blake.
10675
10676 2011-06-09  Bruno Haible  <bruno@clisp.org>
10677
10678         thread: Fix confusion between NULL and 0.
10679         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
10680         Reported by Paul Eggert.
10681
10682 2011-06-09  Bruno Haible  <bruno@clisp.org>
10683
10684         spawn-pipe tests: Avoid test failure on HP-UX 11.
10685         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
10686         is closed.
10687
10688 2011-06-09  Bruno Haible  <bruno@clisp.org>
10689
10690         acl tests: Fix compilation error on HP-UX 11.
10691         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
10692
10693 2011-06-09  Bruno Haible  <bruno@clisp.org>
10694
10695         rmdir: Avoid test failure on HP-UX 10.20.
10696         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
10697         EEXIST.
10698
10699 2011-06-08  Eric Blake  <eblake@redhat.com>
10700
10701         perror: fix test on mingw
10702         * modules/perror-tests (Depends-on): Add dup2.
10703
10704         strerror_r-posix: fix on MacOS
10705         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
10706         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
10707         logic bug.
10708         * lib/strerror_r.c (strerror_r): Fix the bug.
10709         * lib/strerror.c (strerror): Likewise.
10710         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
10711         problem.
10712         * doc/posix-functions/strerror.texi (strerror): Likewise.
10713         * doc/posix-functions/perror.texi (perror): Likewise.
10714         * tests/test-strerror.c (main): Enhance test.
10715         * tests/test-strerror_r.c (main): Likewise.
10716
10717 2011-06-08  Bruno Haible  <bruno@clisp.org>
10718
10719         gnulib-tool: Better isolation between different gnulib-tool invocations.
10720         * gnulib-tool: New option --witness-c-macro.
10721         (witness_c_macro): New variable.
10722         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
10723         AM_CPPFLAGS define it as a C macro.
10724         (func_emit_tests_Makefile_am): Likewise.
10725         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
10726         read it from there.
10727         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
10728         m4_define, not AC_DEFUN.
10729         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
10730         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
10731         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
10732         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
10733         s|...|...|, to substitute the values of the GNULIB_* module indicator
10734         variables.
10735         * modules/dirent (Makefile.am): Likewise.
10736         * modules/fcntl-h (Makefile.am): Likewise.
10737         * modules/iconv-h (Makefile.am): Likewise.
10738         * modules/langinfo (Makefile.am): Likewise.
10739         * modules/locale (Makefile.am): Likewise.
10740         * modules/math (Makefile.am): Likewise.
10741         * modules/netdb (Makefile.am): Likewise.
10742         * modules/poll-h (Makefile.am): Likewise.
10743         * modules/pty (Makefile.am): Likewise.
10744         * modules/search (Makefile.am): Likewise.
10745         * modules/signal (Makefile.am): Likewise.
10746         * modules/spawn (Makefile.am): Likewise.
10747         * modules/stdio (Makefile.am): Likewise.
10748         * modules/stdlib (Makefile.am): Likewise.
10749         * modules/string (Makefile.am): Likewise.
10750         * modules/sys_ioctl (Makefile.am): Likewise.
10751         * modules/sys_select (Makefile.am): Likewise.
10752         * modules/sys_socket (Makefile.am): Likewise.
10753         * modules/sys_stat (Makefile.am): Likewise.
10754         * modules/sys_times (Makefile.am): Likewise.
10755         * modules/sys_utsname (Makefile.am): Likewise.
10756         * modules/sys_wait (Makefile.am): Likewise.
10757         * modules/termios (Makefile.am): Likewise.
10758         * modules/time (Makefile.am): Likewise.
10759         * modules/unistd (Makefile.am): Likewise.
10760         * modules/wchar (Makefile.am): Likewise.
10761
10762 2011-06-08  Eric Blake  <eblake@redhat.com>
10763
10764         strerror: simplify replacement
10765         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
10766         * modules/strerror (configure.ac): No prereqs needed here...
10767         * modules/strerror-override (configure.ac): ...but this needs it.
10768         (Files): Add file for needed prereq macro.
10769
10770 2011-06-08  Bruno Haible  <bruno@clisp.org>
10771
10772         strerror_r-posix: Tweaks.
10773         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
10774         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
10775         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
10776         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
10777         (gl_FUNC_STRERROR_R): ... to here.
10778         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
10779
10780 2011-06-07  Eric Blake  <eblake@redhat.com>
10781
10782         perror: document fixed bugs
10783         * doc/posix-functions/perror.texi (perror): Document recent
10784         patches.
10785
10786 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
10787
10788         stat-time: get_stat_birthtime failure is better-defined
10789         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
10790         return a timestamp whose tv_sec and tv_nsec values are both -1.
10791         Previously, the spec said only that the tv_nsec value was negative.
10792         This upward-compatible change simplifies GNU tar a bit.
10793
10794 2011-06-07  Eric Blake  <eblake@redhat.com>
10795
10796         strerror_r-posix: work around cygwin 1.7.9
10797         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
10798         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
10799         bug without replacing strerror_r.
10800         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
10801         strerror_r is buggy, but without requiring strerror_r compilation.
10802         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
10803
10804         test-perror: relax test to ignore cygwin bug
10805         * tests/test-perror2.c (main): Relax test on requiring detection
10806         of stream errors, and use unbuffered stream.
10807         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
10808         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
10809         * doc/posix-functions/fputc.texi (fputc): Likewise.
10810         * doc/posix-functions/fputs.texi (fputs): Likewise.
10811         * doc/posix-functions/fputws.texi (fputws): Likewise.
10812         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
10813         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
10814         * doc/posix-functions/getopt.texi (getopt): Likewise.
10815         * doc/posix-functions/perror.texi (perror): Likewise.
10816         * doc/posix-functions/printf.texi (printf): Likewise.
10817         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
10818         * doc/posix-functions/psignal.texi (psignal): Likewise.
10819         * doc/posix-functions/putc.texi (putc): Likewise.
10820         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
10821         Likewise.
10822         * doc/posix-functions/putchar.texi (putchar): Likewise.
10823         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
10824         Likewise.
10825         * doc/posix-functions/puts.texi (puts): Likewise.
10826         * doc/posix-functions/putwc.texi (putwc): Likewise.
10827         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
10828         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
10829         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
10830         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
10831         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
10832         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
10833         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
10834         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
10835
10836 2011-05-22  Bruno Haible  <bruno@clisp.org>
10837
10838         strerror: Move AC_LIBOBJ invocations to module description.
10839         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
10840         gl_PREREQ_STRERROR invocations from here...
10841         * modules/strerror (configure.ac): ... to here.
10842
10843 2011-05-21  Bruno Haible  <bruno@clisp.org>
10844
10845         perror: Use common idiom.
10846         * modules/perror (configure.ac): Reorder statements.
10847
10848 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
10849
10850         tests: fix usage message in 'mktempd_'
10851         * tests/init.sh (mktempd_): In the usage message, use literal
10852         'mktempd_', not '$ME' (which is even undefined), as the name of
10853         the subroutine.
10854
10855 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
10856
10857         tests init: new function 'fatal_', for hard errors
10858         Before this patch, the only way offered by tests/init.sh to
10859         properly signal a hard error was the `framework_failure_'
10860         function.  But the error message issued by that function,
10861         as its name would suggest, refers to a set-up failure in the
10862         testsuite, while hard errors can obviously also be due to
10863         other reasons.  The best way to fix this inconsistency is to
10864         introduce a new function with a more general error message.
10865         * tests/init.sh (fatal_): New function.
10866
10867 2011-06-06  Eric Blake  <eblake@redhat.com>
10868
10869         canonicalize-lgpl: use common idiom
10870         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
10871         over newer POSIX -Rf.
10872         Reported by Bruno Haible.
10873
10874         canonicalize-lgpl: work around AIX realpath bug
10875         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
10876         * doc/posix-functions/realpath.texi (realpath): Document it.
10877         Reported by Bruno Haible.
10878
10879         strerror: work around FreeBSD bug
10880         * lib/strerror.c (strerror): Special case 0.
10881         Reported by Bruno Haible.
10882
10883         strerror-override: avoid bloating errno module
10884         * modules/errno (Files, configure.ac): Move replacement strings...
10885         * modules/strerror-override: ...to new module.
10886         * modules/strerror (Depends-on): Add strerror-override.
10887         * modules/strerror_r-posix (Depends-on): Likewise.
10888         * MODULES.html.sh: Document new module.
10889         Reported by Bruno Haible.
10890
10891 2011-06-06  Bruno Haible  <bruno@clisp.org>
10892
10893         spawn-pipe tests: Rename program.
10894         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
10895         * tests/test-spawn-pipe-child.c: Update comment.
10896         * tests/test-spawn-pipe.sh: Update.
10897         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
10898
10899         spawn-pipe tests: Link the child program only against libc.
10900         * tests/test-spawn-pipe-child.c: New file, extracted from
10901         tests/test-spawn-pipe.c.
10902         (main): Expect only one argument.
10903         (is_open): New function, copied from tests/test-pipe.c.
10904         * tests/test-spawn-pipe.c: Don't include <errno.h>.
10905         (child_main): Remove function.
10906         (test_pipe): Pass only one argument to the child program.
10907         (main): Remove child process code. Expect the child program's name as
10908         first argument.
10909         * tests/test-spawn-pipe.sh: Pass the child program's name as first
10910         argument.
10911         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
10912         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
10913         test-spawn-pipe-child against no libraries.
10914
10915 2011-06-06  Bruno Haible  <bruno@clisp.org>
10916
10917         careadlinkat: Avoid mismatch between ssize_t and int.
10918         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
10919         * lib/careadlinkat.c (careadlinkatcwd): Define always.
10920
10921 2011-06-06  Jim Meyering  <meyering@redhat.com>
10922
10923         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
10924         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
10925         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
10926
10927 2011-06-05  Bruno Haible  <bruno@clisp.org>
10928
10929         ansi-c++-opt: Interoperability with libtool.
10930         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
10931         set the variable to "no", not to ":".
10932         * NEWS: Mention the change.
10933
10934 2011-06-05  Bruno Haible  <bruno@clisp.org>
10935
10936         acl: Fix test failure on AIX 7.
10937         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
10938         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
10939
10940 2011-06-05  Bruno Haible  <bruno@clisp.org>
10941
10942         pipe-filter-ii: Fix test failure on AIX and IRIX.
10943         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
10944         with EAGAIN, retry with a smaller buffer size.
10945
10946 2011-06-05  Bruno Haible  <bruno@clisp.org>
10947
10948         localename: Fix link dependencies.
10949         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
10950         * modules/localename-tests (Makefile.am): Link test-localename with
10951         $(LIBTHREAD).
10952
10953 2011-06-05  Bruno Haible  <bruno@clisp.org>
10954
10955         error: Avoid gcc warning.
10956         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
10957
10958 2011-06-05  Bruno Haible  <bruno@clisp.org>
10959
10960         unsetenv: Avoid gcc warning.
10961         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
10962
10963 2011-06-05  Bruno Haible  <bruno@clisp.org>
10964
10965         setenv: Avoid gcc warning.
10966         * lib/setenv.c (setenv): Provide declaration if system lacks it.
10967
10968 2011-06-05  Bruno Haible  <bruno@clisp.org>
10969
10970         sys_select: Ensure memset is declared also on AIX 7.
10971         * lib/sys_select.in.h: Include <string.h> also on AIX.
10972         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
10973         self-contained also on AIX 7.1.
10974
10975 2011-06-04  Jim Meyering  <meyering@redhat.com>
10976
10977         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
10978         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
10979         function name, "error".
10980         (_gl_translatable_diag_func_re): New configurable variable.
10981
10982 2011-06-04  Bruno Haible  <bruno@clisp.org>
10983
10984         getopt: Avoid gcc warning.
10985         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
10986
10987 2011-06-04  Bruno Haible  <bruno@clisp.org>
10988
10989         strerror_r: Fix comments.
10990         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
10991         commit.
10992
10993 2011-06-04  Bruno Haible  <bruno@clisp.org>
10994
10995         perror: Fix compilation error.
10996         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
10997         Undefine fprintf, not sprintf.
10998         * modules/perror (Depends-on): Remove intprops, verify.
10999
11000 2011-06-04  Bruno Haible  <bruno@clisp.org>
11001
11002         setlocale: Enable replacement on Cygwin 1.5.
11003         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
11004         Cygwin 1.5.x.
11005         * doc/posix-functions/setlocale.texi: Mention that the problem with the
11006         LC_CTYPE category also exists on Cygwin 1.5.x.
11007
11008 2011-06-04  Bruno Haible  <bruno@clisp.org>
11009
11010         strerror-override: Don't disable symbol renamings.
11011         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
11012         * lib/strerror-override.c: Include config.h.
11013         (strerror_override): Don't undefine.
11014
11015 2011-06-03  Bruno Haible  <bruno@clisp.org>
11016
11017         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
11018         * lib/localename.h: Update copyright header.
11019         * lib/localename.c: Likewise.
11020         * lib/relocatable.h: Likewise.
11021         * lib/relocatable.c: Likewise.
11022
11023 2011-06-02  Bruno Haible  <bruno@clisp.org>
11024
11025         doc: Fix a module name.
11026         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
11027
11028 2011-06-02  Bruno Haible  <bruno@clisp.org>
11029
11030         pipe2: Remove dependency on 'nonblocking' module.
11031         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
11032         O_NONBLOCK is defined by gnulib.
11033         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
11034         is zero.
11035         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
11036         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
11037         defined by gnulib.
11038         (get_nonblocking_flag): New function.
11039         (main): Test O_NONBLOCK flag only if it is nonzero.
11040         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
11041
11042 2011-06-03  Jim Meyering  <meyering@redhat.com>
11043
11044         maint: three new prohibit-header-without-use rules
11045         Prohibit use of cloexec.h, posixver.h, same.h without use.
11046         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
11047         (sc_prohibit_posixver_without_use): Likewise.
11048         (sc_prohibit_same_without_use): Likewise.
11049
11050 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
11051
11052         allocator: 'die' routine is now given requested size
11053         * lib/allocator.h (struct allocator.die): New size arg.
11054         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
11055         If the actual problem is an ssize_t limitation, not a size_t or
11056         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
11057
11058 2011-06-01  Eric Blake  <eblake@redhat.com>
11059
11060         strerror: drop strerror_r dependency
11061         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
11062         * lib/strerror-override.c (strerror_override): ...to new file.
11063         * lib/strerror-override.h: Add prototype.
11064         * lib/strerror-impl.h: Delete.
11065         * lib/strerror.c (strerror): New implementation.
11066         * modules/errno (Files): Add new files.
11067         (configure.ac): Compile new file as appropriate.
11068         * modules/strerror (Files): Drop unused file.
11069         (Depends-on): Drop strerror_r-posix.
11070         * MODULES.html.sh: Document strerror_r-posix.
11071         Requested by Sam Steingold.
11072
11073         perror: call strerror_r directly
11074         * modules/perror (Files): Drop strerror-impl.h.
11075         * lib/perror.c (perror): Use our own stack buffer, rather than
11076         calling a wrapper that uses static storage.
11077         * doc/posix-functions/perror.texi (perror): Document a limitation
11078         of our replacement.
11079
11080         strerror_r: fix includes for FreeBSD
11081         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
11082         since we use abort on some platforms.
11083         Reported by Matthias Bolte.
11084
11085 2011-05-31  Bruno Haible  <bruno@clisp.org>
11086
11087         Fix link errors in tests: openat-die uses gettext-h.
11088         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
11089         against $(LIBINTL).
11090         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
11091         against $(LIBINTL).
11092         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
11093         $(LIBINTL).
11094         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
11095         against $(LIBINTL).
11096         * modules/linkat-tests (Makefile.am): Link test-linkat against
11097         $(LIBINTL).
11098         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
11099         $(LIBINTL).
11100         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
11101         against $(LIBINTL).
11102         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
11103         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
11104         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
11105         $(LIBINTL).
11106         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
11107         $(LIBINTL).
11108         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
11109         $(LIBINTL).
11110         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11111
11112 2011-05-31  Bruno Haible  <bruno@clisp.org>
11113
11114         Fix link errors in tests: wait-process uses gettext-h.
11115         * modules/nonblocking-pipe-tests (Makefile.am): Set
11116         test_nonblocking_pipe_main_LDADD.
11117         * modules/nonblocking-socket-tests (Makefile.am): Link
11118         test-nonblocking-socket-main against $(LIBINTL).
11119         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11120
11121 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
11122
11123         assert-h: work around 'verify' incompatibility
11124         * lib/verify.h: Use @...@ directives, not ifdef.
11125         * modules/assert-h (assert.h): Implement the directives.
11126         (assert.h): Substitute the symbol-prefix more consistently.
11127
11128 2011-05-29  Jim Meyering  <meyering@redhat.com>
11129
11130         trim: remove three superfluous assignments
11131         * lib/trim.c (trim2): Remove three superfluous assignments
11132         and correct brace positioning.
11133
11134 2011-05-29  Bruno Haible  <bruno@clisp.org>
11135
11136         wctype-h: Avoid namespace pollution on Solaris 2.6.
11137         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
11138         identifiers.
11139         * doc/posix-headers/wctype.texi: Mention the problem.
11140         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11141
11142 2011-05-28  Jim Meyering  <meyering@redhat.com>
11143
11144         parse-datetime.y: accommodate -Wstrict-overflow
11145         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
11146         placate -Wstrict-overflow.
11147
11148         trim: avoid a warning from -O2 -Wstrict-overflow
11149         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
11150
11151 2011-05-29  Bruno Haible  <bruno@clisp.org>
11152
11153         gnulib-tool: Fix bug in yesterday's commit.
11154         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
11155         twice.
11156
11157 2011-05-29  Bruno Haible  <bruno@clisp.org>
11158
11159         Allow multiple gnulib generated include files to be combined.
11160         * gnulib-tool (func_compute_include_guard_prefix): New function.
11161         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
11162         ${gl_include_guard_prefix} references.
11163         (func_import, func_create_testdir): Invoke
11164         func_compute_include_guard_prefix.
11165         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
11166         * lib/ctype.in.h: Likewise.
11167         * lib/dirent.in.h: Likewise.
11168         * lib/errno.in.h: Likewise.
11169         * lib/fcntl.in.h: Likewise.
11170         * lib/float.in.h: Likewise.
11171         * lib/getopt.in.h: Likewise.
11172         * lib/iconv.in.h: Likewise.
11173         * lib/langinfo.in.h: Likewise.
11174         * lib/locale.in.h: Likewise.
11175         * lib/math.in.h: Likewise.
11176         * lib/netdb.in.h: Likewise.
11177         * lib/netinet_in.in.h: Likewise.
11178         * lib/poll.in.h: Likewise.
11179         * lib/pthread.in.h: Likewise.
11180         * lib/pty.in.h: Likewise.
11181         * lib/sched.in.h: Likewise.
11182         * lib/se-selinux.in.h: Likewise.
11183         * lib/search.in.h: Likewise.
11184         * lib/signal.in.h: Likewise.
11185         * lib/spawn.in.h: Likewise.
11186         * lib/stdarg.in.h: Likewise.
11187         * lib/stddef.in.h: Likewise.
11188         * lib/stdint.in.h: Likewise.
11189         * lib/stdio.in.h: Likewise.
11190         * lib/stdlib.in.h: Likewise.
11191         * lib/string.in.h: Likewise.
11192         * lib/strings.in.h: Likewise.
11193         * lib/sys_file.in.h: Likewise.
11194         * lib/sys_ioctl.in.h: Likewise.
11195         * lib/sys_select.in.h: Likewise.
11196         * lib/sys_socket.in.h: Likewise.
11197         * lib/sys_stat.in.h: Likewise.
11198         * lib/sys_time.in.h: Likewise.
11199         * lib/sys_times.in.h: Likewise.
11200         * lib/sys_uio.in.h: Likewise.
11201         * lib/sys_utsname.in.h: Likewise.
11202         * lib/sys_wait.in.h: Likewise.
11203         * lib/sysexits.in.h: Likewise.
11204         * lib/termios.in.h: Likewise.
11205         * lib/time.in.h: Likewise.
11206         * lib/unistd.in.h: Likewise.
11207         * lib/wchar.in.h: Likewise.
11208         * lib/wctype.in.h: Likewise.
11209         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
11210         * modules/ctype (Makefile.am): Likewise.
11211         * modules/dirent (Makefile.am): Likewise.
11212         * modules/errno (Makefile.am): Likewise.
11213         * modules/fcntl-h (Makefile.am): Likewise.
11214         * modules/float (Makefile.am): Likewise.
11215         * modules/getopt-posix (Makefile.am): Likewise.
11216         * modules/iconv-h (Makefile.am): Likewise.
11217         * modules/langinfo (Makefile.am): Likewise.
11218         * modules/locale (Makefile.am): Likewise.
11219         * modules/math (Makefile.am): Likewise.
11220         * modules/netdb (Makefile.am): Likewise.
11221         * modules/netinet_in (Makefile.am): Likewise.
11222         * modules/poll-h (Makefile.am): Likewise.
11223         * modules/pthread (Makefile.am): Likewise.
11224         * modules/pty (Makefile.am): Likewise.
11225         * modules/sched (Makefile.am): Likewise.
11226         * modules/search (Makefile.am): Likewise.
11227         * modules/selinux-h (Makefile.am): Likewise.
11228         * modules/signal (Makefile.am): Likewise.
11229         * modules/spawn (Makefile.am): Likewise.
11230         * modules/stdarg (Makefile.am): Likewise.
11231         * modules/stddef (Makefile.am): Likewise.
11232         * modules/stdint (Makefile.am): Likewise.
11233         * modules/stdio (Makefile.am): Likewise.
11234         * modules/stdlib (Makefile.am): Likewise.
11235         * modules/string (Makefile.am): Likewise.
11236         * modules/strings (Makefile.am): Likewise.
11237         * modules/sys_file (Makefile.am): Likewise.
11238         * modules/sys_ioctl (Makefile.am): Likewise.
11239         * modules/sys_select (Makefile.am): Likewise.
11240         * modules/sys_socket (Makefile.am): Likewise.
11241         * modules/sys_stat (Makefile.am): Likewise.
11242         * modules/sys_time (Makefile.am): Likewise.
11243         * modules/sys_times (Makefile.am): Likewise.
11244         * modules/sys_uio (Makefile.am): Likewise.
11245         * modules/sys_utsname (Makefile.am): Likewise.
11246         * modules/sys_wait (Makefile.am): Likewise.
11247         * modules/sysexits (Makefile.am): Likewise.
11248         * modules/termios (Makefile.am): Likewise.
11249         * modules/time (Makefile.am): Likewise.
11250         * modules/unistd (Makefile.am): Likewise.
11251         * modules/wchar (Makefile.am): Likewise.
11252         * modules/wctype-h (Makefile.am): Likewise.
11253         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
11254
11255 2011-05-29  Bruno Haible  <bruno@clisp.org>
11256
11257         assert-h: Allow multiple gnulib generated replacements to coexist.
11258         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
11259
11260 2011-05-29  Bruno Haible  <bruno@clisp.org>
11261
11262         argp: Allow coexistence with strerror_r-posix module.
11263         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
11264         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
11265         by gnulib's <string.h> replacement), assume it has the POSIX signature,
11266         not the glibc signature.
11267
11268 2011-05-28  Bruno Haible  <bruno@clisp.org>
11269
11270         gnulib-tool: Alternative structure of testdirs, similar to --import.
11271         * gnulib-tool: New option --single-configure.
11272         (func_usage): Document it.
11273         (single_configure): New variable.
11274         (func_modules_transitive_closure_separately,
11275         func_modules_transitive_closure_separately,
11276         func_determine_use_libtests, func_modules_add_dummy_separately,
11277         func_modules_to_filelist_separately): New functions, extracted from
11278         func_import.
11279         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
11280         (func_import): Use the new functions.
11281         (func_create_testdir): Set final_modules. Handle $single_configure =
11282         true case.
11283
11284 2011-05-28  Bruno Haible  <bruno@clisp.org>
11285
11286         getloadavg: Remove an unreliable safety check.
11287         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
11288         getloadavg.c is in place.
11289         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
11290         Reported by Sam Steingold <sds@gnu.org>.
11291
11292 2011-05-28  Bruno Haible  <bruno@clisp.org>
11293
11294         doc: Cleanup yet another file produced by texinfo.tex.
11295         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
11296
11297 2011-05-28  Bruno Haible  <bruno@clisp.org>
11298
11299         Finish the conditional dependencies mechanism.
11300         * gnulib-tool: New option --no-conditional-dependencies.
11301         (func_usage): Document it. Don't mark --conditional-dependencies as
11302         experimental.
11303         (cond_dependencies): The possible values can now be true, false, empty.
11304         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
11305         (func_import): Store setting in gnulib-cache.m4 and read it from there.
11306         * doc/gnulib-tool.texi (Conditional dependencies): New section.
11307
11308 2011-05-28  Bruno Haible  <bruno@clisp.org>
11309
11310         doc: Use a recent texinfo.tex.
11311         * doc/Makefile (tex_opts): New variable.
11312         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
11313
11314 2011-05-28  Jim Meyering  <meyering@redhat.com>
11315
11316         intprops.h: adjust comment to match code change
11317         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
11318         only once, it *may* have side effects.  Also fix an unrelated typo.
11319         (_GL_INT_SIGNED): Likewise.
11320
11321 2011-05-26  Simon Josefsson  <simon@josefsson.org>
11322
11323         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
11324
11325 2011-05-26  Bruno Haible  <bruno@clisp.org>
11326
11327         mbsrchr: Avoid collision with system function on Interix.
11328         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
11329         Reported by Markus Duft <mduft@gentoo.org>.
11330
11331 2011-05-15  James Youngman  <jay@gnu.org>
11332
11333         getopt: for ambiguous options, enumerate the possibilities.
11334         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
11335         the ambiguous options when an ambiguous prefix is given. This was
11336         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
11337         glibc change was
11338         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
11339
11340 2011-05-25  Eric Blake  <eblake@redhat.com>
11341
11342         getcwd: work around mingw bug
11343         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
11344         * doc/posix-functions/getcwd.texi (getcwd): Document it.
11345         Reported by Matthias Bolte.
11346
11347 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
11348
11349         test-intprops: disable -Wtype-limits diagnostics
11350         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
11351         diagnostics.  Otherwise, the integer overflow macros generate many
11352         diagnostics.  Reported by Jim Meyering in
11353         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
11354
11355         intprops: shorten, to pacify gcc -Woverlength-strings
11356         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
11357         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
11358         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
11359         likely to run afoul of C compiler limits for string constant lengths.
11360         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
11361
11362 2011-05-24  Eric Blake  <eblake@redhat.com>
11363
11364         docs: document recently fixed glibc printf bug
11365         * doc/posix-functions/fprintf.texi (fprintf): Document it.
11366         * doc/posix-functions/printf.texi (printf): Likewise.
11367         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
11368         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
11369
11370         closein-tests: convert to init.sh
11371         * modules/closein-tests (Files): Add init.sh
11372         * tests/test-closein.sh Use it.
11373
11374         yesno-tests: convert to init.sh
11375         * modules/yesno-tests (Files): Add init.sh.
11376         * tests/test-yesno.sh: Use it.
11377
11378         atexit-tests: ensure reliable exit status
11379         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
11380         Reported by Bruno Haible.
11381
11382 2011-05-24  Bruno Haible  <bruno@clisp.org>
11383
11384         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
11385         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
11386         gl_PREREQ_STRERROR_R invocations from here...
11387         * modules/strerror_r-posix (configure.ac): ... to here.
11388
11389 2011-05-24  Eric Blake  <eblake@redhat.com>
11390
11391         strerror_r: fix missing header
11392         * lib/strerror_r.c: Avoid compiler warning about snprintf.
11393
11394         strerror_r: fix AIX test failures
11395         * lib/strerror_r.c (strerror_r): Convert silent truncation to
11396         ERANGE failure.
11397
11398         strerror_r: fix Solaris test failures
11399         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
11400         failures.
11401         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
11402
11403         strerror_r: enforce POSIX recommendations
11404         * lib/strerror_r.c (safe_copy): New helper method.
11405         (strerror_r): Guarantee a non-empty string.
11406         * tests/test-strerror_r.c (main): Enhance tests to incorporate
11407         recent POSIX rulings and to match our strerror guarantees.
11408         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
11409
11410 2011-05-24  Jim Meyering  <meyering@redhat.com>
11411
11412         test-perror2.c: avoid warning about unused variable
11413         * tests/test-perror2.c (main): Remove declaration of unused "fp".
11414
11415 2011-05-24  Eric Blake  <eblake@redhat.com>
11416
11417         perror: avoid spurious test failure on HP-UX
11418         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
11419
11420         tests: fix logic bug in init.sh
11421         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
11422         shell.
11423
11424 2011-05-24  Jim Meyering  <meyering@redhat.com>
11425
11426         utimensat: do not reference an out-of-scope buffer
11427         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
11428         declared in an inner scope, yet "times" would be dereferenced outside
11429         the scope in which "ts" was valid.
11430         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
11431         of ts[2] "out/up", so that the use of aliased "times" (via
11432         "times = ts;") does not end up referencing an out-of-scope "ts"
11433
11434         opendir-safer.c: don't clobber errno; don't close negative FD
11435         * lib/opendir-safer.c (opendir_safer):
11436         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
11437         file descriptor, and more importantly, don't clobber the
11438         offending errno value with EINVAL.  Before, upon failure
11439         of dup_safer, we would pass the negative file descriptor to
11440         fdopendir, which would clobber errno.
11441
11442 2011-05-23  Bruno Haible  <bruno@clisp.org>
11443
11444         idcache: Fix module description.
11445         * modules/idcache (Include): Set to "idcache.h".
11446
11447 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
11448
11449         gnulib-tool: fix portability problem with MacOS sed
11450         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
11451         before the "}".  Problem reported by Leo in
11452         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
11453         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
11454         sed_extract_condition1, sed_extract_condition2.
11455
11456 2011-05-23  Bruno Haible  <bruno@clisp.org>
11457
11458         hash: Simplify autoconf macro.
11459         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
11460
11461 2011-05-23  Bruno Haible  <bruno@clisp.org>
11462
11463         getugroups: Fix module description.
11464         * modules/getugroups (Include): Set to "getugroups.h".
11465
11466 2011-05-23  Bruno Haible  <bruno@clisp.org>
11467
11468         linkat: Simplify autoconf macro.
11469         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
11470
11471 2011-05-23  Bruno Haible  <bruno@clisp.org>
11472             Eric Blake  <eblake@redhat.com>
11473
11474         linkat, renameat: Update dependencies.
11475         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
11476         * modules/linkat (Depends-on): Likewise. Remove also readlink,
11477         symlinkat.
11478
11479 2011-05-23  Jim Meyering  <meyering@redhat.com>
11480
11481         maint.mk: more tight_scope improvements
11482         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
11483         (_gl_TS_headers): Define only in if-0'd block.
11484         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
11485         sometimes we must *not* use it.  Adjust uses accordingly.
11486         (sc_tight_scope): Use much simpler grep-based test to determine
11487         whether we skip this rule.
11488
11489         maint.mk: generalize/improve the tight-scope rule
11490         * top/maint.mk: Emit a warning when the test is skipped.
11491         (_gl_TS_dir): Add $(srcdir)/ prefix.
11492         (_gl_TS_function_match): Simplify, rather than trying
11493         to enumerate common types.  Otherwise, it would fail to match an
11494         "extern unsigned char const *" declaration in idutils.
11495         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
11496         a way to support use of that type of macro.
11497         (_gl_TS_var_match): Simplify regexp.
11498         (_gl_TS_obj_files): New configurable variable.
11499         (_gl_TS_headers): Likewise.
11500
11501 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
11502
11503         verify: fix bug when gnulib <assert.h> is also included
11504         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
11505         is defined, not if _GL_STATIC_ASSERT_H is not defined.
11506         Perhaps there's a better way, but this fixes the immediate problem.
11507         Problem reported by Bruno Haible in
11508         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
11509
11510 2011-05-22  Bruno Haible  <bruno@clisp.org>
11511
11512         xgetcwd: Simplify autoconf macro.
11513         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
11514
11515 2011-05-22  Bruno Haible  <bruno@clisp.org>
11516
11517         New module 'mktime-internal'.
11518         * modules/mktime-internal: New file.
11519         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
11520         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
11521         mktime_internal as a C macro if libc has __mktime_internal.
11522         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
11523         conditions.
11524         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
11525
11526 2011-05-22  Bruno Haible  <bruno@clisp.org>
11527
11528         timegm: Correct mktime replacement statements.
11529         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
11530         defining mktime as a C macro. This completes a 2009-07-28 commit.
11531
11532 2011-05-22  Bruno Haible  <bruno@clisp.org>
11533
11534         timegm: Simplify autoconf macro.
11535         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
11536
11537 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
11538
11539         clock-time: change to LGPLv2+.
11540         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
11541         BSD-like but we have no mark for that; this is good enough for now.
11542
11543 2011-05-21  Bruno Haible  <bruno@clisp.org>
11544
11545         strerror_r: Fix comments.
11546         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
11547
11548 2011-05-21  Bruno Haible  <bruno@clisp.org>
11549
11550         relocatable-prog-wrapper: Fix possible link error.
11551         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
11552         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
11553         (gl_FUNC_SETENV): ... to here.
11554         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
11555         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
11556
11557 2011-05-21  Bruno Haible  <bruno@clisp.org>
11558
11559         relocatable-prog-wrapper: Assume strerror() exists.
11560         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
11561         m4/strerror.m4.
11562         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
11563         * lib/relocwrapper.c: Remove mention of strerror module.
11564         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
11565         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
11566         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
11567         C macro.
11568
11569 2011-05-21  Bruno Haible  <bruno@clisp.org>
11570
11571         select: Simplify replacement idiom.
11572         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
11573         Win32 platforms.
11574         * lib/sys_select.in.h (select): Simplify accordingly.
11575         * modules/select (Depends-on): Likewise.
11576
11577 2011-05-21  Bruno Haible  <bruno@clisp.org>
11578
11579         mkdir-p: Simplify autoconf macro.
11580         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
11581         gl_FUNC_LCHOWN.
11582
11583 2011-05-21  Eric Blake  <eblake@redhat.com>
11584
11585         strerror_r: avoid clobbering strerror on cygwin
11586         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
11587         fall back instead to sys_errlist.
11588         * modules/strerror (configure.ac): Add witness.
11589         * tests/test-strerror_r.c (main): Enhance test.
11590         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
11591         * tests/test-perror2.c (main): Free memory before exit.
11592
11593 2011-05-21  Bruno Haible  <bruno@clisp.org>
11594
11595         mkdtemp: Use gnulib naming conventions.
11596         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
11597         * modules/mkdtemp (configure.ac): Update.
11598
11599 2011-05-20  Eric Blake  <eblake@redhat.com>
11600
11601         strerror_r: avoid corrupting errno on Solaris
11602         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
11603         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
11604
11605         strerror_r: avoid compiler warning
11606         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
11607
11608         strerror_r: simplify AIX code
11609         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
11610
11611         test-perror: avoid spurious failure on FreeBSD
11612         * modules/perror-tests (Depends-on): Add strerror, now that
11613         strerror_r no longer pulls it in.
11614
11615 2011-05-20  Bruno Haible  <bruno@clisp.org>
11616
11617         strerror_r-posix: Remove unused dependencies.
11618         * modules/strerror_r-posix (Depends-on): Remove strerror.
11619         Reported by Eric Blake.
11620
11621 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11622
11623         intprops: remove assumption about A|B representation
11624         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
11625         is a valid integer if both A and B are.  Although this is true for
11626         all known practical hosts, the C standard doesn't guarantee it,
11627         and the code need not assume it.  Also, this change may work around
11628         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
11629         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
11630
11631 2011-05-20  Eric Blake  <eblake@redhat.com>
11632
11633         perror: work around FreeBSD bug
11634         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
11635         is broken.  Move AC_LIBOBJ...
11636         * modules/perror (configure.ac): Here.
11637         * doc/posix-functions/perror.texi (perror): Document this.
11638         * tests/test-perror2.c (main): Enhance test.
11639
11640         test-perror: check for strerror interactions
11641         * tests/macros.h (STREQ): Add macro.
11642         * modules/perror-tests (Files): Add second test.
11643         * tests/test-perror2.c (main): New file.
11644         * doc/posix-functions/perror.texi (perror): Document glibc bug.
11645
11646         test-perror: rewrite to use init script
11647         * modules/perror-tests (Files): Add init.sh.
11648         * tests/test-perror.sh: Use temporary directory.
11649
11650 2011-05-20  Jim Meyering  <meyering@redhat.com>
11651
11652         maint: replace misused "a" with "an"
11653         * doc/intprops.texi: "a integer"
11654         * doc/regex.texi: "a explanation"
11655         * lib/alignof.h: "a object"
11656         * lib/argmatch.h: "a explanation"
11657         * lib/argp-help.c: "a option" and "a OPTION_DOC"
11658         * lib/stdint.in.h: "a integer"
11659         * lib/userspec.c: "a owner"
11660         * doc/gnulib.texi: Fix "a idea", and reword.
11661
11662 2011-05-19  Jim Meyering  <meyering@redhat.com>
11663
11664         maint: correct misuse of "a" and "an"
11665         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
11666         * lib/argp-help.c: "an docum...": s/an/a/
11667         * lib/argp-parse.c: "An vector": s/An/A/
11668         * lib/execute.c: "an native": s/an/a/
11669         * lib/spawn-pipe.c: Likewise.
11670         * lib/gc.h: "an Gc_rc": s/an/a/
11671         * lib/unigbrk.in.h: "an grapheme": s/an/a/
11672         * lib/fts.c: "an stat.st_dev": s/an/a/
11673
11674 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
11675
11676         intprops-tests: work around HP-UX 11.23 cc bug with constants
11677         * tests/test-intprops.c (VERIFY): New macro.
11678         (main): Use it, instead of verify, to work around the compiler bug; see
11679         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
11680
11681         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
11682         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
11683         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
11684         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
11685         (_GL_REMAINDER_OVERFLOW): Use it.
11686
11687         intprops-tests: revert unsigned part of previous change
11688         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
11689         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
11690         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
11691         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
11692
11693 2011-05-19  Bruno Haible  <bruno@clisp.org>
11694
11695         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
11696         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
11697         strerror_r() returned without filling the buffer.
11698         Reported by Eric Blake.
11699
11700 2011-05-19  Eric Blake  <eblake@redhat.com>
11701
11702         strerror_r: guarantee unchanged errno
11703         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
11704         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
11705         failure.
11706         * tests/test-strerror_r.c (main): Enhance test.
11707
11708 2011-05-19  Bruno Haible  <bruno@clisp.org>
11709
11710         strerror_r: Reorder #if blocks.
11711         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
11712         for consistency with the previous commit.
11713
11714 2011-05-19  Bruno Haible  <bruno@clisp.org>
11715
11716         perror: Avoid clobbering the strerror buffer when possible.
11717         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
11718         * lib/strerror.c: Include it.
11719         * modules/strerror (Files): Add lib/strerror-impl.h.
11720         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
11721         (my_strerror): New function, defined through lib/strerror-impl.h.
11722         (perror): Use it instead of strerror.
11723         * modules/perror (Files): Add lib/strerror-impl.h.
11724         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
11725
11726 2011-05-19  Eric Blake  <eblake@redhat.com>
11727
11728         strerror_r: fix on newer cygwin
11729         * lib/strerror_r.c (strerror_r): Cygwin now has
11730         __xpg_strerror_r, use it.
11731
11732 2011-05-19  Bruno Haible  <bruno@clisp.org>
11733
11734         strerror_r: Avoid clobbering the strerror buffer when possible.
11735         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
11736         (sys_nerr, sys_errlist): New declarations.
11737         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
11738         HP-UX, native Win32, IRIX, and 32-bit Solaris.
11739         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
11740
11741 2011-05-19  Bruno Haible  <bruno@clisp.org>
11742
11743         strerror_r: Fix test failure on mingw.
11744         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
11745         EXTEND_STRERROR_R.
11746         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
11747         macros from errno.in.h instead.
11748
11749 2011-05-19  Eric Blake  <eblake@redhat.com>
11750
11751         strerror: relax test for Solaris
11752         * tests/test-strerror.c (main): Permit Solaris behavior.
11753         * tests/test-strerror_r.c (main): Likewise.
11754
11755         strerror: enforce POSIX ruling on strerror(0)
11756         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
11757         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
11758         * lib/strerror_r.c (rpl_strerror_r): Work around it.
11759         * doc/posix-functions/strerror.texi (strerror): Document it.
11760         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
11761         * tests/test-strerror.c (main): Strengthen test.
11762         * tests/test-strerror_r.c (main): Likewise.
11763
11764 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
11765
11766         intprop-tests: port to older and more-pedantic compilers
11767         * modules/intprops-tests (Files): Add tests/macros.h.
11768         * tests/test-intprops.c: Include macros.h.
11769         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
11770         it's no longer documented to expand to an integer constant expression.
11771         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
11772         argument is floating point, as it's no longer documented to expand
11773         to an integer constant expression in that case.
11774         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
11775         compiler bugs reported by Bruno Haible.  See
11776         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
11777         (U0, U1): New constants, to work around the same bugs.  Also,
11778         in tests, use e.g., "(unsigned int) 39" rather than "39u".
11779
11780         intprops: work around C compiler bugs
11781         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
11782         bug in Sun C 5.11 2010/08/13 and other compilers; see
11783         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
11784
11785         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
11786         * doc/intprops.texi (Integer Type Determination): Fix
11787         documentation for TYPE_IS_INTEGER: it returns an constant
11788         expression, not an integer constant expression.  Fix doc for
11789         TYPE_SIGNED: it returns an integer constant expression only if its
11790         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
11791         hardly worth documented that way....)
11792
11793 2011-05-18  Bruno Haible  <bruno@clisp.org>
11794
11795         strerror_r: Avoid clobbering the strerror buffer when possible.
11796         * lib/strerror_r.c (strerror_r): Merge the three implementations.
11797         Handle gnulib defined errno values here. When strerror() returns NULL
11798         or an empty string, return EINVAL.
11799         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
11800         gnulib defined errno values here.
11801         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
11802
11803 2011-05-18  Eric Blake  <eblake@redhat.com>
11804
11805         fnmatch: avoid compiler warning
11806         * lib/fnmatch_loop.c (FCT): Use correct type.
11807         Reported by Matthias Bolte.
11808
11809 2011-05-13  Jim Meyering  <meyering@redhat.com>
11810
11811         maint.mk: three new prohibit_<HDR>_without_use rules
11812         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
11813         (sc_prohibit_stdio-safer_without_use): Likewise.
11814         (sc_prohibit_xfreopen_without_use): Likewise.
11815
11816 2011-05-17  Jim Meyering  <meyering@redhat.com>
11817
11818         announce-gen: fail if the NEWS delta is empty
11819         If there's nothing noteworthy in NEWS, then either you forgot
11820         or you shouldn't be releasing.
11821         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
11822
11823 2011-05-17  Pádraig Brady <P@draigBrady.com>
11824
11825         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
11826         reserved symbols starting with double underscore from the check.
11827
11828 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11829
11830         intprops: add doc
11831         * doc/intprops.texi: New file, documenting intprops.
11832         * doc/gnulib.texi (Particular Modules): Include it.
11833
11834         verify: add doc to gnulib manual and fix example
11835         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
11836         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
11837         (Compile-time Assertions): Fix example so it can't overflow.
11838
11839 2011-05-17  Jim Meyering  <meyering@redhat.com>
11840
11841         warnings.m4: don't usurp save_CPPFLAGS variable name
11842         * m4/warnings.m4: Prefix local temporary variable name with gl_.
11843
11844         doc: fix typo
11845         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
11846
11847 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
11848             Bruno Haible  <bruno@clisp.org>
11849
11850         doc: Tweak recent change.
11851         * README (Portability guidelines): Tweak new text.
11852         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
11853         Interix 6.1.
11854
11855 2011-05-16  Eric Blake  <eblake@redhat.com>
11856
11857         inttypes: avoid autoconf warning
11858         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
11859         * m4/stdint.m4 (gl_STDINT_H): Likewise.
11860
11861 2011-05-16  Sam Steingold <sds@gnu.org>
11862         and Eric Blake  <eblake@redhat.com>
11863
11864         vc-list-files: accept multiple directory operands
11865         * build-aux/vc-list-files: Iterate over all remaining operands.
11866
11867 2011-05-16  Bruno Haible  <bruno@clisp.org>
11868
11869         Fix confusion regarding deprecated modules.
11870         * modules/calloc (Status, Notice): Mark module as deprecated, not
11871         obsolete.
11872         * modules/fnmatch-posix (Status, Notice): Likewise.
11873         * modules/getdate (Status, Notice): Likewise.
11874         * modules/getopt (Status, Notice): Likewise.
11875         * modules/malloc (Status, Notice): Likewise.
11876         * modules/pipe (Status, Notice): Likewise.
11877         * modules/realloc (Status, Notice): Likewise.
11878         * modules/rename-dest-slash (Status, Notice): Likewise.
11879         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
11880         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
11881         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
11882         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
11883         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
11884
11885 2011-05-16  Bruno Haible  <bruno@clisp.org>
11886
11887         doc: List the target platforms.
11888         * doc/gnulib-intro.texi (Target Platforms): New section.
11889         * doc/gnulib.texi (Introduction): Update menu.
11890         * README (Portability guidelines): Refer to the new section. Update
11891         statement about oldest supported environment. Remove rationale why
11892         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
11893         unportable C89 function.
11894         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
11895         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
11896
11897 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
11898
11899         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
11900
11901 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
11902
11903         intprops-tests: new module
11904         * modules/intprops-tests, tests/test-intprops.c: New files.
11905
11906         intprops: add safe, portable integer overflow checking
11907         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
11908         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
11909         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
11910         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
11911         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
11912         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
11913         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
11914         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
11915         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
11916         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
11917         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
11918
11919 2011-05-12  James Youngman  <jay@gnu.org>
11920
11921         Add a test for glibc's Bugzilla bug #12378.
11922         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
11923         doesn't allow the literal matching of a lone "[" (which is
11924         required by POSIX).
11925         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
11926
11927 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
11928
11929         Sync glibc change fixing Bugzilla bug #12378.
11930         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
11931         beginning and fall back to matching as normal character if the
11932         string ends before the matching ']' is found.  This is what POSIX
11933         requires.
11934
11935 2011-05-13  Eric Blake  <eblake@redhat.com>
11936
11937         getcwd-lgpl: relax test for FreeBSD
11938         * doc/posix-functions/getcwd.texi (getcwd): Document portability
11939         issue.
11940         * tests/test-getcwd-lgpl.c (main): Relax test.
11941         Reported by Matthias Bolte.
11942
11943 2011-05-11  Eric Blake  <eblake@redhat.com>
11944
11945         test-fflush: silence compiler warning
11946         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
11947
11948 2011-05-11  Bruno Haible  <bruno@clisp.org>
11949
11950         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
11951         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
11952         * modules/canonicalize (Depends-on): Add 'nocrash'.
11953         * modules/canonicalize-lgpl (Depends-on): Likewise.
11954         * doc/posix-functions/realpath.texi: Update platforms list.
11955         Reported by Ryan Schmidt <ryandesign@macports.org>.
11956
11957 2011-05-11  Bruno Haible  <bruno@clisp.org>
11958
11959         group-member: Declare function in <unistd.h>.
11960         * lib/unistd.in.h (group_member): New declaration.
11961         * lib/group-member.h: Remove file.
11962         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
11963         * tests/test-unistd-c++.cc: Check signature of group_member.
11964         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
11965         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
11966         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
11967         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
11968         HAVE_GROUP_MEMBER.
11969         * modules/group-member (Files): Remove lib/group-member.h.
11970         (Depends-on): Add unistd. Specify conditions.
11971         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
11972         (Include): Change to <unistd.h>.
11973         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
11974         HAVE_GROUP_MEMBER.
11975         * NEWS: Mention the change.
11976         * lib/euidaccess.c: Don't include group-member.h.
11977
11978 2011-05-11  Bruno Haible  <bruno@clisp.org>
11979
11980         group-member: Document module.
11981         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
11982         module.
11983
11984 2011-05-11  Bruno Haible  <bruno@clisp.org>
11985
11986         fclose: Fix mistake earlier today.
11987         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
11988
11989 2011-05-11  Eric Blake  <eblake@redhat.com>
11990
11991         fclose: preserve fflush errors
11992         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
11993         Reported by Jim Meyering.
11994
11995         bootstrap: support a prereq of 'rpcgen -' on RHEL5
11996         * build-aux/bootstrap (check_versions): When no specific version
11997         is required, merely check that the app produces an exit status
11998         that indicates its existence.
11999
12000         maint.mk: drop redundant check
12001         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
12002         the same but better.
12003
12004 2011-05-11  Bruno Haible  <bruno@clisp.org>
12005
12006         fclose: Fix possible link error.
12007         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
12008         unregister_shadow_fd. Improve comments.
12009         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
12010         Eric Blake.
12011
12012 2011-05-11  Jim Meyering  <meyering@redhat.com>
12013
12014         maint.mk: improve "can not" detection and generalize rule name
12015         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
12016         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
12017         Use the same technique as in sc_prohibit_doubled_word, so that
12018         we recognize "can not" also when the words are separated by a newline.
12019         Suggested by Eric Blake.
12020         (perl_filename_lineno_text_): Define.  Factored out of...
12021         (prohibit_doubled_word_): ...here.  Use the new definition.
12022         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
12023         (prohibit_undesirable_word_seq_RE_): New overridable variable.
12024         (ignore_undesirable_word_sequence_RE_): New overridable variable.
12025
12026 2011-05-10  Eric Blake  <eblake@redhat.com>
12027
12028         fclose: avoid double close race when possible
12029         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
12030         all but WINDOWS_SOCKETS.
12031
12032 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
12033
12034         openat: correct new comment
12035         * lib/openat-proc.c (openat_proc_name): Correct the comment.
12036
12037 2011-05-10  Jim Meyering  <meyering@redhat.com>
12038
12039         openat: add comments
12040         * lib/openat-proc.c (openat_proc_name): Add comments,
12041         mostly from Eric Blake.
12042
12043 2011-05-09  Eric Blake  <eblake@redhat.com>
12044
12045         openat: reduce syscalls in first probe of /proc
12046         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
12047         be a directory.  Simplify the probe for .. bugs.
12048         * modules/openat (Depends-on): Drop same-inode.
12049         Reported by Bastien ROUCARIES.
12050
12051 2011-05-09  Jim Meyering  <meyering@redhat.com>
12052
12053         maint.mk: change semantics/name of tight_scope variables
12054         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
12055         Rename variables to align with semantics that make them more useful.
12056
12057         maint.mk: tweak new rule's name not to impinge
12058         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
12059         (sc_tight_scope): Use new rule name rather than $@-0.
12060
12061         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
12062         * top/maint.mk (sc_tight_scope): New rule.
12063         (sc_tight_scope-0): New rule, ifdef'd out.
12064         (_gl_TS_dir): Default.
12065         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
12066         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
12067
12068 2011-05-09  Simon Josefsson  <simon@josefsson.org>
12069
12070         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
12071         Haible <bruno@clisp.org>.
12072
12073 2011-05-08  Bruno Haible  <bruno@clisp.org>
12074
12075         Comments.
12076         * m4/isnanf.m4: Add comment.
12077         * m4/isnanl.m4: Likewise.
12078
12079 2011-05-08  Bruno Haible  <bruno@clisp.org>
12080
12081         glob: Remove obsolete macro.
12082         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
12083
12084 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
12085
12086         intprops: Sun C 5.11 supports __typeof__
12087         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
12088         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
12089         which is new.
12090         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
12091
12092         intprops: switch to usual gnulib indenting and naming
12093         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
12094         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
12095
12096         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
12097
12098 2011-05-08  Jim Meyering  <meyering@redhat.com>
12099
12100         maint.mk: suppress "Entering/Leaving directory" diag in announcement
12101         * top/maint.mk (release-prep): Use make's --no-print-directory
12102         option when generating the announcement.  This eliminates the
12103         pesky "make[2]: Entering/Leaving directory" diagnostics in the
12104         generated announcement template.
12105
12106 2011-05-08  Bruno Haible  <bruno@clisp.org>
12107
12108         tzset: Fix gettimeofday wrapper on Solaris 2.6.
12109         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
12110         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
12111
12112 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
12113
12114         ignore-value, verify: Omit include files from lib_SOURCES.
12115         * modules/ignore-value, modules/verify (Makefile.am):
12116         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
12117         that leads Automake to duplicate use of am__objects_... variables
12118         in Makefile.in.  See
12119         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
12120
12121 2011-05-07  Bruno Haible  <bruno@clisp.org>
12122
12123         fclose: Simplify autoconf macro.
12124         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
12125         defined.
12126
12127 2011-05-07  Bruno Haible  <bruno@clisp.org>
12128
12129         canonicalize-lgpl: Fix autoconf macro ordering bug.
12130         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
12131         gl_STDLIB_H_DEFAULTS.
12132
12133 2011-05-06  Eric Blake  <eblake@redhat.com>
12134
12135         maintainer-makefile: make sc_po_check easier to tune
12136         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
12137         to probe for strings, such as an alternate location for gnulib.
12138
12139         fclose: guarantee behavior on seekable stdin
12140         * modules/fclose (Depends-on): Add fflush.
12141         * doc/posix-functions/fclose.texi (fclose): Document this.
12142         * tests/test-fclose.c (main): Make test for this unconditional.
12143
12144 2011-05-06  Bruno Haible  <bruno@clisp.org>
12145
12146         fflush, fpurge: Relicense under LGPLv2+.
12147         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
12148         * modules/fpurge (License): Likewise.
12149         With permission from Eric Blake and Jim Meyering.
12150         Suggested by Eric Blake.
12151
12152 2011-05-06  Karl Berry  <karl@gnu.org>
12153
12154         * MODULES.html.sh (func_all_modules): remove exit.
12155
12156 2011-05-06  Jim Meyering  <meyering@redhat.com>
12157
12158         maint.mk: use info-gnu@ as the default only for a stable release
12159         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
12160         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
12161         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
12162         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
12163
12164 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
12165
12166         assert-h: new module, which supports C1X-style static_assert
12167         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
12168         * lib/verify.h: Revamp so that this can be copied into assert.h,
12169         while retaining the ability to use it standalone as before.
12170         Rename private identifiers so as not to encroach on the
12171         standard C namespace, since this is now used by assert.h.
12172         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
12173         the old verify_true.
12174         (_GL_VERIFY_TRUE): New macro, with much of the contents of
12175         the old verify_true.  Use _GL_VERIFY_TYPE.
12176         (_GL_VERIFY): New macro, with much of the contents of the old verify.
12177         (static_assert): New macro, if _GL_STATIC_ASSERT_H
12178         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
12179         defined when this file is copied into the replacement assert.h.
12180         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
12181         and _Static_assert is not built in.
12182         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
12183         defined, and use the new macros mentioned above.
12184         * doc/posix-headers/assert.texi: Document this.
12185
12186 2011-05-05  Bruno Haible  <bruno@clisp.org>
12187
12188         fclose, fflush: Respect rules for use of AC_LIBOBJ.
12189         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
12190         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
12191         gl_REPLACE_FCLOSE here.
12192         * modules/fflush (Depends-on): Remove fclose.
12193         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
12194         combination with module 'fclose'.
12195
12196 2011-05-05  Bruno Haible  <bruno@clisp.org>
12197
12198         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
12199         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
12200         gl_FUNC_FFLUSH.
12201         (gl_FUNC_FFLUSH): Use it.
12202         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
12203         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
12204         gl_REPLACE_FSEEKO here.
12205
12206 2011-05-05  Bruno Haible  <bruno@clisp.org>
12207
12208         tzset: Relicense under LGPL.
12209         * modules/tzset (License): Change to LGPL.
12210         No agreement needed; it's a no-op.
12211
12212         strtoimax, strtoumax: Relicense under LGPL.
12213         * modules/strtoimax (License): Change to LGPL.
12214         * modules/strtoumax (License): Likewise.
12215         With permission from Jim Meyering, Paul Eggert:
12216         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
12217         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
12218
12219         getgroups: Relicense under LGPL.
12220         * modules/getgroups (License): Change to LGPL.
12221         With permission from Jim Meyering, Paul Eggert, Eric Blake:
12222         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
12223         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
12224         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
12225
12226         nanosleep: Relicense under LGPL.
12227         * modules/nanosleep (License): Change to LGPL.
12228         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
12229         Haible:
12230         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
12231         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
12232         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
12233         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
12234
12235         futimens: Relicense under LGPL.
12236         * modules/futimens (License): Change to LGPL.
12237         With permission from Eric Blake:
12238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
12239
12240         fflush: Relicense under LGPL.
12241         * modules/fflush (License): Change to LGPL.
12242         With permission from Eric Blake, Bruno Haible, Jim Meyering:
12243         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
12244         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
12245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
12246
12247         tmpfile: Relicense under LGPL.
12248         * modules/tmpfile (License): Change to LGPL.
12249         With permission from Ben Pfaff:
12250         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
12251
12252         isfinite: Relicense under LGPL.
12253         * modules/isfinite (License): Change to LGPL.
12254         With permission from Ben Pfaff, Bruno Haible:
12255         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
12256         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
12257
12258         acosl..tanl: Relicense under LGPL.
12259         * modules/acosl (License): Change to LGPL.
12260         * modules/asinl (License): Likewise.
12261         * modules/atanl (License): Likewise.
12262         * modules/cosl (License): Likewise.
12263         * modules/expl (License): Likewise.
12264         * modules/logl (License): Likewise.
12265         * modules/sinl (License): Likewise.
12266         * modules/sqrtl (License): Likewise.
12267         * modules/tanl (License): Likewise.
12268         Source code originally from glibc and Paolo Bonzini. Agreements:
12269         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
12270         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
12271
12272 2011-05-05  Bruno Haible  <bruno@clisp.org>
12273
12274         signal: Define sighandler_t.
12275         * lib/signal.in.h (sighandler_t): New type.
12276         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
12277         whether sighandler_t is defined.
12278         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
12279         * modules/signal (Depends-on): Add extensions.
12280         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
12281         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
12282         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
12283
12284 2011-05-05  Eric Blake  <eblake@redhat.com>
12285
12286         maint: remove useless REPLACE_*_H macros
12287         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
12288         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
12289         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
12290         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
12291         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
12292         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
12293         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
12294         * m4/btowc.m4: Update callers.
12295         * m4/dirfd.m4: Likewise.
12296         * m4/duplocale.m4: Likewise.
12297         * m4/fchdir.m4: Likewise.
12298         * m4/fdopendir.m4: Likewise.
12299         * m4/inet_ntop.m4: Likewise.
12300         * m4/inet_pton.m4: Likewise.
12301         * m4/ioctl.m4: Likewise.
12302         * m4/mbrlen.m4: Likewise.
12303         * m4/mbrtowc.m4: Likewise.
12304         * m4/mbsinit.m4: Likewise.
12305         * m4/mbsnrtowcs.m4: Likewise.
12306         * m4/mbsrtowcs.m4: Likewise.
12307         * m4/poll.m4: Likewise.
12308         * m4/setlocale.m4: Likewise.
12309         * m4/wcrtomb.m4: Likewise.
12310         * m4/wcsnrtombs.m4: Likewise.
12311         * m4/wcsrtombs.m4: Likewise.
12312         * m4/wctob.m4: Likewise.
12313         * m4/wcwidth.m4: Likewise.
12314         * modules/posix_spawn: Likewise.
12315         * modules/posix_spawn_file_actions_addclose: Likewise.
12316         * modules/posix_spawn_file_actions_adddup2: Likewise.
12317         * modules/posix_spawn_file_actions_addopen: Likewise.
12318         * modules/posix_spawn_file_actions_destroy: Likewise.
12319         * modules/posix_spawn_file_actions_init: Likewise.
12320         * modules/posix_spawnattr_destroy: Likewise.
12321         * modules/posix_spawnattr_getflags: Likewise.
12322         * modules/posix_spawnattr_getpgroup: Likewise.
12323         * modules/posix_spawnattr_getschedparam: Likewise.
12324         * modules/posix_spawnattr_getschedpolicy: Likewise.
12325         * modules/posix_spawnattr_getsigdefault: Likewise.
12326         * modules/posix_spawnattr_getsigmask: Likewise.
12327         * modules/posix_spawnattr_init: Likewise.
12328         * modules/posix_spawnattr_setflags: Likewise.
12329         * modules/posix_spawnattr_setpgroup: Likewise.
12330         * modules/posix_spawnattr_setschedparam: Likewise.
12331         * modules/posix_spawnattr_setschedpolicy: Likewise.
12332         * modules/posix_spawnattr_setsigdefault: Likewise.
12333         * modules/posix_spawnattr_setsigmask: Likewise.
12334         * modules/posix_spawnp: Likewise.
12335
12336 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
12337
12338         Add option to do-release-commit-and-tag to specify branch.
12339         * build-aux/do-release-commit-and-tag: Add --branch.
12340
12341 2011-05-03  Bruno Haible  <bruno@clisp.org>
12342
12343         Avoid unnecessary compilation units, through conditional dependencies.
12344         * modules/accept (Depends-on): Add conditions to the dependencies.
12345         * modules/acosl (Depends-on): Likewise.
12346         * modules/argz (Depends-on): Likewise.
12347         * modules/asinl (Depends-on): Likewise.
12348         * modules/atanl (Depends-on): Likewise.
12349         * modules/atoll (Depends-on): Likewise.
12350         * modules/bind (Depends-on): Likewise.
12351         * modules/btowc (Depends-on): Likewise.
12352         * modules/canonicalize-lgpl (Depends-on): Likewise.
12353         * modules/ceil (Depends-on): Likewise.
12354         * modules/ceilf (Depends-on): Likewise.
12355         * modules/ceill (Depends-on): Likewise.
12356         * modules/chdir-long (Depends-on): Likewise.
12357         * modules/chown (Depends-on): Likewise.
12358         * modules/close (Depends-on): Likewise.
12359         * modules/connect (Depends-on): Likewise.
12360         * modules/cosl (Depends-on): Likewise.
12361         * modules/dirfd (Depends-on): Likewise.
12362         * modules/dprintf (Depends-on): Likewise.
12363         * modules/dprintf-posix (Depends-on): Likewise.
12364         * modules/error (Depends-on): Likewise.
12365         * modules/euidaccess (Depends-on): Likewise.
12366         * modules/expl (Depends-on): Likewise.
12367         * modules/faccessat (Depends-on): Likewise.
12368         * modules/fchdir (Depends-on): Likewise.
12369         * modules/fclose (Depends-on): Likewise.
12370         * modules/fcntl (Depends-on): Likewise.
12371         * modules/fdopendir (Depends-on): Likewise.
12372         * modules/fflush (Depends-on): Likewise.
12373         * modules/floor (Depends-on): Likewise.
12374         * modules/floorf (Depends-on): Likewise.
12375         * modules/floorl (Depends-on): Likewise.
12376         * modules/fnmatch (Depends-on): Likewise.
12377         * modules/fopen (Depends-on): Likewise.
12378         * modules/fprintf-posix (Depends-on): Likewise.
12379         * modules/frexp (Depends-on): Likewise.
12380         * modules/frexp-nolibm (Depends-on): Likewise.
12381         * modules/frexpl (Depends-on): Likewise.
12382         * modules/frexpl-nolibm (Depends-on): Likewise.
12383         * modules/fseek (Depends-on): Likewise.
12384         * modules/fsusage (Depends-on): Likewise.
12385         * modules/ftell (Depends-on): Likewise.
12386         * modules/ftello (Depends-on): Likewise.
12387         * modules/futimens (Depends-on): Likewise.
12388         * modules/getcwd (Depends-on): Likewise.
12389         * modules/getcwd-lgpl (Depends-on): Likewise.
12390         * modules/getdelim (Depends-on): Likewise.
12391         * modules/getdomainname (Depends-on): Likewise.
12392         * modules/getgroups (Depends-on): Likewise.
12393         * modules/gethostname (Depends-on): Likewise.
12394         * modules/getline (Depends-on): Likewise.
12395         * modules/getlogin_r (Depends-on): Likewise.
12396         * modules/getopt-posix (Depends-on): Likewise.
12397         * modules/getpeername (Depends-on): Likewise.
12398         * modules/getsockname (Depends-on): Likewise.
12399         * modules/getsockopt (Depends-on): Likewise.
12400         * modules/getsubopt (Depends-on): Likewise.
12401         * modules/getusershell (Depends-on): Likewise.
12402         * modules/glob (Depends-on): Likewise.
12403         * modules/grantpt (Depends-on): Likewise.
12404         * modules/iconv_open (Depends-on): Likewise.
12405         * modules/iconv_open-utf (Depends-on): Likewise.
12406         * modules/inet_ntop (Depends-on): Likewise.
12407         * modules/inet_pton (Depends-on): Likewise.
12408         * modules/ioctl (Depends-on): Likewise.
12409         * modules/isapipe (Depends-on): Likewise.
12410         * modules/isfinite (Depends-on): Likewise.
12411         * modules/isinf (Depends-on): Likewise.
12412         * modules/lchown (Depends-on): Likewise.
12413         * modules/ldexpl (Depends-on): Likewise.
12414         * modules/link (Depends-on): Likewise.
12415         * modules/linkat (Depends-on): Likewise.
12416         * modules/listen (Depends-on): Likewise.
12417         * modules/logl (Depends-on): Likewise.
12418         * modules/lstat (Depends-on): Likewise.
12419         * modules/mbrlen (Depends-on): Likewise.
12420         * modules/mbrtowc (Depends-on): Likewise.
12421         * modules/mbsinit (Depends-on): Likewise.
12422         * modules/mbsnrtowcs (Depends-on): Likewise.
12423         * modules/mbsrtowcs (Depends-on): Likewise.
12424         * modules/mbtowc (Depends-on): Likewise.
12425         * modules/memcmp (Depends-on): Likewise.
12426         * modules/mkdir (Depends-on): Likewise.
12427         * modules/mkdtemp (Depends-on): Likewise.
12428         * modules/mkfifo (Depends-on): Likewise.
12429         * modules/mkfifoat (Depends-on): Likewise.
12430         * modules/mknod (Depends-on): Likewise.
12431         * modules/mkostemp (Depends-on): Likewise.
12432         * modules/mkostemps (Depends-on): Likewise.
12433         * modules/mkstemp (Depends-on): Likewise.
12434         * modules/mkstemps (Depends-on): Likewise.
12435         * modules/mktime (Depends-on): Likewise.
12436         * modules/nanosleep (Depends-on): Likewise.
12437         * modules/open (Depends-on): Likewise.
12438         * modules/openat (Depends-on): Likewise.
12439         * modules/perror (Depends-on): Likewise.
12440         * modules/poll (Depends-on): Likewise.
12441         * modules/popen (Depends-on): Likewise.
12442         * modules/posix_spawn (Depends-on): Likewise.
12443         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
12444         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
12445         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
12446         * modules/posix_spawnp (Depends-on): Likewise.
12447         * modules/pread (Depends-on): Likewise.
12448         * modules/printf-posix (Depends-on): Likewise.
12449         * modules/ptsname (Depends-on): Likewise.
12450         * modules/putenv (Depends-on): Likewise.
12451         * modules/pwrite (Depends-on): Likewise.
12452         * modules/readline (Depends-on): Likewise.
12453         * modules/readlink (Depends-on): Likewise.
12454         * modules/readlinkat (Depends-on): Likewise.
12455         * modules/recv (Depends-on): Likewise.
12456         * modules/recvfrom (Depends-on): Likewise.
12457         * modules/regex (Depends-on): Likewise.
12458         * modules/remove (Depends-on): Likewise.
12459         * modules/rename (Depends-on): Likewise.
12460         * modules/renameat (Depends-on): Likewise.
12461         * modules/rmdir (Depends-on): Likewise.
12462         * modules/round (Depends-on): Likewise.
12463         * modules/roundf (Depends-on): Likewise.
12464         * modules/roundl (Depends-on): Likewise.
12465         * modules/rpmatch (Depends-on): Likewise.
12466         * modules/select (Depends-on): Likewise.
12467         * modules/send (Depends-on): Likewise.
12468         * modules/sendto (Depends-on): Likewise.
12469         * modules/setenv (Depends-on): Likewise.
12470         * modules/setlocale (Depends-on): Likewise.
12471         * modules/setsockopt (Depends-on): Likewise.
12472         * modules/shutdown (Depends-on): Likewise.
12473         * modules/sigaction (Depends-on): Likewise.
12474         * modules/signbit (Depends-on): Likewise.
12475         * modules/sigprocmask (Depends-on): Likewise.
12476         * modules/sinl (Depends-on): Likewise.
12477         * modules/sleep (Depends-on): Likewise.
12478         * modules/snprintf (Depends-on): Likewise.
12479         * modules/snprintf-posix (Depends-on): Likewise.
12480         * modules/socket (Depends-on): Likewise.
12481         * modules/sprintf-posix (Depends-on): Likewise.
12482         * modules/sqrtl (Depends-on): Likewise.
12483         * modules/stat (Depends-on): Likewise.
12484         * modules/strchrnul (Depends-on): Likewise.
12485         * modules/strdup-posix (Depends-on): Likewise.
12486         * modules/strerror (Depends-on): Likewise.
12487         * modules/strerror_r-posix (Depends-on): Likewise.
12488         * modules/strndup (Depends-on): Likewise.
12489         * modules/strnlen (Depends-on): Likewise.
12490         * modules/strptime (Depends-on): Likewise.
12491         * modules/strsep (Depends-on): Likewise.
12492         * modules/strsignal (Depends-on): Likewise.
12493         * modules/strstr-simple (Depends-on): Likewise.
12494         * modules/strtod (Depends-on): Likewise.
12495         * modules/strtoimax (Depends-on): Likewise.
12496         * modules/strtok_r (Depends-on): Likewise.
12497         * modules/strtoumax (Depends-on): Likewise.
12498         * modules/symlink (Depends-on): Likewise.
12499         * modules/symlinkat (Depends-on): Likewise.
12500         * modules/tanl (Depends-on): Likewise.
12501         * modules/tcgetsid (Depends-on): Likewise.
12502         * modules/tmpfile (Depends-on): Likewise.
12503         * modules/trunc (Depends-on): Likewise.
12504         * modules/truncf (Depends-on): Likewise.
12505         * modules/truncl (Depends-on): Likewise.
12506         * modules/uname (Depends-on): Likewise.
12507         * modules/unlink (Depends-on): Likewise.
12508         * modules/unlockpt (Depends-on): Likewise.
12509         * modules/unsetenv (Depends-on): Likewise.
12510         * modules/usleep (Depends-on): Likewise.
12511         * modules/utimensat (Depends-on): Likewise.
12512         * modules/vasprintf (Depends-on): Likewise.
12513         * modules/vdprintf (Depends-on): Likewise.
12514         * modules/vdprintf-posix (Depends-on): Likewise.
12515         * modules/vfprintf-posix (Depends-on): Likewise.
12516         * modules/vprintf-posix (Depends-on): Likewise.
12517         * modules/vsnprintf (Depends-on): Likewise.
12518         * modules/vsnprintf-posix (Depends-on): Likewise.
12519         * modules/vsprintf-posix (Depends-on): Likewise.
12520         * modules/wcrtomb (Depends-on): Likewise.
12521         * modules/wcscasecmp (Depends-on): Likewise.
12522         * modules/wcscspn (Depends-on): Likewise.
12523         * modules/wcsdup (Depends-on): Likewise.
12524         * modules/wcsncasecmp (Depends-on): Likewise.
12525         * modules/wcsnrtombs (Depends-on): Likewise.
12526         * modules/wcspbrk (Depends-on): Likewise.
12527         * modules/wcsrtombs (Depends-on): Likewise.
12528         * modules/wcsspn (Depends-on): Likewise.
12529         * modules/wcsstr (Depends-on): Likewise.
12530         * modules/wcstok (Depends-on): Likewise.
12531         * modules/wcswidth (Depends-on): Likewise.
12532         * modules/wctob (Depends-on): Likewise.
12533         * modules/wctomb (Depends-on): Likewise.
12534         * modules/wctype (Depends-on): Likewise.
12535         * modules/wcwidth (Depends-on): Likewise.
12536         * modules/write (Depends-on): Likewise.
12537
12538 2011-05-03  Bruno Haible  <bruno@clisp.org>
12539
12540         Support for conditional dependencies.
12541         * doc/gnulib.texi (Module description): Document the syntax of
12542         conditional dependencies.
12543         * gnulib-tool: New option --conditional-dependencies.
12544         (func_usage): Document it.
12545         (cond_dependencies): New variable.
12546         (func_get_automake_snippet_conditional,
12547         func_get_automake_snippet_unconditional): New functions, extracted from
12548         func_get_automake_snippet.
12549         (func_get_automake_snippet): Use them.
12550         (sed_first_32_chars): New variable.
12551         (func_module_shellfunc_name): New function.
12552         (func_module_shellvar_name): New function.
12553         (func_module_conditional_name): New function.
12554         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
12555         func_cond_module_condition): New functions.
12556         (func_modules_transitive_closure): Add support for conditional
12557         dependencies.
12558         (func_emit_lib_Makefile_am): For a conditional module, enclose the
12559         conditional automake snippet in an automake conditional.
12560         (func_emit_autoconf_snippets): Emit shell functions that contain the
12561         code for conditional modules.
12562         (func_import, func_create_testdir): Update specification.
12563
12564 2011-05-03  Eric Blake  <eblake@redhat.com>
12565
12566         test-getaddrinfo: report error information
12567         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
12568
12569 2011-05-03  Jim Meyering  <meyering@redhat.com>
12570
12571         bootstrap: avoid build failure when $GZIP is set
12572         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
12573         program name.  If defined at all, it is supposed to list gzip options.
12574         Reported by Alan Curry in http://debbugs.gnu.org/8609
12575
12576 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
12577
12578         readme-release: new module with release instructions
12579         * modules/readme-release: New module.
12580         * top/README-release: New file, from coreutils, grep, diffutils.
12581         * MODULES.html.sh (Support for maintaining and releasing): Add it.
12582
12583 2011-05-02  Eric Blake  <eblake@redhat.com>
12584
12585         fflush: also replace fclose when fixing fflush
12586         * modules/fflush (Depends-on): Add fclose.
12587         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
12588         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
12589         memstreams with no backing fd.
12590         * doc/posix-functions/fclose.texi (fclose): Document the use of
12591         fflush module to fix the bug.
12592         * tests/test-fclose.c (main): Relax test when fclose is used in
12593         isolation.
12594
12595         fclose: add some tests
12596         * modules/fclose-tests: New test module.
12597         * tests/test-fclose.c: New file.
12598         * doc/posix-functions/fclose.texi (fclose): Document the bug.
12599
12600         fclose: reduced dependencies
12601         * modules/fclose (Depends-on): Switch from fflush/fseeko to
12602         simpler lseek.
12603         * lib/fclose.c (rpl_fclose): Likewise.
12604         Reported by Simon Josefsson.
12605
12606         exit: drop remaining clients
12607         * modules/argmatch (Depends-on): Replace exit with stdlib.
12608         * modules/copy-file (Depends-on): Likewise.
12609         * modules/execute (Depends-on): Likewise.
12610         * modules/exitfail (Depends-on): Likewise.
12611         * modules/obstack (Depends-on): Likewise.
12612         * modules/pagealign_alloc (Depends-on): Likewise.
12613         * modules/pipe-filter-gi (Depends-on): Likewise.
12614         * modules/pipe-filter-ii (Depends-on): Likewise.
12615         * modules/savewd (Depends-on): Likewise.
12616         * modules/spawn-pipe (Depends-on): Likewise.
12617         * modules/wait-process (Depends-on): Likewise.
12618         * modules/xsetenv (Depends-on): Likewise.
12619         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
12620         * modules/git-merge-changelog (Depends-on): Likewise.
12621         * modules/long-options (Depends-on): Likewise.
12622         * modules/pt_chown (Depends-on): Likewise.
12623         * modules/sysexits (Depends-on): Likewise.
12624
12625         freading: relax license from LGPLv3+ to LGPLv2+
12626         * modules/freading (License): Relax LGPL version.
12627
12628 2011-05-02  Bruno Haible  <bruno@clisp.org>
12629
12630         fchdir: Remove unused dependencies.
12631         * modules/fchdir (Depends-on): Remove include_next.
12632
12633 2011-05-02  Bruno Haible  <bruno@clisp.org>
12634
12635         gnulib-tool: Refactor.
12636         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
12637         from func_emit_autoconf_snippets.
12638         (func_emit_autoconf_snippets): Use it.
12639
12640 2011-05-02  Simon Josefsson  <simon@josefsson.org>
12641
12642         * NEWS: Document removal of 'exit'.
12643         * modules/exit: Remove file.
12644
12645 2011-05-01  Bruno Haible  <bruno@clisp.org>
12646
12647         Update DEPENDENCIES.
12648         * DEPENDENCIES (gettext): Recommend the newest release.
12649         Reported by Simon Josefsson.
12650
12651 2011-05-01  Bruno Haible  <bruno@clisp.org>
12652
12653         gnulib-tool: Reduce code duplication.
12654         * gnulib-tool (func_emit_autoconf_snippets): New function.
12655         (func_import, func_create_testdir): Use it.
12656
12657 2011-04-30  Eric Blake  <eblake@redhat.com>
12658
12659         fclose: don't fail on non-seekable input stream
12660         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
12661         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
12662         since fflush is allowed to fail in that case.
12663
12664 2011-04-30  Bruno Haible  <bruno@clisp.org>
12665
12666         dup3: cleanup
12667         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
12668
12669 2011-04-30  Bruno Haible  <bruno@clisp.org>
12670
12671         netdb: Make it work in C++ mode.
12672         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
12673         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
12674         module.
12675         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
12676         gl_MODULE_INDICATOR_FOR_TESTS.
12677         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
12678         * modules/netdb-c++-tests: New file.
12679         * tests/test-netdb-c++.cc: New file.
12680
12681 2011-04-30  Bruno Haible  <bruno@clisp.org>
12682
12683         New modules 'vfscanf', 'vscanf'.
12684         * modules/vfscanf: New file.
12685         * modules/vscanf: New file.
12686         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
12687         here.
12688         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
12689         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
12690
12691 2011-04-30  Bruno Haible  <bruno@clisp.org>
12692
12693         passfd: Add comments.
12694         * lib/passfd.c: Add comments about platforms.
12695
12696 2011-04-30  Bruno Haible  <bruno@clisp.org>
12697
12698         sys_uio: Make <sys/uio.h> self-contained.
12699         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
12700         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
12701
12702 2011-04-30  Bruno Haible  <bruno@clisp.org>
12703
12704         sys_socket: Ensure 'struct iovec' definition.
12705         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
12706         <sys/socket.h>.
12707         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
12708
12709 2011-04-30  Bruno Haible  <bruno@clisp.org>
12710
12711         sys_uio: Protect definition of 'struct iovec'.
12712         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
12713         it as a C struct.
12714
12715 2011-04-30  Bruno Haible  <bruno@clisp.org>
12716
12717         manywarnings: fix indentation
12718         * m4/manywarnings.m4: Indent by 2 spaces consistently.
12719
12720 2011-04-30  Pádraig Brady <P@draigBrady.com>
12721
12722         manywarnings: add -Wno-missing-field-initializers if needed.
12723         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
12724         option if it's needed to allow initialization with { 0, }
12725
12726 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
12727
12728         announce-gen: cosmetic improvement
12729         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
12730
12731 2011-04-29  Jim Meyering  <meyering@redhat.com>
12732
12733         vc-list-files: indent with spaces, not TABs
12734         * build-aux/vc-list-files: Convert leading TABs to spaces,
12735         to match the style of most other files in gnulib.
12736
12737         announce-gen: indent with spaces, not TABs
12738         * build-aux/announce-gen: Convert all TABs to spaces, to match
12739         the style of most other files in gnulib.
12740
12741 2011-04-29  Eric Blake  <eblake@redhat.com>
12742
12743         quotearg: avoid uninitialized variable use
12744         * lib/quotearg.c (quoting_options_from_style): Initialize
12745         remaining fields, and ensure that custom styles are only used via
12746         quoting_options rather than quoting_style.
12747
12748 2011-04-29  Jim Meyering  <meyering@redhat.com>
12749
12750         maint.mk: remove unused VC-tag variable
12751         * top/maint.mk (VC-tag): Remove unused variable.
12752
12753 2011-04-29  Bruno Haible  <bruno@clisp.org>
12754
12755         netdb: fix gai_strerror replacements
12756         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
12757         * modules/netdb: Substitute it.
12758
12759 2011-04-29  Jim Meyering  <meyering@redhat.com>
12760
12761         test-getcwd.c: avoid new set-but-not-used warning
12762         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
12763         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
12764         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
12765         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
12766
12767         test-hash.c: avoid a new shadowing warning
12768         * tests/test-hash.c (main): Don't shadow "dup".
12769
12770 2011-04-28  Eric Blake  <eblake@redhat.com>
12771
12772         getaddrinfo: fix gai_strerror signature
12773         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
12774         and work around mingw with UNICODE defined.
12775         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
12776         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
12777         * modules/netdb (Makefile.am): Substitute it.
12778         * lib/netdb.in.h (gai_strerror): Declare replacement.
12779         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
12780         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
12781         the fix.
12782
12783         getsockopt: avoid compiler warning
12784         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
12785         Reported by Matthias Bolte.
12786
12787         tests: drop unused link dependency
12788         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
12789         * modules/dirent-safer-tests (Makefile.am): Likewise.
12790         * modules/fdopendir-tests (Makefile.am): Likewise.
12791         * modules/mkfifoat-tests (Makefile.am): Likewise.
12792         * modules/openat-safer-tests (Makefile.am): Likewise.
12793         * modules/openat-tests (Makefile.am): Likewise.
12794         * modules/readlinkat-tests (Makefile.am): Likewise.
12795         * modules/symlinkat-tests (Makefile.am): Likewise.
12796         * modules/linkat-tests (Makefile.am): Likewise.
12797         (Depends-on): Switch to filenamecat-lgpl.
12798         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
12799         LIBINTL.
12800         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
12801         * tests/test-linkat.c (main): Don't require xalloc.
12802
12803         hash, mgetgroups: drop xalloc dependency
12804         * lib/hash.c (includes): Adjust includes.
12805         * lib/mgetgroups.c (includes): Likewise.
12806         (xgetgroups): Move...
12807         * lib/xgetgroups.c: ...to new file.
12808         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
12809         * modules/xgetgroups: New file, split from...
12810         * modules/mgetgroups: ...here.
12811         (Depends-on): Add xalloc-oversized.
12812         * modules/hash (Depends-on): Likewise.
12813         * modules/hash-tests (Depends-on): Drop xalloc.
12814         (test_hash_LDADD): Drop unused library.
12815         * tests/test-hash.c (main): Break xalloc dependency.
12816         (includes): Drop unused include.
12817
12818         xalloc-oversized: new module
12819         * modules/xalloc-oversized: New module.
12820         * modules/xalloc (Depends-on): Add it.
12821         * lib/xalloc.h (xalloc_oversized): Move...
12822         * lib/xalloc-oversized.h: ...into new file.
12823
12824         utimecmp: drop dependency on xmalloc
12825         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
12826         due to memory pressure.
12827         * modules/utimecmp (Depends-on): Drop xalloc.
12828
12829 2011-04-27  Eric Blake  <eblake@redhat.com>
12830
12831         getcwd: fix mingw bugs
12832         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
12833         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
12834         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
12835
12836 2011-04-27  Bruno Haible  <bruno@clisp.org>
12837
12838         mkstemps: Ensure declaration on MacOS X 10.5.
12839         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
12840         * doc/glibc-functions/mkstemps.texi: Document header file problem on
12841         MacOS X.
12842
12843 2011-04-27  Bruno Haible  <bruno@clisp.org>
12844
12845         mkstemp: More documentation.
12846         * doc/posix-functions/mkstemp.texi: Document header file problem on
12847         MacOS X.
12848
12849 2011-04-27  Bruno Haible  <bruno@clisp.org>
12850
12851         mkstemp: Tweak configure message when cross-compiling.
12852         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
12853         result as a guess.
12854
12855 2011-04-27  Bruno Haible  <bruno@clisp.org>
12856
12857         clean-temp: Clarify what it does.
12858         * lib/clean-temp.h: Add more comments.
12859         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
12860         module.
12861         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
12862         * doc/glibc-functions/mkstemps.texi: Likewise.
12863         * doc/glibc-functions/mkostemps.texi: Likewise.
12864
12865 2011-04-27  Eric Blake  <eblake@redhat.com>
12866
12867         fchdir: avoid extra chdir and fix test
12868         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
12869         getcwd-lgpl.
12870         * lib/fchdir.c (get_name): Any absolute name will do; it does not
12871         have to be canonical.
12872         (canonicalize_file_name): Drop unused macro.
12873         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
12874
12875         filenamecat-lgpl: fix licence
12876         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
12877         when it was first created.
12878
12879         linkat, renameat: add missing dependency
12880         * modules/linkat (Depends-on): Require getcwd-lgpl.
12881         * modules/renameat (Depends-on): Likewise.
12882
12883         tests: reduce dependencies
12884         * tests/test-linkat.c (main): Use lighter-weight getcwd.
12885         * tests/test-renameat.c (main): Likewise.
12886         * modules/linkat-tests (Depends-on): Relax dependency.
12887         * modules/renameat-tests (Depends-on): Likewise.
12888         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
12889         dependency explicit.
12890
12891         save-cwd: reduce default dependency
12892         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
12893         * lib/save-cwd.c: Update comments.
12894         * NEWS: Document the semantic change.
12895
12896         getcwd: enhance tests
12897         * tests/test-getcwd-lgpl.c: New file, taken from...
12898         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
12899         repeat long path stress tests from m4 probe.
12900         * modules/getcwd-lgpl-tests: New module.
12901         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
12902         * m4/getcwd-abort-bug.m4: Update comment.
12903         * m4/getcwd-path-max.m4: Likewise.
12904
12905         getcwd-lgpl: new module
12906         * modules/getcwd-lgpl: New module.
12907         * lib/getcwd-lgpl.c: New file.
12908         * doc/posix-functions/getcwd.texi (getcwd): Document it.
12909         * MODULES.html.sh (lacking POSIX:2008): Likewise.
12910         * modules/getcwd (configure.ac): Set C witness.
12911         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
12912
12913         getcwd: tweak comments
12914         * m4/getcwd-abort-bug.m4: Fix comments.
12915         * m4/getcwd-path-max.m4: Likewise.
12916         * m4/getcwd.m4: Likewise.
12917
12918 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
12919         and Eric Blake  <eblake@redhat.com>
12920
12921         mkstemp: replace if system version uses wrong permissions
12922         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
12923         read/write mode bits set in file created by mkstemp.
12924         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
12925
12926 2011-04-27  Eric Blake  <eblake@redhat.com>
12927
12928         passfd: avoid compiler warning
12929         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
12930         Reported by Laine Stump.
12931
12932 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
12933
12934         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
12935         required by the NetBSD (and perhaps other 4.4BSD derived) join.
12936
12937 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
12938         and Eric Blake  <eblake@redhat.com>
12939
12940         mkstemp: mention clean-temp module
12941         * lib/mkstemp.c: Add comment.
12942         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
12943
12944 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
12945
12946         inttypes: also provide default values for 32-bit tests
12947         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
12948         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
12949
12950 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
12951
12952         strtoumax: remove dependency on strtoimax
12953         This is like the strtoull change of yesterday.
12954         * modules/strtoumax (Files): Add lib/strtoimax.c.
12955         (Depends-on): Remove strtoimax and add verify.
12956
12957         inttypes-incomplete: new module
12958         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
12959         all but the PRI* and SCN* parts of gl_INTTYPES_H.
12960         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
12961         of gl_INTTYPES_H.
12962         (gl_INTTYPES_H): Rewrite in terms of these new macros.
12963         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
12964         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
12965         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
12966         * modules/strtoumax, modules/xstrtol (Depends-on):
12967         Depend on inttypes-incomplete, not inttypes.
12968         * modules/inttypes-incomplete: New module, containing the contents
12969         of the old modules/inttypes module, except that the Files: section
12970         omits m4/inttypes-pri.m4, and the configure.ac section invokes
12971         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
12972         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
12973         (Depends-on): Depend only on inttypes-incomplete.
12974         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
12975
12976         inttypes: omit now-redundant strtoimax and strtoumax work
12977         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
12978         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
12979
12980         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
12981         This supports apps that need pointers to strtoimax and strtoumax,
12982         and ports to HP-UX 11.00 64.bit, which has macros that expand to
12983         nonexistent functions.  See
12984         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
12985         et seq.
12986         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
12987         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
12988         a macro.
12989         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
12990
12991 2011-04-25  Simon Josefsson  <simon@josefsson.org>
12992
12993         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
12994
12995 2011-04-25  Bruno Haible  <bruno@clisp.org>
12996
12997         strtol, strtoul: Mark modules as obsolete.
12998         * modules/strtol (Status, Notice): New sections.
12999         * modules/strtoul (Status, Notice): New sections.
13000
13001 2011-04-25  Bruno Haible  <bruno@clisp.org>
13002
13003         strtod: Remove check for strtod, unless supporting old platforms.
13004         * modules/strtod-obsolete: New file.
13005         * m4/strtod-obsolete.m4: New file.
13006         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
13007         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
13008         * modules/strtod (Depends-on): Add strtod-obsolete.
13009         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
13010
13011 2011-04-25  Bruno Haible  <bruno@clisp.org>
13012
13013         strcase: Make module obsolete.
13014         * modules/strcase (Status, Notice): New sections.
13015
13016 2011-04-25  Bruno Haible  <bruno@clisp.org>
13017
13018         dup2: Remove check for dup2, unless supporting old obsolete platforms.
13019         * modules/dup2-obsolete: New file.
13020         * m4/dup2-obsolete.m4: New file.
13021         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
13022         gl_FUNC_DUP2_OBSOLETE is not also defined.
13023         * modules/dup2 (Depends-on): Add dup2-obsolete.
13024         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
13025
13026 2011-04-25  Bruno Haible  <bruno@clisp.org>
13027
13028         strnlen: Avoid memchr related link error on old obsolete platforms.
13029         * modules/memchr-obsolete: New file.
13030         * m4/memchr-obsolete.m4: New file.
13031         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
13032         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
13033         * modules/memchr (Depends-on): Add memchr-obsolete.
13034         * modules/strnlen (Depends-on): Likewise.
13035         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
13036
13037 2011-04-25  Jim Meyering  <meyering@redhat.com>
13038
13039         maint.mk: makefile_at_at_check extend and clean up
13040         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
13041         in addition to */Makefile.am.
13042         Exempt legitimate uses of @VAR@ notation, e.g.,
13043         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
13044         Remove obsolete coreutils-specific comment.
13045         Prompted by discussion here:
13046         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
13047
13048 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13049
13050         strtoul: remove dependency on strtol
13051         This is so that 'configure' need not check for strtol merely because
13052         the application needs strtoul.
13053         * modules/strtoul (Files): Add lib/strtol.c.
13054         (Depends-on): Remove strtol.
13055
13056         strtoull: remove dependency on strtoul
13057         This is like the strtoll change.
13058         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
13059         (Depends-on): Remove strtoul.
13060
13061         strtoll: remove dependency on strtol
13062         This is so that 'configure' need not check for strtol merely because
13063         the application needs strtoll.
13064         * modules/strtoll (Files): Add lib/strtol.c.
13065         (Depends-on): Remove strtol.
13066
13067 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13068
13069         inttypes: Move some configure check to module 'imaxdiv'.
13070         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
13071         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
13072         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
13073
13074 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13075
13076         inttypes: Move some configure check to module 'imaxabs'.
13077         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
13078         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
13079         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
13080
13081 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13082
13083         inttypes: Remove configure tests that are not needed since 2009-12-31.
13084         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
13085         gl_cv_header_working_inttypes_h.
13086
13087 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
13088
13089         * modules/strnlen (Depends-on): Remove memchr.
13090         The strnlen implementation doesn't need the memchr module's fixes; see
13091         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
13092
13093         strtol: remove dependency on wchar
13094         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
13095         * modules/strtol (Depends-on): Remove wchar.
13096
13097 2011-04-21  Eric Blake  <eblake@redhat.com>
13098
13099         passfd: fix test regression on Linux
13100         * modules/passfd-tests (configure.ac): Correct socketpair check.
13101
13102         passfd: speed up configure and drop unused code
13103         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
13104         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
13105         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
13106         Instead of probing at configure for unix_scm_rights_bsd44_way,
13107         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
13108         check to a struct member probe.
13109         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
13110         (sendfd, recvfd): Update preprocessor checks.
13111         * modules/passfd (Files): Reflect rename, and drop unused file.
13112         (Depends-on): Drop unused dependency.
13113
13114         passfd: allow compilation on mingw
13115         * modules/sys_socket (Depends-on): Add sys_uio.
13116         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
13117         iovec and a minimal struct msghdr.
13118         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
13119         * tests/test-sys_socket.c (main): Enhance test.
13120         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
13121         guaranteed to provide what we need.
13122         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
13123         * modules/passfd-tests (Depends-on): Add sys_wait.
13124         * tests/test-passfd.c (main): Skip test on mingw, for now.
13125         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
13126         partial 'struct msghdr' implementation.
13127
13128         sys_uio: new module
13129         * modules/sys_uio: New module.
13130         * modules/sys_uio-tests: Likewise.
13131         * lib/sys_uio.in.h: New file.
13132         * m4/sys_uio_h.m4: Likewise.
13133         * tests/test-sys_uio.c: Likewise.
13134         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
13135         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
13136
13137 2011-04-20  Jim Meyering  <meyering@redhat.com>
13138
13139         useless-if-before-free: avoid false-positive
13140         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
13141         disjunct so that it too requires a terminating ";".  Without that,
13142         this script would identify as useless one statement from gcc that
13143         was not:
13144           if (aligned_ptr)
13145             free (((void **) aligned_ptr) [-1]);
13146
13147 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
13148
13149         doc: update users.txt.
13150         * users.txt: Add barcode.
13151
13152 2011-04-19  Bruno Haible  <bruno@clisp.org>
13153
13154         ioctl: Remove link dependency on native Windows.
13155         * lib/fd-hook.h: Renamed from lib/close-hook.h.
13156         (gl_close_fn, gl_ioctl_fn): New types.
13157         (struct fd_hook): Renamed from struct close_hook. Change type of
13158         private_close_fn field. Add private_ioctl_fn field.
13159         (close_hook_fn): Add parameter for primary close method.
13160         (execute_close_hooks, execute_all_close_hooks): Likewise.
13161         (ioctl_hook_fn): New type.
13162         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
13163         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
13164         argument.
13165         (unregister_fd_hook): Renamed from unregister_close_hook.
13166         * lib/fd-hook.c: Renamed from lib/close-hook.c.
13167         Don't include <unistd.h>.
13168         (close): Remove undef.
13169         (anchor): Update.
13170         (execute_close_hooks): Add argument for primary close method.
13171         (execute_all_close_hooks): Likewise.
13172         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
13173         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
13174         argument. Allow each argument to be NULL.
13175         (unregister_fd_hook): Renamed from unregister_close_hook.
13176         * lib/close.c (rpl_close): Pass 'close' function pointer to
13177         execute_all_close_hooks.
13178         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
13179         (primary_ioctl): New function.
13180         (ioctl): Don't call ioctlsocket here. Instead, call
13181         execute_all_ioctl_hooks.
13182         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
13183         close method.
13184         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
13185         (fd_sockets_hook): Renamed from close_sockets_hook.
13186         (gl_sockets_startup, gl_sockets_cleanup): Update.
13187         * modules/fd-hook: Renamed from modules/close-hook. Update.
13188         * modules/close (Depends-on): Add fd-hook, remove close-hook.
13189         * modules/sockets (Depends-on): Likewise.
13190         * modules/ioctl (Depends-on): Add fd-hook.
13191         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
13192         GNULIB_SOCKET.
13193
13194 2011-04-19  Bruno Haible  <bruno@clisp.org>
13195
13196         Move the support of O_NONBLOCK in open() to the 'open' module.
13197         * modules/nonblocking (Depends-on): Remove 'open'.
13198         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
13199         gl_cv_have_open_O_NONBLOCK.
13200         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
13201         O_NONBLOCK support.
13202         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
13203
13204 2011-04-17  Bruno Haible  <bruno@clisp.org>
13205
13206         pipe2: Simplify code.
13207         * lib/pipe2.c (pipe2): Reduce code duplication.
13208
13209 2011-04-17  Bruno Haible  <bruno@clisp.org>
13210
13211         nonblocking: Add comment.
13212         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
13213
13214 2011-04-17  Bruno Haible  <bruno@clisp.org>
13215
13216         nonblocking: Add tests for sockets.
13217         * tests/test-nonblocking-socket.sh: New file.
13218         * tests/test-nonblocking-socket-main.c: New file.
13219         * tests/test-nonblocking-socket-child.c: New file.
13220         * tests/test-nonblocking-socket.h: New file.
13221         * tests/socket-server.h: New file.
13222         * tests/socket-client.h: New file.
13223         * modules/nonblocking-socket-tests: New file.
13224         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
13225
13226 2011-04-17  Bruno Haible  <bruno@clisp.org>
13227
13228         nonblocking: Add tests for pipes.
13229         * tests/test-nonblocking-pipe.sh: New file.
13230         * tests/test-nonblocking-pipe-main.c: New file.
13231         * tests/test-nonblocking-pipe-child.c: New file.
13232         * tests/test-nonblocking-pipe.h: New file.
13233         * tests/test-nonblocking-writer.h: New file.
13234         * tests/test-nonblocking-reader.h: New file.
13235         * tests/test-nonblocking-misc.h: New file.
13236         * modules/nonblocking-pipe-tests: New file.
13237         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
13238
13239 2011-04-16  Bruno Haible  <bruno@clisp.org>
13240
13241         gettext: Clarify the needed programmer actions.
13242         * modules/gettext (Notice): New field.
13243         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
13244
13245 2011-04-16  Bruno Haible  <bruno@clisp.org>
13246
13247         strchrnul: Tweak last commit.
13248         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
13249         bug.
13250         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
13251         as in _GL_FUNCDECL_SYS.
13252         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
13253         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
13254
13255 2011-04-15  Eric Blake  <eblake@redhat.com>
13256
13257         strchrnul: work around cygwin bug
13258         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
13259         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
13260         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
13261         * modules/string (Makefile.am): Substitute it.
13262         * lib/string.in.h (strchrnul): Use it.
13263
13264 2011-04-15  Bruno Haible  <bruno@clisp.org>
13265
13266         Don't require lib/stdio-write.c when only module 'stdio' is used.
13267         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
13268         invocation.
13269         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
13270
13271 2011-04-14  Bruno Haible  <bruno@clisp.org>
13272
13273         Support non-blocking pipe I/O in read() on native Windows.
13274         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
13275         (read): New declaration.
13276         * lib/read.c: New file.
13277         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
13278         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
13279         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
13280         vscanf): New declarations.
13281         * lib/stdio-read.c: New file.
13282         * m4/read.m4: New file.
13283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
13284         REPLACE_READ.
13285         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
13286         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
13287         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
13288         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
13289         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
13290         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
13291         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
13292         * modules/read: New file.
13293         * modules/nonblocking (Files): Add lib/stdio-read.c.
13294         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
13295         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
13296         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
13297         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
13298         * modules/pread (Depends-on): Add read.
13299         * modules/safe-read (Depends-on): Likewise.
13300         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
13301         gets, scanf, vfscanf, vscanf): Verify signatures.
13302         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
13303         problem with non-blocking pipes.
13304         * doc/posix-functions/fgetc.texi: Likewise.
13305         * doc/posix-functions/fgets.texi: Likewise.
13306         * doc/posix-functions/fread.texi: Likewise.
13307         * doc/posix-functions/fscanf.texi: Likewise.
13308         * doc/posix-functions/getc.texi: Likewise.
13309         * doc/posix-functions/getchar.texi: Likewise.
13310         * doc/posix-functions/gets.texi: Likewise.
13311         * doc/posix-functions/scanf.texi: Likewise.
13312         * doc/posix-functions/vfscanf.texi: Likewise.
13313         * doc/posix-functions/vscanf.texi: Likewise.
13314
13315 2011-04-14  Bruno Haible  <bruno@clisp.org>
13316
13317         Support non-blocking pipe I/O in write() on native Windows.
13318         * lib/write.c (rpl_write): Split a write request that failed merely
13319         because the byte count was larger than the pipe buffer's size.
13320         * doc/posix-functions/write.texi: Mention the problem with large byte
13321         counts.
13322
13323 2011-04-14  Bruno Haible  <bruno@clisp.org>
13324
13325         wchar: Ensure that wchar_t gets defined on uClibc.
13326         * lib/wchar.in.h: On uClibc, include <stddef.h>.
13327         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
13328
13329 2011-04-13  Bruno Haible  <bruno@clisp.org>
13330
13331         safe-write, full-read: Avoid unnecessary compilation units.
13332         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
13333         (Depends-on): Remove safe-read. Add ssize_t.
13334         * modules/full-read (Files): Add lib/full-write.c.
13335         (Depends-on): Add full-write.
13336
13337 2011-04-13  Bruno Haible  <bruno@clisp.org>
13338
13339         Support non-blocking pipe I/O and SIGPIPE in pwrite().
13340         * modules/pwrite (Depends-on): Add 'write'.
13341
13342 2011-04-13  Bruno Haible  <bruno@clisp.org>
13343
13344         Support non-blocking pipe I/O in write() on native Windows.
13345         * lib/unistd.in.h (write): Enable replacement also if
13346         GNULIB_UNISTD_H_NONBLOCKING is 1.
13347         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
13348         (rpl_write): When failing to write on a non-blocking pipe, change
13349         errno from ENOSPC to EAGAIN.
13350         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
13351         putchar, puts, vfprintf, vprintf): Enable replacement also if
13352         GNULIB_STDIO_H_NONBLOCKING is 1.
13353         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
13354         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
13355         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
13356         CALL_WITH_SIGPIPE_EMULATION.
13357         (CALL_WITH_SIGPIPE_EMULATION): Use them.
13358         * m4/nonblocking.m4: New file.
13359         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
13360         for non-blocking I/O support.
13361         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13362         GNULIB_UNISTD_H_NONBLOCKING.
13363         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
13364         required for non-blocking I/O support.
13365         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
13366         * modules/nonblocking (Files): Add m4/nonblocking.m4,
13367         lib/stdio-write.c, m4/asm-underscore.m4.
13368         (Depends-on): Add stdio, unistd.
13369         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
13370         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
13371         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
13372         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
13373         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
13374         problem with non-blocking pipes.
13375         * doc/posix-functions/fputc.texi: Likewise.
13376         * doc/posix-functions/fputs.texi: Likewise.
13377         * doc/posix-functions/fwrite.texi: Likewise.
13378         * doc/posix-functions/printf.texi: Likewise.
13379         * doc/posix-functions/putc.texi: Likewise.
13380         * doc/posix-functions/putchar.texi: Likewise.
13381         * doc/posix-functions/puts.texi: Likewise.
13382         * doc/posix-functions/vfprintf.texi: Likewise.
13383         * doc/posix-functions/vprintf.texi: Likewise.
13384         * doc/posix-functions/write.texi: Likewise.
13385
13386 2011-04-10  Jim Meyering  <meyering@redhat.com>
13387
13388         maint.mk: prohibit doubled words
13389         Detect them also when they're separated by a newline.
13390         There are 3 ways to customize it:
13391           - disable the test on a per file basis, as usual with rules using
13392             $(VC_LIST_EXCEPT)
13393           - replace the default doubled-word-selecting regexp (affects all files)
13394           - ignore a particular file-vs-doubled-word match
13395         I nearly used that last one to ignore the "is is" match in
13396         coreutils' NEWS file, since the text was "ls -is is ..."
13397         To do that, I would have added this line to cfg.mk:
13398           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
13399         but it would have ignored any "is is" match in NEWS.
13400         Low probability, but still...
13401         Instead, I changed the text, slightly:
13402           -  ls -is is now consistent with ls -lis in ignoring values returned
13403           +  "ls -is" is now consistent with ls -lis in ignoring values returned
13404         * top/maint.mk (prohibit_double_word_RE_): Provide default.
13405         (prohibit_doubled_word_): Define.
13406         (sc_prohibit_doubled_word): New rule.
13407         (sc_prohibit_the_the): Remove.  Subsumed by the above.
13408
13409 2011-04-10  Jim Meyering  <meyering@redhat.com>
13410
13411         maint: fix doubled-word typo in comment
13412         * m4/gethostname.m4: s/is is/it is/
13413         * m4/getdomainname.m4: Likewise.
13414
13415 2011-04-10  Jim Meyering  <meyering@redhat.com>
13416
13417         maint: remove doubled word: s/it it/it/
13418         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
13419
13420 2011-04-10  Jim Meyering  <meyering@redhat.com>
13421
13422         maint.mk: remove useless semicolon and backslash
13423         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
13424         semicolon and backslash.
13425
13426 2011-04-10  Bruno Haible  <bruno@clisp.org>
13427
13428         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
13429         * modules/stdint-tests (Depends-on): Add wchar.
13430
13431 2011-04-10  Jim Meyering  <meyering@redhat.com>
13432
13433         maint: remove doubled words in comments, e.g., s/a a/a/
13434         * lib/strptime.c (day_of_the_week): s/the the/the/
13435         * tests/test-chown.h (test_chown): s/a a/a/
13436
13437         test-chown.h: correct a cast
13438         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
13439         when the destination is a stat.st_gid.
13440
13441 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
13442
13443         getaddrinfo: Fix test for sa_len member.
13444         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
13445         include <sys/types.h> before <sys/socket.h>.
13446
13447 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13448
13449         maint: change "can not" to "cannot"
13450         * doc/posix-functions/iconv.texi (iconv): This one crossed line
13451         boundaries.
13452
13453 2011-04-09  Jim Meyering  <meyering@redhat.com>
13454
13455         maint: change "a a" to "a"
13456         * tests/test-lchown.h (test_lchown): s/a a/a/
13457
13458         maint.mk: prohibit \<the the\>
13459         * top/maint.mk (sc_prohibit_the_the): New rule.
13460
13461         maint: fix "the the" in comment
13462         * lib/count-one-bits.h: s/the the/the/
13463
13464         maint: change "can not" to "cannot"
13465         But do not change the occurrences in maintain.texi or in
13466         build-aux/po/Makefile.in.in, which I presume comes from gettext.
13467         * doc/gnulib-tool.texi: s/can not/cannot/
13468         * doc/posix-functions/accept.texi (accept): Likewise.
13469         * doc/posix-functions/socket.texi (socket): Likewise.
13470         * lib/mbrtowc.c: Likewise.
13471
13472         maint.mk: prohibit use of "can not"
13473         * top/maint.mk (sc_prohibit_can_not): New rule.
13474         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
13475
13476 2011-04-09  Bruno Haible  <bruno@clisp.org>
13477
13478         careadlinkat: Guard against misuse of careadlinkatcwd.
13479         * lib/careadlinkat.c: Include <stdlib.h>.
13480         (careadlinkatcwd): Check that the fd argument is as expected.
13481
13482 2011-04-09  Bruno Haible  <bruno@clisp.org>
13483
13484         careadlinkat: Use common coding style.
13485         * lib/careadlinkat.c: Move gnulib includes after system includes.
13486
13487 2011-04-09  Bruno Haible  <bruno@clisp.org>
13488
13489         careadlinkat: Clarify specification.
13490         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
13491         (careadlinkatcwd): Add comment.
13492         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
13493
13494 2011-04-09  Bruno Haible  <bruno@clisp.org>
13495
13496         areadlinkat: Avoid link error on many platforms.
13497         * modules/areadlinkat (Depends-on): Add areadlink.
13498
13499 2011-04-09  Bruno Haible  <bruno@clisp.org>
13500
13501         allocator, careadlinkat: Fix double-inclusion guard.
13502         * lib/allocator.h: Fix double-inclusion guard.
13503         * lib/careadlinkat.h: Likewise.
13504
13505 2011-04-09  Bruno Haible  <bruno@clisp.org>
13506
13507         relocatable-prog-wrapper: Update after module 'areadlink' changed.
13508         * lib/relocwrapper.c: Update dependencies hierarchy.
13509         * build-aux/install-reloc: Update list of files to be compiled.
13510         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
13511         lib/allocator.[hc].
13512
13513 2011-04-08  Eric Blake  <eblake@redhat.com>
13514
13515         strftime: silence gnulib-tool warning
13516         * modules/strftime-tests (Depends-on): Drop automatic dependency.
13517
13518 2011-04-08  Bruno Haible  <bruno@clisp.org>
13519
13520         verify: Fix syntax error with GCC 4.6 in C++ mode.
13521         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
13522         (HAVE_STATIC_ASSERT): New macro.
13523         (verify_true, verify): Use 'static_assert' if it is supported and
13524         '_Static_assert' is not supported.
13525
13526 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
13527
13528         allocator: New module.
13529         * modules/allocator, lib/allocator.c: New files.
13530         * lib/allocator.h (stdlib_allocator): New decl.
13531         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
13532         Remove.  Do not include <stdlib.h>.
13533         (careadlinkat): Use stdlib_allocator instead of rolling our own.
13534         * modules/careadlinkat (Files): Remove lib/allocator.h.
13535         (Depends-on): Add allocator.
13536
13537         stdlib: let modules use system malloc, realloc
13538         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
13539         if !_GL_USE_STDLIB_ALLOC.
13540         (malloc, realloc): Limit this change to a smaller scope.
13541
13542         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
13543         (malloc, realloc): Don't #undef; no longer needed.
13544         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
13545         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
13546         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
13547         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
13548         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
13549         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
13550         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
13551         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
13552
13553         careadlinkat: rename members to avoid problem
13554         * lib/allocator.h (struct allocator): Rename members from
13555         malloc/realloc to allocate/reallocate, to avoid problems if malloc
13556         and realloc are #define'd.  Reported by Eric Blake in
13557         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
13558         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
13559
13560 2011-04-08  Eric Blake  <eblake@redhat.com>
13561
13562         nonblocking: reduce dependency
13563         * tests/test-nonblocking.c: Only test sockets when in use.
13564         * modules/nonblocking-tests (Depends-on): Drop socket.
13565         (Makefile.am): Link even if sockets are not present.
13566         * modules/pipe2-tests (Makefile.am): Likewise.
13567         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
13568
13569         pipe2: fix O_NONBLOCK support on mingw
13570         * modules/pipe2 (Depends-on): Add nonblocking.
13571         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
13572         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
13573         * tests/test-nonblocking.c (main): Likewise.
13574         * modules/pipe2-tests (Makefile.am): Avoid link failure.
13575
13576         fcntl-h: fix O_ACCMODE on cygwin
13577         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
13578         * lib/fcntl.in.h (O_ACCMODE): Fix it.
13579
13580         pipe-filter: drop O_NONBLOCK workarounds
13581         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
13582         * modules/pipe-filter-ii (Depends-on): Likewise.
13583         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
13584
13585         nonblocking: provide O_NONBLOCK for mingw
13586         * modules/nonblocking (Depends-on): Add open.
13587         (configure.ac): Set new witness macro.
13588         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
13589         * modules/fcntl-h (Makefile.am): Substitute it.
13590         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
13591         nonblocking module is in use.
13592         * lib/nonblocking.c: Adjust portability test.
13593         * lib/open.c (open): Don't let native open see gnulib flag.
13594         * tests/test-fcntl-h.c (main): Enhance test.
13595         * tests/test-open.h (test_open): Likewise.
13596         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
13597
13598         careadlinkat: fix compilation error on mingw
13599         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
13600         within struct allocator.
13601
13602 2011-04-06  Eric Blake  <eblake@redhat.com>
13603
13604         binary-io: relicense under LGPLv2+
13605         * modules/binary-io (License): Relax to LGPLv2+.
13606         Requested for libvirt, and required by pipe2.
13607
13608 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
13609
13610         verify: use _Static_assert if available
13611         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
13612         (verify_true, verify): Use it if available.  This generates better
13613         diagnostics with GCC 4.6.0 and later.
13614
13615 2011-04-05  Bruno Haible  <bruno@clisp.org>
13616
13617         Remove leftover generated .h files after config.status changed.
13618
13619         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
13620         GL_GENERATE_ALLOCA_H.
13621         * modules/alloca-opt (Makefile.am): Remove alloca.h if
13622         GL_GENERATE_ALLOCA_H evaluates to false.
13623
13624         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
13625         GL_GENERATE_ARGZ_H.
13626         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
13627         evaluates to false.
13628
13629         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
13630         GL_GENERATE_BYTESWAP_H.
13631         * modules/byteswap (Makefile.am): Remove byteswap.h if
13632         GL_GENERATE_BYTESWAP_H evaluates to false.
13633
13634         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
13635         GL_GENERATE_ERRNO_H.
13636         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
13637         evaluates to false.
13638
13639         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
13640         GL_GENERATE_FLOAT_H.
13641         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
13642         evaluates to false.
13643
13644         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
13645         GL_GENERATE_FNMATCH_H.
13646         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
13647         GL_GENERATE_FNMATCH_H evaluates to false.
13648
13649         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
13650         GL_GENERATE_GLOB_H.
13651         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
13652         evaluates to false.
13653
13654         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
13655         automake conditional GL_GENERATE_ICONV_H.
13656         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
13657         evaluates to false.
13658
13659         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
13660         GL_GENERATE_NETINET_IN_H.
13661         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
13662         GL_GENERATE_NETINET_IN_H evaluates to false.
13663
13664         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
13665         conditional GL_GENERATE_PTHREAD_H.
13666         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
13667         * modules/pthread (Makefile.am): Remove pthread.h if
13668         GL_GENERATE_PTHREAD_H evaluates to false.
13669
13670         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
13671         GL_GENERATE_SCHED_H.
13672         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
13673         evaluates to false.
13674
13675         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
13676         conditional GL_GENERATE_SELINUX_CONTEXT_H.
13677         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
13678         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
13679
13680         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
13681         GL_GENERATE_STDARG_H.
13682         * modules/stdarg (Makefile.am): Remove stdarg.h if
13683         GL_GENERATE_STDARG_H evaluates to false.
13684
13685         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
13686         GL_GENERATE_STDBOOL_H.
13687         * modules/stdbool (Makefile.am): Remove stdbool.h if
13688         GL_GENERATE_STDBOOL_H evaluates to false.
13689
13690         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
13691         conditional GL_GENERATE_STDDEF_H.
13692         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
13693         * modules/stddef (Makefile.am): Remove stddef.h if
13694         GL_GENERATE_STDDEF_H evaluates to false.
13695
13696         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
13697         GL_GENERATE_STDINT_H.
13698         * modules/stdint (Makefile.am): Remove stdint.h if
13699         GL_GENERATE_STDINT_H evaluates to false.
13700
13701         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
13702         GL_GENERATE_SYSEXITS_H.
13703         * modules/sysexits (Makefile.am): Remove sysexits.h if
13704         GL_GENERATE_SYSEXITS_H evaluates to false.
13705
13706         Reported by Karl Berry and Ralf Wildenhues.
13707
13708 2011-04-05  Bruno Haible  <bruno@clisp.org>
13709
13710         Ensure to rebuild generated .h files when config.status has changed.
13711         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
13712         config.status.
13713         * modules/ctype (Makefile.am): Likewise.
13714         * modules/dirent (Makefile.am): Likewise.
13715         * modules/errno (Makefile.am): Likewise.
13716         * modules/fcntl-h (Makefile.am): Likewise.
13717         * modules/float (Makefile.am): Likewise.
13718         * modules/getopt-posix (Makefile.am): Likewise.
13719         * modules/glob (Makefile.am): Likewise.
13720         * modules/iconv-h (Makefile.am): Likewise.
13721         * modules/inttypes (Makefile.am): Likewise.
13722         * modules/langinfo (Makefile.am): Likewise.
13723         * modules/locale (Makefile.am): Likewise.
13724         * modules/math (Makefile.am): Likewise.
13725         * modules/netdb (Makefile.am): Likewise.
13726         * modules/netinet_in (Makefile.am): Likewise.
13727         * modules/poll-h (Makefile.am): Likewise.
13728         * modules/pthread (Makefile.am): Likewise.
13729         * modules/pty (Makefile.am): Likewise.
13730         * modules/sched (Makefile.am): Likewise.
13731         * modules/search (Makefile.am): Likewise.
13732         * modules/selinux-h (Makefile.am): Likewise.
13733         * modules/signal (Makefile.am): Likewise.
13734         * modules/spawn (Makefile.am): Likewise.
13735         * modules/stdarg (Makefile.am): Likewise.
13736         * modules/stdbool (Makefile.am): Likewise.
13737         * modules/stddef (Makefile.am): Likewise.
13738         * modules/stdint (Makefile.am): Likewise.
13739         * modules/stdio (Makefile.am): Likewise.
13740         * modules/stdlib (Makefile.am): Likewise.
13741         * modules/string (Makefile.am): Likewise.
13742         * modules/strings (Makefile.am): Likewise.
13743         * modules/sys_file (Makefile.am): Likewise.
13744         * modules/sys_ioctl (Makefile.am): Likewise.
13745         * modules/sys_select (Makefile.am): Likewise.
13746         * modules/sys_socket (Makefile.am): Likewise.
13747         * modules/sys_stat (Makefile.am): Likewise.
13748         * modules/sys_time (Makefile.am): Likewise.
13749         * modules/sys_times (Makefile.am): Likewise.
13750         * modules/sys_utsname (Makefile.am): Likewise.
13751         * modules/sys_wait (Makefile.am): Likewise.
13752         * modules/sysexits (Makefile.am): Likewise.
13753         * modules/termios (Makefile.am): Likewise.
13754         * modules/time (Makefile.am): Likewise.
13755         * modules/unistd (Makefile.am): Likewise.
13756         * modules/wchar (Makefile.am): Likewise.
13757         * modules/wctype-h (Makefile.am): Likewise.
13758         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
13759
13760 2011-04-05  Bruno Haible  <bruno@clisp.org>
13761
13762         pipe2: Relicense under LGPLv2+.
13763         * modules/pipe2 (License): Change to LGPLv2+.
13764         Requested by Eric Blake, for libvirt.
13765
13766 2011-04-05  Bruce Korb  <bkorb@gnu.org>
13767
13768         bootstrap: compute gnulib_extra_files after updating build_aux
13769         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
13770         change build_aux or also supply gnulib_extra_files.  Handle correctly.
13771
13772 2011-04-05  Eric Blake  <eblake@redhat.com>
13773
13774         bootstrap: preserve git whitelist item sorting
13775         * build-aux/bootstrap (sort_patterns): New function.
13776         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
13777
13778 2011-04-05  Simon Josefsson  <simon@josefsson.org>
13779
13780         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
13781         sc_space_tab check.
13782
13783 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
13784
13785         areadlink, areadlinkat: rewrite in terms of careadlinkat
13786         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
13787         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
13788         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
13789         (malloc, realloc): Remove #undefs.
13790         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
13791         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
13792         readlink, ssize_t, stdint, unistd.
13793         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
13794         areadlink, stdint.
13795
13796         careadlinkat: new module
13797         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
13798         * modules/careadlinkat: New files, written by me with
13799         a review and feedback from Ben Pfaff in
13800         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
13801
13802 2011-04-01  Bruno Haible  <bruno@clisp.org>
13803
13804         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
13805         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
13806         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
13807         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
13808         Reported by Bruce Korb <bruce.korb@gmail.com>.
13809
13810 2011-04-01  Bruno Haible  <bruno@clisp.org>
13811
13812         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
13813         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
13814         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
13815         * modules/wcpcpy (Depends-on): Add extensions.
13816         * modules/wcpncpy (Depends-on): Likewise.
13817         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
13818         systems.
13819         * doc/posix-functions/wcpncpy.texi: Likewise.
13820         * doc/posix-functions/wcwidth.texi: Likewise.
13821
13822 2011-03-31  Eric Blake  <eblake@redhat.com>
13823
13824         nonblocking: fix mingw test failures
13825         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
13826         non-blocking flag on regular file.
13827         (get_nonblocking_flag): Set errno on invalid fd.
13828         * tests/test-nonblocking.c (main): Avoid test failure on
13829         directories if fchdir is not active.
13830         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
13831
13832 2011-03-31  Bruno Haible  <bruno@clisp.org>
13833
13834         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
13835         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
13836         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
13837         Reported by Simon Josefsson <simon@josefsson.org>.
13838
13839 2011-03-31  Bruno Haible  <bruno@clisp.org>
13840         and Eric Blake  <eblake@redhat.com>
13841
13842         nonblocking: new module
13843         * modules/nonblocking: New module.
13844         * modules/nonblocking-tests: Likewise.
13845         * lib/nonblocking.h: New file.
13846         * lib/nonblocking.c: Likewise.
13847         * tests/test-nonblocking.c: New test.
13848         * lib/ioctl.c (ioctl) [mingw]: Update comment.
13849
13850 2011-03-30  Bruno Haible  <bruno@clisp.org>
13851
13852         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
13853         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
13854         instead of 'printf' format for GCC >= 4.4.
13855         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
13856         (fprintf, printf, vfprintf, vprintf): Declare with
13857         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
13858         the system's vfprintf() function.
13859         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
13860
13861 2011-03-30  Eric Blake  <eblake@redhat.com>
13862
13863         passfd: fix scoping bug
13864         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
13865         before sendmsg/recvmsg.
13866
13867         passfd: standardize coding conventions
13868         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
13869         can be learned at compile time.
13870         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
13871         ifdefs.
13872         (sendfd, recvfd): Follow gnulib code conventions.
13873
13874         passfd: fix incorrect sendmsg arguments
13875         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
13876         incorrect msg_controllen value.
13877         * modules/passfd-tests (Depends-on): Check for alarm.
13878         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
13879         Reported by Bastien ROUCARIES.
13880
13881 2011-03-30  Bruno Haible  <bruno@clisp.org>
13882
13883         c-strcasestr: Relicense under LGPLv2+.
13884         * modules/c-strcasestr (License): Change to LGPLv2+.
13885         Requested by Eric Blake, for libvirt.
13886
13887 2011-03-30  Simon Josefsson  <simon@josefsson.org>
13888
13889         * users.txt: Add libidn2.  Fix libtasn1 link.
13890
13891 2011-03-30  Jim Meyering  <meyering@redhat.com>
13892
13893         tests: readlink* ("",... fails with EINVAL on newer kernels
13894         readlink and readlinkat have typically failed with ENOENT for
13895         the invalid, empty file name,  "".  However, with the advent
13896         of linux-2.6.39, they fail with EINVAL.
13897         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
13898         when operating on the empty file name.
13899         * tests/test-readlink.h (test_readlink): Likewise.
13900
13901 2011-03-29  Bruno Haible  <bruno@clisp.org>
13902
13903         Relicense some modules under LGPLv2+, for libidn2.
13904         * modules/array-mergesort (License): Change to LGPLv2+.
13905         * modules/c-strcaseeq (License): Likewise.
13906         * modules/striconveh (License): Likewise.
13907         * modules/striconveha (License): Likewise.
13908         * modules/uniconv/base (License): Likewise.
13909         * modules/uniconv/u8-conv-from-enc (License): Likewise.
13910         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
13911         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
13912         * modules/unictype/base (License): Likewise.
13913         * modules/unictype/bidiclass-of (License): Likewise.
13914         * modules/unictype/category-M (License): Likewise.
13915         * modules/unictype/category-none (License): Likewise.
13916         * modules/unictype/category-of (License): Likewise.
13917         * modules/unictype/category-test (License): Likewise.
13918         * modules/unictype/category-test-withtable (License): Likewise.
13919         * modules/unictype/combining-class (License): Likewise.
13920         * modules/unictype/joiningtype-of (License): Likewise.
13921         * modules/unictype/scripts (License): Likewise.
13922         * modules/uninorm/base (License): Likewise.
13923         * modules/uninorm/canonical-decomposition (License): Likewise.
13924         * modules/uninorm/composition (License): Likewise.
13925         * modules/uninorm/decompose-internal (License): Likewise.
13926         * modules/uninorm/decomposition-table (License): Likewise.
13927         * modules/uninorm/nfc (License): Likewise.
13928         * modules/uninorm/nfd (License): Likewise.
13929         * modules/uninorm/u32-normalize (License): Likewise.
13930         * modules/unistr/base (License): Likewise.
13931         * modules/unistr/u32-cpy (License): Likewise.
13932         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
13933         * modules/unistr/u32-to-u8 (License): Likewise.
13934         * modules/unistr/u32-uctomb (License): Likewise.
13935         * modules/unistr/u8-check (License): Likewise.
13936         * modules/unistr/u8-mblen (License): Likewise.
13937         * modules/unistr/u8-mbtouc (License): Likewise.
13938         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
13939         * modules/unistr/u8-mbtoucr (License): Likewise.
13940         * modules/unistr/u8-prev (License): Likewise.
13941         * modules/unistr/u8-strlen (License): Likewise.
13942         * modules/unistr/u8-to-u32 (License): Likewise.
13943         * modules/unistr/u8-uctomb (License): Likewise.
13944         * modules/unitypes (License): Likewise.
13945         Requested by Simon Josefsson.
13946
13947 2011-03-29  Simon Josefsson  <simon@josefsson.org>
13948
13949         lib-symbol-visibility: Add a notice.
13950         * modules/lib-symbol-visibility (Notice): New field.
13951
13952 2011-03-29  Bruno Haible  <bruno@clisp.org>
13953
13954         getaddrinfo: Doc fix.
13955         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
13956         section "fixed in Gnulib".
13957
13958 2011-03-28  Simon Josefsson  <simon@josefsson.org>
13959
13960         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
13961         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
13962
13963 2011-03-26  Bruno Haible  <bruno@clisp.org>
13964
13965         unictype/property-byname: Reduce the number of load-time relocations.
13966         * lib/unictype/pr_byname.c: Include <stdlib.h>.
13967         (UC_PROPERTY_INDEX_*): New enumeration values.
13968         (uc_property_byname): Convert an index from the lookup table to an
13969         uc_property_t.
13970         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
13971         values.
13972
13973 2011-03-26  Bruno Haible  <bruno@clisp.org>
13974
13975         unictype/property-byname: Allow omitted word separators and aliases.
13976         * lib/unictype/pr_byname.gperf: Add property names without word
13977         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
13978         for 'space'.
13979
13980 2011-03-26  Bruno Haible  <bruno@clisp.org>
13981
13982         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
13983         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
13984         also hyphens to space.
13985         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
13986         without spaces.
13987         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
13988
13989 2011-03-26  Bruno Haible  <bruno@clisp.org>
13990
13991         unictype/joiningtype-byname: Recognize long names as well.
13992         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
13993         a long name.
13994         * lib/unictype/joiningtype_byname.c: Include <string.h>,
13995         unictype/joiningtype_byname.h.
13996         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
13997         * lib/unictype/joiningtype_byname.gperf: New file.
13998         * modules/unictype/joiningtype-byname (Files): Add
13999         lib/unictype/joiningtype_byname.gperf.
14000         (Depends-on): Add gperf.
14001         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
14002         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
14003         long names.
14004
14005         Tests for module 'unictype/joiningtype-longname'.
14006         * modules/unictype/joiningtype-longname-tests: New file.
14007         * tests/unictype/test-joiningtype_longname.c: New file.
14008
14009         New module 'unictype/joiningtype-longname'.
14010         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
14011         * lib/unictype/joiningtype_longname.c: New file.
14012         * modules/unictype/joiningtype-longname: New file.
14013         * modules/unictype/joiningtype-all (Depends-on): Add
14014         unictype/joiningtype-longname.
14015
14016 2011-03-26  Bruno Haible  <bruno@clisp.org>
14017
14018         unictype/bidiclass-byname: Recognize long names as well.
14019         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
14020         name.
14021         * lib/unictype/bidi_byname.c: Include <string.h>,
14022         unictype/bidi_byname.h.
14023         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
14024         * lib/unictype/bidi_byname.gperf: New file.
14025         * modules/unictype/bidiclass-byname (Files): Add
14026         lib/unictype/bidi_byname.gperf.
14027         (Depends-on): Add gperf.
14028         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
14029         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
14030         long names.
14031
14032         Tests for module 'unictype/bidiclass-longname'.
14033         * modules/unictype/bidiclass-longname-tests: New file.
14034         * tests/unictype/test-bidi_longname.c: New file.
14035
14036         New module 'unictype/bidiclass-longname'.
14037         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
14038         * lib/unictype/bidi_longname.c: New file.
14039         * modules/unictype/bidiclass-longname: New file.
14040         * modules/unictype/bidiclass-all (Depends-on): Add
14041         unictype/bidiclass-longname.
14042
14043 2011-03-26  Bruno Haible  <bruno@clisp.org>
14044
14045         unictype/bidi*: Rename modules.
14046         * modules/unictype/bidiclass-all: Renamed from
14047         modules/unictype/bidicategory-all.
14048         * modules/unictype/bidiclass-name: Renamed from
14049         modules/unictype/bidiclass-name.
14050         (Description): Update.
14051         * modules/unictype/bidiclass-name-tests: Renamed from
14052         modules/unictype/bidicategory-name-tests.
14053         * modules/unictype/bidiclass-byname: Renamed from
14054         modules/unictype/bidicategory-byname.
14055         (Description): Update.
14056         * modules/unictype/bidiclass-byname-tests: Renamed from
14057         modules/unictype/bidicategory-byname-tests.
14058         * modules/unictype/bidiclass-of: Renamed from
14059         modules/unictype/bidicategory-of.
14060         (Description): Update.
14061         * modules/unictype/bidiclass-of-tests: Renamed from
14062         modules/unictype/bidicategory-of-tests.
14063         * modules/unictype/bidiclass-test: Renamed from
14064         modules/unictype/bidicategory-test.
14065         (Description): Update.
14066         * modules/unictype/bidiclass-test-tests: Renamed from
14067         modules/unictype/bidicategory-test-tests.
14068         * modules/unictype/bidicategory-all: New file, a simple redirection.
14069         * modules/unictype/bidicategory-name: Likewise.
14070         * modules/unictype/bidicategory-byname: Likewise.
14071         * modules/unictype/bidicategory-of: Likewise.
14072         * modules/unictype/bidicategory-test: Likewise.
14073         * modules/unictype/property-bidi-* (Dependencies): Update.
14074         * lib/unictype/bidi_*.c: Update comment.
14075
14076 2011-03-26  Bruno Haible  <bruno@clisp.org>
14077
14078         unictype/bidi*: Rename functions, part 2.
14079         * modules/unictype/bidicategory-name (configure.ac): Update required
14080         libunistring version.
14081         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
14082
14083 2011-03-25  Bruno Haible  <bruno@clisp.org>
14084
14085         New module 'unictype/combining-class-all'.
14086         * modules/unictype/combining-class-all: New file.
14087
14088         Tests for module 'unictype/combining-class-byname'.
14089         * modules/unictype/combining-class-byname-tests: New file.
14090         * tests/unictype/test-combiningclass_byname.c: New file.
14091
14092         New module 'unictype/combining-class-byname'.
14093         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
14094         * lib/unictype/combiningclass_byname.c: New file.
14095         * lib/unictype/combiningclass_byname.gperf: New file.
14096         * modules/unictype/combining-class-byname: New file.
14097
14098         Tests for module 'unictype/combining-class-longname'.
14099         * modules/unictype/combining-class-longname-tests: New file.
14100         * tests/unictype/test-combiningclass_longname.c: New file.
14101
14102         New module 'unictype/combining-class-longname'.
14103         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
14104         * lib/unictype/combiningclass_longname.c: New file.
14105         * modules/unictype/combining-class-longname: New file.
14106
14107         Tests for module 'unictype/combining-class-name'.
14108         * modules/unictype/combining-class-name-tests: New file.
14109         * tests/unictype/test-combiningclass_name.c: New file.
14110
14111         New module 'unictype/combining-class-name'.
14112         * lib/unictype.in.h (uc_combining_class_name): New declaration.
14113         * lib/unictype/combiningclass_name.c: New file.
14114         * modules/unictype/combining-class-name: New file.
14115
14116 2011-03-25  Bruno Haible  <bruno@clisp.org>
14117
14118         unictype/combining-class: Rename source files.
14119         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
14120         of unictype/combining.h.
14121         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
14122         Update.
14123         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
14124         * modules/unictype/combining-class (Description): Fix.
14125         (Files, Makefile.am): Update.
14126         * tests/unictype/test-combiningclass.c: Renamed from
14127         tests/unictype/test-combining.c.
14128         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
14129
14130 2011-03-25  Bruno Haible  <bruno@clisp.org>
14131
14132         unictype: Update list of canonical combining classes.
14133         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
14134
14135 2011-03-25  Bruno Haible  <bruno@clisp.org>
14136
14137         unictype/category-byname: Recognize long names as well.
14138         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
14139         a long name.
14140         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
14141         unictype/categ_byname.h.
14142         (UC_CATEGORY_INDEX_*): New enumeration values.
14143         (uc_general_category_byname): Use uc_general_category_lookup and
14144         convert from index to value.
14145         * lib/unictype/categ_byname.gperf: New file.
14146         * modules/unictype/category-byname (Files): Add
14147         lib/unictype/categ_byname.gperf.
14148         (Depends-on): Add gperf.
14149         (Makefile.am): Add rule for generating unictype/categ_byname.h.
14150         * tests/unictype/test-categ_byname.c (main): Test the recognition of
14151         long names.
14152
14153         Tests for module 'unictype/category-longname'.
14154         * modules/unictype/category-longname-tests: New file.
14155         * tests/unictype/test-categ_longname.c: New file.
14156
14157         New module 'unictype/category-longname'.
14158         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
14159         * lib/unictype/categ_longname.c: New file.
14160         * modules/unictype/category-longname: New file.
14161         * modules/unictype/category-all (Depends-on): Add it.
14162
14163 2011-03-25  Bruno Haible  <bruno@clisp.org>
14164
14165         Tests for module 'unictype/category-LC'.
14166         * modules/unictype/category-LC-tests: New file.
14167         * tests/unictype/test-categ_LC.c: New file, automatically generated.
14168
14169         New module 'unictype/category-LC'.
14170         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
14171         (UC_CATEGORY_LC): New declaration.
14172         (UC_CASED_LETTER): New macro.
14173         * lib/gen-uni-tables.c (is_category_LC): New function.
14174         (output_categories): Also handle category LC.
14175         (UC_CATEGORY_MASK_LC): New enumeration value.
14176         (general_category_byname): Also handle category LC.
14177         * lib/unictype/categ_LC.c: New file.
14178         * lib/unictype/categ_LC.h: New file, automatically generated.
14179         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
14180         category LC.
14181         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
14182         * modules/unictype/category-LC: New file.
14183         * modules/unictype/category-byname (Depends-on): Add
14184         unictype/category-LC.
14185         * modules/unictype/category-all (Depends-on): Likewise.
14186
14187 2011-03-25  Eric Blake  <eblake@redhat.com>
14188
14189         xmalloc: revert yesterday's regression
14190         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
14191         realloc's underlying behavior (allowing allocation of zero-size
14192         objects, especially if malloc-gnu is also in use).
14193
14194 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
14195
14196         maint.mk: add missing version to VC-tag
14197         * top/maint.mk: git tag was missing actual tag name; add it.
14198
14199         valgrind: do leak checking, and exit with code 1 on error (not 0)
14200         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
14201         to VALGRIND.
14202
14203 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
14204
14205         posix-modules: say what it does.
14206         * posix-modules: Add a line to the --help output saying what it does.
14207
14208 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
14209
14210         xmalloc: Do not leak if underlying realloc is C99 compatible.
14211         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
14212         This avoids a leak on C99-based systems.  See
14213         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
14214
14215 2011-03-24  Eric Blake  <eblake@redhat.com>
14216
14217         realloc: document portability problem
14218         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
14219         passing 0 size to realloc.
14220
14221 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
14222
14223         doc: update users.txt
14224         * users.txt: Add cvsps, tmpwatch
14225
14226 2011-03-23  Matt Rice  <ratmice@gmail.com>
14227
14228         doc: update users.txt
14229         * users.txt: Add gdb.
14230
14231 2011-03-23  Jim Meyering  <meyering@redhat.com>
14232
14233         doc: update users.txt
14234         Looking through matches up to the following URL (there are still
14235         several more pages), I found several projects that use gnulib:
14236         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
14237         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
14238         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
14239
14240 2011-03-22  Bruno Haible  <bruno@clisp.org>
14241
14242         unictype/bidi*: Rename functions.
14243         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
14244         uc_bidi_class, uc_is_bidi_class): New declarations.
14245         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
14246         uc_bidi_category_byname.
14247         (uc_bidi_category_byname): New function.
14248         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
14249         u_bidi_category_name.
14250         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
14251         (uc_bidi_category_name): New function.
14252         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
14253         uc_bidi_category.
14254         (uc_bidi_category): New function.
14255         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
14256         uc_is_bidi_category. Invoke uc_bidi_class.
14257         (uc_is_bidi_category): New function.
14258         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
14259         instead of uc_bidi_category_byname.
14260         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
14261         instead of uc_bidi_category_name.
14262         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
14263         uc_bidi_category.
14264         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
14265         instead of uc_is_bidi_category.
14266
14267 2011-03-21  Bruno Haible  <bruno@clisp.org>
14268
14269         New module 'unictype/joininggroup-all'.
14270         * modules/unictype/joininggroup-all: New file.
14271
14272         Tests for module 'unictype/joininggroup-of'.
14273         * modules/unictype/joininggroup-of-tests: New file.
14274         * tests/unictype/test-joininggroup_of.c: New file.
14275         * tests/unictype/test-joininggroup_of.h: New file, automatically
14276         generated by gen-uni-tables.
14277
14278         New module 'unictype/joininggroup-of'.
14279         * modules/unictype/joininggroup-of: New file.
14280         * lib/unictype/joininggroup_of.c: New file.
14281         * lib/unictype/joininggroup_of.h: New file, automatically generated by
14282         gen-uni-tables.
14283
14284         Tests for module 'unictype/joininggroup-byname'.
14285         * modules/unictype/joininggroup-byname-tests: New file.
14286         * tests/unictype/test-joininggroup_byname.c: New file.
14287
14288         New module 'unictype/joininggroup-byname'.
14289         * modules/unictype/joininggroup-byname: New file.
14290         * lib/unictype/joininggroup_byname.c: New file.
14291         * lib/unictype/joininggroup_byname.gperf: New file.
14292
14293         Tests for module 'unictype/joininggroup-name'.
14294         * modules/unictype/joininggroup-name-tests: New file.
14295         * tests/unictype/test-joininggroup_name.c: New file.
14296
14297         New module 'unictype/joininggroup-name'.
14298         * modules/unictype/joininggroup-name: New file.
14299         * lib/unictype/joininggroup_name.c: New file.
14300         * lib/unictype/joininggroup_name.h: New file.
14301
14302         New module 'unictype/joiningtype-all'.
14303         * modules/unictype/joiningtype-all: New file.
14304
14305         Tests for module 'unictype/joiningtype-of'.
14306         * modules/unictype/joiningtype-of-tests: New file.
14307         * tests/unictype/test-joiningtype_of.c: New file.
14308         * tests/unictype/test-joiningtype_of.h: New file, automatically
14309         generated by gen-uni-tables.
14310
14311         New module 'unictype/joiningtype-of'.
14312         * modules/unictype/joiningtype-of: New file.
14313         * lib/unictype/joiningtype_of.c: New file.
14314         * lib/unictype/joiningtype_of.h: New file, automatically generated by
14315         gen-uni-tables.
14316
14317         Tests for module 'unictype/joiningtype-byname'.
14318         * modules/unictype/joiningtype-byname-tests: New file.
14319         * tests/unictype/test-joiningtype_byname.c: New file.
14320
14321         New module 'unictype/joiningtype-byname'.
14322         * modules/unictype/joiningtype-byname: New file.
14323         * lib/unictype/joiningtype_byname.c: New file.
14324
14325         Tests for module 'unictype/joiningtype-name'.
14326         * modules/unictype/joiningtype-name-tests: New file.
14327         * tests/unictype/test-joiningtype_name.c: New file.
14328
14329         New module 'unictype/joiningtype-name'.
14330         * modules/unictype/joiningtype-name: New file.
14331         * lib/unictype/joiningtype_name.c: New file.
14332
14333         unictype: Add support for Arabic shaping properties.
14334         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
14335         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
14336         declarations.
14337         (UC_JOINING_GROUP_*): New enumeration values.
14338         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
14339         declarations.
14340         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
14341         (unicode_joining_type): New variable.
14342         (UC_JOINING_GROUP_*): New enumeration values.
14343         (unicode_joining_group): New variable.
14344         (fill_arabicshaping, joining_type_as_c_identifier,
14345         output_joining_type_test, output_joining_type,
14346         joining_group_as_c_identifier, output_joining_group_test,
14347         output_joining_group): New functions.
14348         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
14349         fill_arabicshaping and output_joining_type_test, output_joining_type,
14350         output_joining_group_test, output_joining_group.
14351         Reported by Simon Josefsson.
14352
14353 2011-03-21  Jim Meyering  <meyering@redhat.com>
14354
14355         strftime: fix a bug in yesterday's change
14356         * lib/strftime.c (add): Accommodate width's initial value of -1.
14357         Otherwise, nstrftime would copy uninitialized data into
14358         the result buffer.
14359
14360 2011-03-21  Jim Meyering  <meyering@redhat.com>
14361
14362         tests: add strftime-tests module
14363         * tests/test-strftime.c: New file.
14364         * modules/strftime-tests: New module.
14365
14366 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
14367
14368         strftime: don't assume a byte count fits in 'int'
14369         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
14370         found this problem by static analysis, using gcc -Wstrict-overflow
14371         (GCC 4.5.2, x86-64).  This reported an optimization that depended
14372         on an integer overflow having undefined behavior, but it turns out
14373         that the argument is a size, which might not fit in 'int' anyway,
14374
14375 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
14376
14377         stdio: don't require ignore_value around fwrite
14378
14379         This patch works around libc bug 11959
14380         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
14381         Without this patch, applications must often write
14382         ignore_value (fwrite (...)) even though the ignore_value is
14383         not helpful here.  It's common to write many objects, using
14384         fwrite/printf/etc., and then use ferror to detect output error.
14385
14386         I considered making this patch optional, but decided against it,
14387         because libc is obviously being inconsistent here: there is no
14388         reason libc should insist that user code must inspect fwrite
14389         return's value without also insisting that it inspect printf's,
14390         putchar's, etc.  If user code wants to have a strict style where
14391         all these functions' values are checked (so that ferror need not
14392         be checked), we could add support for that style in a new gnulib
14393         module, but in the meantime it's better to be consistent and to
14394         support common usage.
14395
14396         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
14397         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
14398         that we are compiling in checking mode, and if not C++, and
14399         if not already wrapping fwrite for some other reason.
14400         (fwrite): #define to rpl_fwrite if the latter is defined.
14401
14402 2011-03-20  Bruno Haible  <bruno@clisp.org>
14403
14404         verror: Fix compilation error introduced on 2011-02-13.
14405         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
14406         instead of __attribute__.
14407         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14408
14409 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
14410             Bruno Haible  <bruno@clisp.org>
14411
14412         socklen: do not depend on sys_socket
14413         While trying to modify Emacs to use gnulib's socklen module,
14414         I discovered a circular dependency: socklen depends on sys_socket
14415         and vice versa.  Emacs can use socklen, but it does not need
14416         sys_socket because it has its own substitute for sys/socket.h.
14417         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
14418         gl_TYPE_SOCKLEN_T.
14419         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
14420         gl_PREREQ_SYS_H_SOCKET.
14421         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
14422         gl_PREREQ_SYS_H_SOCKET.
14423         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
14424         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
14425         * modules/socklen (Depends-on): Do not depend on sys_socket.
14426         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
14427
14428 2011-03-20  Jim Meyering  <meyering@redhat.com>
14429
14430         maint.mk: sort file names *after* new transformation
14431         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
14432         prefix would have led to an unwarranted failure in GNU parted.
14433         Sort after that transformation.
14434
14435 2011-03-19  Jim Meyering  <meyering@redhat.com>
14436
14437         maint.mk: fix po-file syntax-check rule
14438         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
14439         Patch by Bruno Haible.
14440
14441 2011-03-19  Bruno Haible  <bruno@clisp.org>
14442
14443         socklen: Update comment.
14444         * m4/socklen.m4: Update comment about platforms.
14445
14446 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
14447             Bruno Haible  <bruno@clisp.org>
14448
14449         inet_ntop, inet_pton: Simplify.
14450         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
14451         documented to provide socklen_t and we already depend on sys_socket.
14452         * modules/inet_pton (Depends-on): Likewise.
14453         * lib/arpa_inet.in.h: Adjust comment.
14454
14455 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
14456             Bruno Haible  <bruno@clisp.org>
14457
14458         netdb: Simplify.
14459         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
14460         documented to provide socklen_t and we already depend on sys_socket.
14461         * lib/netdb.in.h: Adjust comment.
14462
14463 2011-03-19  Bruno Haible  <bruno@clisp.org>
14464
14465         sys_socket, netdb: Document problem with socklen_t.
14466         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
14467         platforms.
14468         * doc/posix-headers/netdb.texi: Likewise.
14469
14470 2011-03-18  Eric Blake  <eblake@redhat.com>
14471
14472         maint.mk: let po check work in VPATH build
14473         * top/maint.mk (po_file): Allow cfg.mk override.
14474         (sc_po_check): Allow VPATH use.
14475         Reported by Jiri Denemark.
14476
14477 2011-03-16  Jim Meyering  <meyering@redhat.com>
14478
14479         maint.mk: allow fine-grained syntax-check exclusion via Make variables
14480         Before, you would have had to create one .x-sc_ file per rule in order
14481         to exempt offending files.  Now, you may instead use a Make variable --
14482         usually defined in cfg.mk -- whose name identifies the affected rule.
14483         * top/maint.mk (_sc_excl): Define.
14484         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
14485         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
14486
14487 2011-03-13  Bruno Haible  <bruno@clisp.org>
14488
14489         ignore-value tests: Avoid warnings.
14490         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
14491         empty for gcc < 3.4.
14492
14493 2011-03-13  Bruno Haible  <bruno@clisp.org>
14494
14495         passfd: Fix link error on Solaris.
14496         * modules/passfd (Description): Correct.
14497         (Depends-on): Add socketlib.
14498         (Link): New section.
14499         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
14500
14501 2011-03-13  Bruno Haible  <bruno@clisp.org>
14502
14503         passfd: Fix link error on AIX 5.2.
14504         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
14505
14506 2011-03-13  Bruno Haible  <bruno@clisp.org>
14507
14508         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
14509         * lib/sys_socket.in.h: Include <stddef.h>.
14510         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
14511         CMSG_FIRSTHDR. Remove unused variable.
14512
14513 2011-03-13  Bruno Haible  <bruno@clisp.org>
14514
14515         passfd: Fix compilation error on OpenBSD.
14516         * lib/passfd.c: Include <sys/uio.h>.
14517
14518 2011-03-13  Bruno Haible  <bruno@clisp.org>
14519
14520         passfd test: Fix warnings.
14521         * tests/test-passfd.c: Include <sys/wait.h>.
14522         (main): Fix typo.
14523
14524 2011-03-13  Bruno Haible  <bruno@clisp.org>
14525
14526         passfd module, part 4, tweaks.
14527         * tests/test-passfd.c: Reorder includes.
14528         (main): Fix perror and printf calls.
14529
14530 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
14531
14532         passfd module, part 4.
14533         * modules/passfd-tests: New file.
14534         * tests/test-passfd.c: New file.
14535
14536 2011-03-13  Jim Meyering  <meyering@redhat.com>
14537
14538         Makefile: rely on GNU make; derive syntax-check rule names
14539         Rather than requiring that each sc_ rule be listed as a dependent
14540         of "check", use features of GNU make to derive the list.
14541         * Makefile (syntax-check-rules): Define.
14542         (check): Depend on the new variable, not the hard-coded list.
14543
14544 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
14545             Bruno Haible  <bruno@clisp.org>
14546
14547         passfd module, part 3.
14548         * lib/passfd.h (recvfd): Add a flags argument.
14549         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
14550         (recvfd): Add a flags argument.
14551         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
14552         exists.
14553         * modules/passfd (Depends-on): Add cloexec.
14554         Suggested by Eric Blake.
14555
14556 2011-03-13  Bruno Haible  <bruno@clisp.org>
14557
14558         passfd module, part 2, tweaks.
14559         * modules/passfd (Files): Reorder.
14560         (Depends-on): Remove errno.
14561         (Include): Remove <sys/socket.h>, <sys/un.h>.
14562         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
14563         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
14564         specification header. Include <sys/socket.h> always. Don't include
14565         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
14566         (sendfd): Clarify that it sets errno when it fails.
14567         (recvfd): Fix specification.
14568
14569 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
14570
14571         passfd module, part 2.
14572         * modules/passfd: New file.
14573         * lib/passfd.h: New file.
14574         * lib/passfd.c: New file.
14575
14576 2011-03-12  Bruno Haible  <bruno@clisp.org>
14577
14578         wcswidth, mbswidth: Avoid integer overflow.
14579         * lib/wcswidth.c: Include <limits.h>.
14580         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
14581         * lib/mbswidth.c: Include <limits.h>.
14582         (mbsnwidth): Avoid 'int' overflow.
14583         Reported by Jim Meyering.
14584
14585 2011-03-12  Bruno Haible  <bruno@clisp.org>
14586
14587         futimens, utimensat: Avoid endless recursion on Solaris 10.
14588         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
14589         Solaris.
14590         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
14591         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
14592
14593 2011-03-11  Jim Meyering  <meyering@redhat.com>
14594
14595         maint.mk: relax a regexp to accommodate other formatting styles
14596         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
14597         between "ngettext" and the following "(".
14598
14599 2011-03-11  Pádraig Brady <P@draigBrady.com>
14600
14601         maint.mk: suppress a false positive warning
14602         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
14603         diagnostics are marked with ngettext.
14604
14605 2011-03-10  Eric Blake  <eblake@redhat.com>
14606
14607         wchar: add explicit dependencies, for Tru64
14608         * modules/mbmemcasecoll (Depends-on): Add wchar.
14609         * modules/mbtowc (Depends-on): Likewise.
14610         * modules/vasnprintf (Depends-on): Likewise.
14611         * modules/unistdio/u-printf-args (Depends-on): Likewise.
14612         * modules/wctomb (Depends-on): Likewise.
14613         Reported by Peter O'Gorman.
14614
14615 2011-03-08  Bruno Haible  <bruno@clisp.org>
14616
14617         passfd module, part 1, tweaks.
14618         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
14619         Improve indentation. Improve AC_MSG_CHECKING messages.
14620         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
14621         gl_SOCKET_FAMILIES.
14622
14623 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
14624
14625         passfd module, part 1.
14626         * m4/afunix.m4: New file.
14627         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
14628         sockets.
14629
14630 2011-03-08  Bruno Haible  <bruno@clisp.org>
14631
14632         regex-quote: New API.
14633         * lib/regex-quote.h: Include <stdbool.h>.
14634         (struct regex_quote_spec): New type.
14635         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
14636         New declarations.
14637         (regex_quote_length, regex_quote_copy, regex_quote): Take a
14638         'const struct regex_quote_spec *' argument.
14639         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
14640         (pcre_special): New constant.
14641         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
14642         New functions.
14643         (regex_quote_length, regex_quote_copy, regex_quote): Take a
14644         'const struct regex_quote_spec *' argument.
14645         * modules/regex-quote (Depends-on): Add stdbool.
14646         * tests/test-regex-quote.c (check): Update for new API. Add test for
14647         anchored results.
14648         * NEWS: Mention the API change.
14649         Reported by Reuben Thomas and Eric Blake.
14650
14651 2011-03-06  Bruno Haible  <bruno@clisp.org>
14652
14653         regex-quote: Fix creation of POSIX extended regular expressions.
14654         * lib/regex-quote.c (ere_special): Add grouping and alternation
14655         operators.
14656
14657 2011-03-05  Bruno Haible  <bruno@clisp.org>
14658
14659         doc: Improve doc regarding autopoint vs. gnulib.
14660         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
14661         disable autopoint while running autoreconf.
14662         Suggested by Ralf Wildenhues.
14663
14664 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14665
14666         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
14667         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
14668
14669 2011-03-03  Bruce Korb  <bkorb@gnu.org>
14670
14671         parse-duration: remove xalloc.h dependency
14672         * lib/parse-duration.c (parse_period): handle NULL return from
14673         strdup instead of calling xstrdup().
14674         * modules/parse-duration: remove "xalloc" dependency
14675
14676 2011-03-03  Matthew Booth  <mbooth@redhat.com>
14677
14678         bootstrap: honor m4_base when running aclocal
14679         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
14680
14681 2011-03-02  Jim Meyering  <meyering@redhat.com>
14682
14683         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
14684         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
14685         on request from Matt Booth.
14686
14687 2011-03-01  Eric Blake  <eblake@redhat.com>
14688
14689         test-link: work on Hurd
14690         * tests/test-link.h (test_link): Hurd rejects linking directories
14691         with EISDIR instead of the POSIX-mandated EPERM.
14692
14693 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
14694
14695         stdio: simplify by moving files to printf-posix, sigpipe
14696         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
14697         since this symbol is needed only if printf is replaced.
14698         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
14699         Require gl_ASM_SYMBOL_PREFIX.
14700         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
14701         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
14702         (Depends-on): Add 'raise'.
14703         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
14704         * modules/stdio (Files): Remove lib/stdio-write.c,
14705         m4/asm-underscore.m4.
14706         (Depends-on): Remove 'raise'.
14707
14708         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
14709         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
14710         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
14711         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
14712
14713 2011-02-28  Bruno Haible  <bruno@clisp.org>
14714
14715         localcharset: Assume ANSI C behaviour of free().
14716         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
14717         calling free().
14718         Suggested by Simon Josefsson <simon@josefsson.org>.
14719
14720 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
14721             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
14722             Bruno Haible  <bruno@clisp.org>  (tiny change)
14723
14724         On Cygwin, use /proc file system instead of win32 API.
14725         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
14726         Win32 file names.
14727         (DllMain): Simplify by removing Cygwin specific code.
14728         (find_shared_library_fullname): Use Linux specific implementation also
14729         for Cygwin.
14730         (get_shared_library_fullname): Update accordingly.
14731         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
14732         Win32 file names.
14733         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
14734         Cygwin specific code.
14735
14736 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
14737             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
14738
14739         Fix OpenMP flag detection for various Fortran compilers.
14740         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
14741         OpenMP-conditional compilation construct, to force compile
14742         failure with missing OpenMP flag.
14743         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
14744
14745 2011-02-25  Eric Blake  <eblake@redhat.com>
14746
14747         strstr: expand test coverage
14748         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
14749         compilation.
14750         * tests/test-memmem.c (main): Duplicate tests.
14751         * tests/test-strcasestr.c (main): Likewise.
14752         * tests/test-c-strcasestr.c (main): Likewise.
14753
14754 2011-02-25  Jim Meyering  <meyering@redhat.com>
14755
14756         maint.mk: detect missing-NL-at-EOF, too
14757         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
14758         it also detects when a file lacks a newline at EOF.
14759         (require_exactly_one_NL_at_EOF_): Renamed from
14760         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
14761         since people may well have .x-sc_... file names tied to the
14762         existing name.  Suggested by Eric Blake.
14763
14764 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
14765
14766         dirname: move m4/dos.m4 functionality into lib/dosname.h
14767
14768         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
14769         extracts symbols from it, puts them into config.h; but it's much
14770         easier to use the symbols directly.  filename.h already does this,
14771         but it disagrees with dos.m4 in some respects.  This patch
14772         introduces a different include file dosname.h that packages up
14773         dos.m4, and then later we can work on merging filename.h and
14774         dosname.h.  Applications that need only the easy-to-configure
14775         symbols should consider including dosname.h rather than dirname.h.
14776         * NEWS: Mention incompatible changes.
14777         * m4/dos.m4: Remove.
14778         * lib/dosname.h, modules/dosname: New files.
14779         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
14780         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
14781         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
14782         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
14783         Include dosname.h, not dirname.h.
14784         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
14785         Include dosname.h, for definitions of symbols like ISSLASH
14786         that used to be in config.h.
14787         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
14788         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
14789         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
14790         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
14791         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
14792         * modules/rmdir (Files): Likewise.
14793         * modules/stat (Files): Likewise.
14794         * modules/unlink (Files): Likewise.
14795         * modules/dirname-lgpl (Depends-on): Add dosname.
14796         * modules/lstat (Depends-on): Likewise.
14797         * modules/openat (Depends-on): Likewise.
14798         * modules/rmdir (Depends-on): Likewise.
14799         * modules/savewd (Depends-on): Likewise.
14800         * modules/stat (Depends-on): Likewise.
14801         * modules/unlink (Depends-on): Likewise.
14802         * modules/openat (Depends-on): Remove dirname-lgpl.
14803         * modules/savewd (Depends-on): Likewise.
14804         * tests/test-dirname.c: Do not use removed symbols like
14805         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
14806         the remaining symbols, e.g., ISSLASH ('\\').
14807
14808 2011-02-25  Eric Blake  <eblake@redhat.com>
14809
14810         strstr: revert patches that introduced bug and pessimization
14811         * lib/str-two-way.h: Add another reference.
14812         (two_way_short_needle, two_way_long_needle): Revert changes from
14813         2011-02-24; they pessimize search speed.
14814         (critical_factorization): Partially revert changes from
14815         2010-06-22; they violate the requirement that the left half of the
14816         needle be smaller than the period of the needle.
14817
14818 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14819
14820         filenamecat: remove unnecessary dependency on dirname-lgpl
14821         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
14822         is no direct dependency, just an indirect one via filenamecat-lgpl.
14823
14824         remove: remove unnecessary use of m4/dos.m4
14825         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
14826         * modules/remove (FILES): Remove m4/dos.m4.
14827
14828         * lib/openat-proc.c: Don't include dirname.h; not needed.
14829
14830         backupfile: remove unnecessary use of m4/dos.m4
14831         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
14832         of its symbols are used by the backupfile code.  backupfile.c does
14833         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
14834         for the rare case of programs that want all their backup file
14835         names to live within 8+3 limits, and dos.m4 doesn't address that.
14836         * modules/backupfile (Files): Remove m4/dos.m4.
14837
14838 2011-02-24  Jim Meyering  <meyering@redhat.com>
14839
14840         strstr: fix a bug whereby strstr would mistakenly return NULL
14841         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
14842         in period calculation.
14843         (two_way_long_needle): Likewise.
14844         The original problem was reported by Mike Stump in
14845         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
14846         Ralf Wildenhues provided the short needle and haystack.
14847         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
14848         Add a more involved test to trigger the bug in two_way_long_needle.
14849
14850 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
14851
14852         gnulib-tool: remove use of bold display in help screen
14853         * gnulib-tool (func_usage): Do not use bold display anymore in the
14854         help screen.  That was just meant to be a temporary emphasis for a
14855         backward-incompatible change.
14856
14857 2011-02-23  Bruno Haible  <bruno@clisp.org>
14858
14859         Fix misindentation of preprocessor directives.
14860         * lib/argp-namefrob.h: Reindent preprocessor directives.
14861         * lib/getopt_int.h (struct _getopt_data): Likewise.
14862         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
14863         * lib/vasnprintf.c (decode_long_double): Likewise.
14864         * tests/test-argmatch.c: Insert blank lines, for clarity.
14865         * tests/test-exclude.c: Likewise.
14866
14867 2011-02-22  Bruno Haible  <bruno@clisp.org>
14868
14869         ioctl: Fix for MacOS X in 64-bit mode.
14870         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
14871         value.
14872         Suggested by Eric Blake.
14873         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
14874
14875 2011-02-22  Jim Meyering  <meyering@redhat.com>
14876
14877         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
14878         * Makefile (sc_cpp_indent_check): Don't limit the check to files
14879         in lib/.
14880
14881 2011-02-22  Eric Blake  <eblake@redhat.com>
14882
14883         maint: avoid any CDPATH issue
14884         * Makefile (sc_cpp_indent_check): Anchor cd argument.
14885
14886         maint: adjust cpp indentation for my modules, as well
14887         * Makefile (sc_cpp_indent_check): Add my name.
14888         * lib/fbufmode.c: Filter through cppi.
14889         * lib/fpurge.c: Likewise.
14890         * lib/freadable.c: Likewise.
14891         * lib/freading.c: Likewise.
14892         * lib/fwritable.c: Likewise.
14893         * lib/fwriting.c: Likewise.
14894         * lib/sigaction.c: Likewise.
14895
14896 2011-02-22  Jim Meyering  <meyering@redhat.com>
14897
14898         maint: adjust cpp indentation to reflect nesting depth
14899         I.e., in a block of code that begins with an unnested "#if",
14900         put one space between the "#" in column 1 and following token.
14901         For example,
14902         -#include <sys/vfs.h>
14903         +# include <sys/vfs.h>
14904         Do this only in .c files that are part of a module I maintain.
14905         * lib/linkat.c: Filter through cppi.
14906         * lib/nanosleep.c: Likewise.
14907         * lib/openat.c: Likewise.
14908         * lib/openat-die.c: Likewise.
14909         * lib/dup3.c: Likewise.
14910         * lib/fchownat.c: Likewise.
14911         * lib/flock.c: Likewise.
14912         * lib/fsync.c: Likewise.
14913         * lib/fts.c: Likewise.
14914         * lib/getpass.c: Likewise.
14915         * lib/gettimeofday.c: Likewise.
14916         * lib/userspec.c: Likewise.
14917         * Makefile (sc_cpp_indent_check): New rule, to check this.
14918
14919 2011-02-22  Bruno Haible  <bruno@clisp.org>
14920
14921         New module 'wctomb'.
14922         * lib/stdlib.in.h (wctomb): New declaration.
14923         * lib/wctomb.c: New file.
14924         * lib/wctomb-impl.h: New file.
14925         * m4/wctomb.m4: New file.
14926         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
14927         REPLACE_WCTOMB.
14928         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
14929         REPLACE_WCTOMB.
14930         * modules/wctomb: New file.
14931         * tests/test-stdlib-c++.cc: Test signature of wctomb.
14932         * doc/posix-functions/wctomb.texi: Mention the new module.
14933         * modules/wctob (Depends-on): Add wctomb.
14934
14935 2011-02-22  Bruno Haible  <bruno@clisp.org>
14936
14937         New module 'mbtowc'.
14938         * lib/stdlib.in.h (mbtowc): New declaration.
14939         * lib/mbtowc.c: New file.
14940         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
14941         * m4/mbtowc.m4: New file.
14942         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
14943         REPLACE_MBTOWC.
14944         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
14945         REPLACE_MBTOWC.
14946         * modules/mbtowc: New file.
14947         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
14948         * doc/posix-functions/mbtowc.texi: Mention the new module.
14949         * modules/btowc (Depends-on): Add mbtowc.
14950
14951 2011-02-22  Bruno Haible  <bruno@clisp.org>
14952
14953         wcrtomb: Add more tests for native Windows platforms.
14954         * tests/test-wcrtomb-w32-1.sh: New file.
14955         * tests/test-wcrtomb-w32-2.sh: New file.
14956         * tests/test-wcrtomb-w32-3.sh: New file.
14957         * tests/test-wcrtomb-w32-4.sh: New file.
14958         * tests/test-wcrtomb-w32-5.sh: New file.
14959         * tests/test-wcrtomb-w32.c: New file.
14960         * modules/wcrtomb-tests (Files): Add them.
14961         (Makefile.am): Arrange to run these tests.
14962         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
14963         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
14964
14965 2011-02-20  Bruno Haible  <bruno@clisp.org>
14966
14967         wcrtomb: Enhance test.
14968         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
14969
14970 2011-02-20  Bruno Haible  <bruno@clisp.org>
14971
14972         mbrtowc: Tiny optimization.
14973         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
14974
14975 2011-02-20  Jim Meyering  <meyering@redhat.com>
14976
14977         test-exclude.c: remove unmatched #endif
14978         * tests/test-exclude.c: Remove stray #endif, left over from
14979         the change of a week ago.
14980
14981 2011-02-19  Jim Meyering  <meyering@redhat.com>
14982
14983         git-version-gen: skip "-dirty" check when appropriate
14984         * build-aux/git-version-gen: Don't run any git commands when the
14985         version string comes from .tarball-version.  Prior to this, we
14986         would run git update-index --refresh even from a just-unpacked
14987         tarball directory, and that could affect a .git/ directory in a
14988         parent of the build directory.  Reported by Mike Frysinger.
14989
14990 2011-02-19  Bruno Haible  <bruno@clisp.org>
14991
14992         unictype/property-byname: Reduce the size of the 'data' segment.
14993         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
14994
14995 2011-02-19  Bruno Haible  <bruno@clisp.org>
14996
14997         unictype/scripts: Reduce the size of the 'data' segment.
14998         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
14999         '%pic'.
15000         * lib/unictype/scripts_byname.gperf: Regenerated.
15001
15002 2011-02-19  Bruno Haible  <bruno@clisp.org>
15003
15004         stdint: Update documentation.
15005         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
15006
15007 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
15008
15009         stdint: omit redundant check for wchar.h
15010         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
15011         always tests whether wchar.h exists, so remove the now-redundant test.
15012
15013 2011-02-18  Bruno Haible  <bruno@clisp.org>
15014
15015         stdint: Cut dependency to module 'wchar'.
15016         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
15017         include the necessary prerequisites.
15018         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
15019         * modules/stdint (Depends-on): Remove wchar.
15020         (Makefile.am): Substitute HAVE_WCHAR_H.
15021         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
15022
15023 2011-02-18  Eric Blake  <eblake@redhat.com>
15024
15025         longlong: skip, rather than fail, on cross-compilation
15026         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
15027         when cross-compiling; regression from 2011-02-16.
15028
15029 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
15030
15031         * NEWS: Mention 2011-02-08 change to stdlib.
15032
15033 2011-02-17  Bruno Haible  <bruno@clisp.org>
15034
15035         getloadavg: Add comments about platforms.
15036         * m4/getloadavg.m4: Add comment.
15037         * lib/getloadavg.c: Likewise.
15038
15039 2011-02-17  Bruno Haible  <bruno@clisp.org>
15040
15041         getloadavg: Fix link error on Solaris 2.6.
15042         * modules/getloadavg (Link): New section.
15043         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
15044         linking test-getloadavg.
15045         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
15046         getloadavg.
15047
15048 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
15049
15050         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
15051         It was 'int', but this doesn't match the IRIX 6.5 manual.
15052         Suggested by Bruno Haible in
15053         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
15054
15055 2011-02-17  Bruno Haible  <bruno@clisp.org>
15056
15057         havelib: Fix comments.
15058         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
15059         change.
15060
15061 2011-02-17  Bruno Haible  <bruno@clisp.org>
15062
15063         havelib: Update config.rpath.
15064         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
15065
15066 2011-02-17  Bruno Haible  <bruno@clisp.org>
15067
15068         getloadavg test: Add some plausibility checks.
15069         * tests/test-getloadavg.c (check_avg): Print a warning when the value
15070         is improbable.
15071
15072 2011-02-16  Eric Blake  <eblake@redhat.com>
15073
15074         maintainer-makefile: make syntax-check a no-op from tarballs
15075         * top/maint.mk (no-vc-detected): New rule.
15076         (local-checks-available): Use it to avoid hanging if someone tries
15077         'make syntax-check' from a tarball.  Also append to any non-syntax
15078         checks already defined in cfg.mk.
15079
15080 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
15081
15082         longlong: tune, particularly for common case of c99
15083
15084         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
15085         or running anything if c99, or if unsigned long long int does not
15086         work.  In either case, we know the answer without further tests.
15087         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
15088         it at most once, and use its results for both long long int and
15089         unsigned long long int.  This is more likely to be efficient in
15090         the common case where the program wants to check for both long
15091         long int and unsigned long long int.
15092         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
15093         since the answer is already known.
15094
15095 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
15096
15097         getloadavg: set errno
15098         * lib/getloadavg.c: Set errno when returning -1.  If no other
15099         error number looks appropriate, set it to ENOSYS if the getloadavg
15100         looks like it can't possibly ever work, ENOTSUP otherwise.
15101         Suggested by Bruno Haible in
15102         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
15103
15104         getloadavg: trim unused parts and speed up 'configure'
15105         * NEWS: Document this.
15106         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
15107         always compiled if getloadavg is absent.
15108         Move test code to ...
15109         * tests/test-getloadavg.c: New file, containing previous
15110         contents of test from lib/getloadavg.c.  It also contains
15111         suggestions by Bruno Haible in
15112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
15113         * modules/getloadavg-tests: New file.
15114         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
15115         Do tests in the same order as they're needed for getloadavg.c.
15116         Omit setgid-related tests that generate symbols KMEM_GROUP,
15117         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
15118         Do only the tests that are needed to see whether the system has
15119         getloadavg, moving the other tests into ...
15120         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
15121         NLIST_NAME_UNION; nobody should be using it.  Do not define
15122         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
15123         relevant, as the user of this module shouldn't care how getloadavg
15124         is implemented.
15125
15126         getloadavg: omit unused var
15127         * lib/getloadavg.c (getloadavg): Omit unused local variable.
15128
15129 2011-02-15  Jim Meyering  <meyering@redhat.com>
15130
15131         doc: update users.txt
15132         * users.txt: Update iwhd's URL.
15133
15134 2011-02-13  Bruno Haible  <bruno@clisp.org>
15135
15136         Consistent macro naming for macros that use GCC __attribute__.
15137         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
15138         _ATTRIBUTE_NONNULL_.
15139         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
15140         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
15141         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
15142         ATTRIBUTE_DEPRECATED.
15143         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
15144         ATTRIBUTE_NORETURN.
15145         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
15146         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
15147         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
15148         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
15149         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
15150         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
15151         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
15152         ATTRIBUTE_SENTINEL.
15153         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
15154         ATTRIBUTE_RETURN_CHECK.
15155         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
15156         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
15157         ATTRIBUTE_NORETURN.
15158         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
15159         Reported by Paul Eggert.
15160
15161 2011-02-13  Bruno Haible  <bruno@clisp.org>
15162
15163         Don't interfere with a program's definition of __attribute__.
15164         * lib/argp.h (__attribute__): Remove definition.
15165         (_GL_ATTRIBUTE_FORMAT): New macro.
15166         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
15167         * lib/argp-fmtstream.h (__attribute__): Remove definition.
15168         (_GL_ATTRIBUTE_FORMAT): New macro.
15169         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
15170         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
15171         GCC 3 or newer.
15172         * lib/error.h (__attribute__): Remove definition.
15173         (_GL_ATTRIBUTE_FORMAT): New macro.
15174         (error, error_at_line): Use it.
15175         * lib/hash.h (__attribute__): Remove definition.
15176         (ATTRIBUTE_WUR): Update definition. Define always.
15177         * lib/openat.h (__attribute__): Remove definition.
15178         (ATTRIBUTE_NORETURN): Update definition. Define always.
15179         * lib/sigpipe-die.h (__attribute__): Remove definition.
15180         (ATTRIBUTE_NORETURN): Update definition. Define always.
15181         * lib/vasnprintf.h (__attribute__): Remove definition.
15182         (_GL_ATTRIBUTE_FORMAT): New macro.
15183         (asnprintf, vasnprintf): Use it.
15184         * lib/xalloc.h (__attribute__): Remove definition.
15185         (ATTRIBUTE_NORETURN): Update definition. Define always.
15186         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
15187         * lib/xmemdup0.h (__attribute__): Remove definition.
15188         (ATTRIBUTE_NORETURN): Update definition. Define always.
15189         * lib/xprintf.h (__attribute__): Remove definition.
15190         (_GL_ATTRIBUTE_FORMAT): New macro.
15191         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
15192         * lib/xstrtol.h (__attribute__): Remove definition.
15193         (ATTRIBUTE_NORETURN): Update definition. Define always.
15194         * lib/xvasprintf.h (__attribute__): Remove definition.
15195         (_GL_ATTRIBUTE_FORMAT): New macro.
15196         (xasprintf, xvasprintf): Use it.
15197         * tests/test-argmatch.c (__attribute__): Remove definition.
15198         (ATTRIBUTE_NORETURN): Update definition. Define always.
15199         * tests/test-exclude.c (__attribute__): Remove definition.
15200         (ATTRIBUTE_NORETURN): Update definition. Define always.
15201         Reported by Paul Eggert.
15202
15203 2011-02-13  Bruno Haible  <bruno@clisp.org>
15204
15205         mbrtowc: Add more tests for native Windows platforms.
15206         * tests/test-mbrtowc-w32-1.sh: New file.
15207         * tests/test-mbrtowc-w32-2.sh: New file.
15208         * tests/test-mbrtowc-w32-3.sh: New file.
15209         * tests/test-mbrtowc-w32-4.sh: New file.
15210         * tests/test-mbrtowc-w32-5.sh: New file.
15211         * tests/test-mbrtowc-w32.c: New file.
15212         * modules/mbrtowc-tests (Files): Add them.
15213         (Makefile.am): Arrange to run these tests.
15214         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
15215         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
15216
15217 2011-02-13  Bruno Haible  <bruno@clisp.org>
15218
15219         mbrtowc: Work around native Windows bug.
15220         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
15221         guess when no suitable locale for testing was found.
15222         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
15223
15224 2011-02-13  Bruno Haible  <bruno@clisp.org>
15225
15226         mbsinit: Work around mingw bug.
15227         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
15228         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
15229         Windows.
15230         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
15231
15232 2011-02-13  Bruno Haible  <bruno@clisp.org>
15233
15234         mbsinit: Don't crash for a NULL argument.
15235         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
15236         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
15237
15238 2011-02-13  Bruno Haible  <bruno@clisp.org>
15239
15240         Don't interfere with a program's definition of __attribute__.
15241         * lib/stdio.in.h (__attribute__): Remove definition.
15242         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
15243         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
15244         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
15245         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
15246         * lib/string.in.h (__attribute__): Remove definition.
15247         Reported by Paul Eggert.
15248
15249 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
15250
15251         stdlib: don't get in the way of non-GCC __attribute__
15252         See thread starting at
15253         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
15254         Revert previous stdlib change, installing the following instead:
15255         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
15256         to get in the way of a non-GCC compiler that supports __attribute__.
15257         (_GL_ATTRIBUTE_RETURN): New macro.
15258         (_Exit): Use it instead of __attribute__.
15259
15260 2011-02-12  Bruno Haible  <bruno@clisp.org>
15261
15262         quotearg test: Avoid test failure on mingw.
15263         * tests/test-quotearg.sh: Convert the locale identifier from native
15264         Windows syntax to Unix syntax.
15265
15266 2011-02-12  Bruno Haible  <bruno@clisp.org>
15267
15268         setlocale: Prefer gnulib's override over libintl's override.
15269         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
15270         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
15271         GNULIB_defined_setlocale is set.
15272
15273 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
15274
15275         stdlib: support non-GCC __attribute__
15276
15277         Fix a serious and tricky problem encountered when attempting to
15278         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
15279         5.5, but it crashed due to memory corruption on Solaris 10 with
15280         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
15281         bits that are otherwise zero.  This tagging is optional inside
15282         Emacs but is preferred and is used when __attribute__ ((__aligned
15283         (8))) works, as it does with both recent-enough GCC and with Sun C
15284         5.11.  However, Sun C 5.11 is not GCC and does not #define
15285         __GNUC__ and __GNUC_MINOR__.
15286
15287         When I added the getloadavg module to Emacs, it brought in
15288         stdlib.in.h, which contained this fragment:
15289
15290            #ifndef __attribute__
15291            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
15292            #  define __attribute__(Spec)   /* empty */
15293            # endif
15294            #endif
15295
15296         When files that include <stdlib.h> were compiled with Sun C 5.11,
15297         the above code disabled __attribute__ ((__aligned (8))), which
15298         caused variables to not be properly aligned, which eventually led
15299         to the pointer corruption mentioned above.  (This was a bit hard
15300         to diagnose, unfortunately.)
15301
15302         Several "#define __attribute__(X) /* empty */" code snippets need
15303         to be eradicated from Gnulib to work with non-GCC compilers that
15304         support __attribute__.  The Autoconf way to do this is to test for
15305         each kind of attribute that we want support for, and selectively
15306         enable that in source code.
15307
15308         Fix this problem just for stdlib.h, by adding a test for the
15309         __noreturn__ attribute, and change stdlib.in.h to use that test
15310         when needed.  This technique can be easily generalized to the
15311         other *.in.h files and attributes, and a similar technique can be
15312         used for *.h and *.c files.  This patch is enough to solve the
15313         problem for Emacs + getloadavg, and I thought I'd publish it for
15314         feedback before undertaking further, similar fixes in other
15315         modules.
15316
15317         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
15318         because it's not needed for stdlib.h.  It merely substitutes the
15319         value directly into stdlib.h.  We may well need to #define it, or
15320         similar symbols, for other modules, but it's nice to also have an
15321         option to not #define it for applications like Emacs that do not
15322         need it.
15323
15324         * lib/stdlib.in.h (__attribute__): Do not #define.
15325         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
15326         be defined only if the _Exit module is also used.
15327         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
15328         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
15329         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
15330         platforms.
15331         * modules/_Exit (Files): Add m4/attribute.m4.
15332         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
15333         * m4/attribute.m4: New file.
15334
15335 2011-02-12  Bruno Haible  <bruno@clisp.org>
15336
15337         wcsrtombs: Work around bug on native Windows.
15338         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
15339         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
15340         instead of len.
15341         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
15342
15343 2011-02-12  Bruno Haible  <bruno@clisp.org>
15344
15345         mbsrtowcs: Work around bug on native Windows.
15346         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
15347         against mingw bug.
15348         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
15349
15350 2011-02-12  Bruno Haible  <bruno@clisp.org>
15351
15352         Avoid setlocale bugs in tests.
15353         * modules/btowc (Dependencies): Add setlocale.
15354         * modules/c-strcase (Dependencies): Likewise.
15355         * modules/mbmemcasecmp (Dependencies): Likewise.
15356         * modules/mbmemcasecoll (Dependencies): Likewise.
15357         * modules/mbrtowc (Dependencies): Likewise.
15358         * modules/mbscasecmp (Dependencies): Likewise.
15359         * modules/mbscasestr (Dependencies): Likewise.
15360         * modules/mbschr (Dependencies): Likewise.
15361         * modules/mbscspn (Dependencies): Likewise.
15362         * modules/mbsinit (Dependencies): Likewise.
15363         * modules/mbsncasecmp (Dependencies): Likewise.
15364         * modules/mbsnrtowcs (Dependencies): Likewise.
15365         * modules/mbspbrk (Dependencies): Likewise.
15366         * modules/mbspcasecmp (Dependencies): Likewise.
15367         * modules/mbsrchr (Dependencies): Likewise.
15368         * modules/mbsrtowcs (Dependencies): Likewise.
15369         * modules/mbsspn (Dependencies): Likewise.
15370         * modules/mbsstr (Dependencies): Likewise.
15371         * modules/nl_langinfo (Dependencies): Likewise.
15372         * modules/quotearg (Dependencies): Likewise.
15373         * modules/unicase/locale-language (Dependencies): Likewise.
15374         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
15375         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
15376         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
15377         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
15378         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
15379         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
15380         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
15381         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
15382         * modules/vasnprintf-posix (Dependencies): Likewise.
15383         * modules/wcrtomb (Dependencies): Likewise.
15384         * modules/wcsnrtombs (Dependencies): Likewise.
15385         * modules/wcsrtombs (Dependencies): Likewise.
15386
15387 2011-02-12  Bruno Haible  <bruno@clisp.org>
15388
15389         setlocale: Workaround native Windows bug.
15390         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
15391         succeeds but sets LC_CTYPE to "C", report a failure.
15392         * tests/test-setlocale2.sh: New file.
15393         * tests/test-setlocale2.c: New file.
15394         * modules/setlocale-tests (Files): Add the new files.
15395         (Makefile.am): Enable test-setlocale2.sh test.
15396         * doc/posix-functions/setlocale.texi: Mention workaround.
15397
15398 2011-02-11  Bruno Haible  <bruno@clisp.org>
15399
15400         Tests for module 'setlocale'.
15401         * modules/setlocale-tests: New file.
15402         * tests/test-setlocale1.sh: New file.
15403         * tests/test-setlocale1.c: New file.
15404
15405         New module 'setlocale'.
15406         * lib/locale.in.h (setlocale): New declaration.
15407         * lib/setlocale.c: New file, based on
15408         gettext/gettext-runtime/intl/setlocale.c.
15409         * m4/setlocale.m4: New file.
15410         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
15411         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
15412         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
15413         REPLACE_SETLOCALE.
15414         * modules/setlocale: New file.
15415         * tests/test-locale-c++.cc: Test the declaration of setlocale.
15416         * doc/posix-functions/setlocale.texi: Mention the new module.
15417
15418 2011-02-11  Bruno Haible  <bruno@clisp.org>
15419
15420         Prepare for locale dependent tests on mingw.
15421         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
15422         because it has the wrong locale encoding.
15423         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
15424         French_France.1252 instead of "fr".
15425         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
15426         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
15427         because it has the wrong locale encoding.
15428         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
15429         native Windows, try Turkish_Turkey.65001.
15430         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
15431         Chinese_China.54936.
15432
15433         Prepare for locale dependent tests on mingw.
15434         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
15435         differently.
15436         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
15437         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
15438         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
15439         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
15440
15441 2011-02-11  Eric Blake  <eblake@redhat.com>
15442
15443         strptime: avoid compiler warnings
15444         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
15445         compiler warnings about dead code.
15446         Reported by Daniel P. Berrange.
15447
15448 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
15449
15450         doc: update users.txt
15451         * users.txt: Add rcs.
15452
15453 2011-02-10  John W. Eaton  <jwe@gnu.org>
15454
15455         doc: update users.txt
15456         * users.txt: Add octave.
15457
15458 2011-02-10  Jim Meyering  <meyering@redhat.com>
15459
15460         doc: update users.txt
15461         * users.txt: Add iwhd.
15462
15463 2011-02-09  Bruno Haible  <bruno@clisp.org>
15464
15465         gnulib-tool: Make copyright notice adjustment more robust.
15466         * gnulib-tool (func_import): In sed_transform_main_lib_file,
15467         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
15468         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
15469         License".
15470         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
15471
15472 2011-02-06  Bruno Haible  <bruno@clisp.org>
15473
15474         New module 'towctrans'.
15475         * modules/towctrans: New file.
15476         * lib/wctype.in.h (towctrans): New declaration.
15477         * lib/towctrans.c: New file.
15478         * lib/towctrans-impl.h: New file.
15479         * m4/towctrans.m4: New file.
15480         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
15481         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
15482         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
15483         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
15484         * doc/posix-functions/towctrans.texi: Mention the new module.
15485
15486 2011-02-06  Bruno Haible  <bruno@clisp.org>
15487
15488         New module 'wctrans'.
15489         * modules/wctrans: New file.
15490         * lib/wctype.in.h (wctrans): New declaration.
15491         * lib/wctrans.c: New file.
15492         * lib/wctrans-impl.h: New file.
15493         * m4/wctrans.m4: New file.
15494         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
15495         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
15496         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
15497         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
15498         * doc/posix-functions/wctrans.texi: Mention the new module.
15499
15500 2011-02-06  Bruno Haible  <bruno@clisp.org>
15501
15502         New module 'iswctype'.
15503         * modules/iswctype: New file.
15504         * lib/wctype.in.h (iswctype): New declaration.
15505         * lib/iswctype.c: New file.
15506         * lib/iswctype-impl.h: New file.
15507         * m4/iswctype.m4: New file.
15508         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
15509         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
15510         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
15511         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
15512         * doc/posix-functions/iswctype.texi: Mention the new module and the
15513         HP-UX 11.00 problem.
15514
15515 2011-02-06  Bruno Haible  <bruno@clisp.org>
15516
15517         New module 'wctype'.
15518         * modules/wctype: Change to represent the wctype() substitute.
15519         * lib/wctype.in.h (wctype): New declaration.
15520         * lib/wctype.c: New file.
15521         * lib/wctype-impl.h: New file.
15522         * m4/wctype.m4: New file.
15523         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
15524         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
15525         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
15526         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
15527         * doc/posix-functions/wctype.texi: Mention the new module and the
15528         HP-UX 11.00 problem.
15529
15530 2011-02-06  Bruno Haible  <bruno@clisp.org>
15531
15532         wctype-h: Ensure wctype_t and wctrans_t are defined.
15533         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
15534         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
15535         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
15536         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
15537         HAVE_WCTRANS_T.
15538         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
15539
15540 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
15541
15542         flock: fix license typo
15543
15544         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
15545         omitted.
15546
15547 2011-02-08  Bruno Haible  <bruno@clisp.org>
15548
15549         Split large sed scripts, for HP-UX sed.
15550         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
15551         to avoid HP-UX limit of 99 commands, in the near future.
15552         * modules/stdlib (Makefile.am): Likewise.
15553         * modules/unistd (Makefile.am): Likewise.
15554         * modules/wchar (Makefile.am): Likewise.
15555         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
15556         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
15557         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
15558
15559 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
15560             Bruno Haible  <bruno@clisp.org>
15561
15562         stdlib: improve random_r modularization
15563         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
15564         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
15565         you also need the random_r module to get this material right.
15566         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
15567         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
15568         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
15569
15570 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
15571
15572         stdlib: don't depend on stdint
15573         * lib/stdlib.in.h: Don't include <stdint.h> merely because
15574         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
15575         be independent of whether stdint.h is needed.
15576         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
15577         here, instead of ...
15578         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
15579         struct random_data should be using the random_r module, not just
15580         the stdlib module (which wouldn't make sense: what package needs
15581         just struct random_data without also needing random_r?).
15582         * modules/stdlib (Depends-on): Remove stdint.
15583
15584         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
15585         See the thread rooted at
15586         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
15587         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
15588         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
15589         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
15590         __VMS)); previously it was always included (via fcntl--.h).
15591         (getloadavg): Do not use c_strtod.  Instead, approximate it by
15592         hand; this is good enough for load averages.  Also, do not use
15593         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
15594         flags directly if available and don't bother otherwise.  (Packages
15595         that need the extra reliability should use the modules that define
15596         these flags on older platforms that lack them.)
15597         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
15598         fcntl-safer.
15599
15600 2011-02-08  Jim Meyering  <meyering@redhat.com>
15601
15602         di-set.h, ino-map.h: add multiple-inclusion guard
15603         Technically, the guard is required only for ino-map.h, due to its
15604         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
15605         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
15606         * lib/ino-map.h: Likewise.
15607
15608 2011-02-06  Bruno Haible  <bruno@clisp.org>
15609
15610         iswblank: Ensure declaration on glibc systems.
15611         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
15612         * modules/iswblank (Dependencies): Add 'extensions'.
15613         * doc/posix-functions/iswblank.texi: Document the glibc problem.
15614
15615 2011-02-06  Bruno Haible  <bruno@clisp.org>
15616
15617         New module 'iswblank'.
15618         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
15619         * modules/iswblank: New file.
15620         * modules/wctype-h (Files): Remove lib/iswblank.c.
15621         (Makefile.am): Substitute GNULIB_ISWBLANK.
15622         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
15623         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
15624         (gl_WCTYPE_H_DEFAULTS): New macro.
15625         (gl_WCTYPE_H): Require it. Remove iswblank related code.
15626         * modules/iswblank-tests: New file.
15627         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
15628         * tests/test-wctype-h.c (main): Remove iswblank tests.
15629         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
15630         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
15631         of 'wctype-h'.
15632         * NEWS: Mention the change.
15633         * modules/mbchar (Depends-on): Add iswblank.
15634
15635 2011-02-08  Bruno Haible  <bruno@clisp.org>
15636
15637         di-set tests: Refactor.
15638         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
15639         unnecessary includes.
15640         (ASSERT): Remove macro.
15641         (main): Make C90 compliant by avoiding variable declaration after
15642         statement.
15643         * modules/di-set-tests (Files): Add tests/macros.h.
15644
15645 2011-02-08  Bruno Haible  <bruno@clisp.org>
15646
15647         ino-map tests: Refactor.
15648         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
15649         unnecessary includes.
15650         (ASSERT): Remove macro.
15651         (main): Make C90 compliant by avoiding variable declaration after
15652         statement.
15653         * modules/ino-map-tests (Files): Add tests/macros.h.
15654
15655 2011-02-08  Jim Meyering  <meyering@redhat.com>
15656
15657         di-set: add "const" to a cast
15658         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
15659         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
15660
15661 2011-02-06  Bruno Haible  <bruno@clisp.org>
15662
15663         Rename module 'wctype' to 'wctype-h'.
15664         * modules/wctype-h: Renamed from modules/wctype.
15665         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
15666         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
15667         (Files, Depends-on, Makefile.am): Update.
15668         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
15669         (Files, Makefile.am): Update.
15670         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
15671         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
15672         * doc/posix-headers/wctype.texi: Update.
15673         * doc/posix-functions/iswalnum.texi: Update.
15674         * doc/posix-functions/iswalpha.texi: Update.
15675         * doc/posix-functions/iswblank.texi: Update.
15676         * doc/posix-functions/iswcntrl.texi: Update.
15677         * doc/posix-functions/iswdigit.texi: Update.
15678         * doc/posix-functions/iswgraph.texi: Update.
15679         * doc/posix-functions/iswlower.texi: Update.
15680         * doc/posix-functions/iswprint.texi: Update.
15681         * doc/posix-functions/iswpunct.texi: Update.
15682         * doc/posix-functions/iswspace.texi: Update.
15683         * doc/posix-functions/iswupper.texi: Update.
15684         * doc/posix-functions/iswxdigit.texi: Update.
15685         * doc/posix-functions/towlower.texi: Update.
15686         * doc/posix-functions/towupper.texi: Update.
15687         * NEWS: Mention the change.
15688         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
15689         * modules/mbchar (Dependencies): Likewise.
15690         * modules/mbswidth (Dependencies): Likewise.
15691         * modules/quotearg (Dependencies): Likewise.
15692         * modules/regex (Dependencies): Likewise.
15693         * modules/wcscasecmp (Dependencies): Likewise.
15694         * modules/wcsncasecmp (Dependencies): Likewise.
15695         * modules/wcwidth (Dependencies): Likewise.
15696
15697 2011-02-06  Bruno Haible  <bruno@clisp.org>
15698
15699         New module 'wcswidth'.
15700         * modules/wcswidth: New file.
15701         * lib/wchar.in.h (wcswidth): New declaration.
15702         * lib/wcswidth.c: New file.
15703         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
15704         * m4/wcswidth.m4: New file.
15705         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
15706         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
15707         REPLACE_WCSWIDTH.
15708         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
15709         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
15710         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
15711         * doc/posix-functions/wcswidth.texi: Mention the new module.
15712
15713 2011-02-06  Bruno Haible  <bruno@clisp.org>
15714
15715         New module 'wcstok'.
15716         * modules/wcstok: New file.
15717         * lib/wchar.in.h (wcstok): New declaration.
15718         * lib/wcstok.c: New file.
15719         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
15720         * m4/wcstok.m4: New file.
15721         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
15722         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
15723         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
15724         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
15725         * doc/posix-functions/wcstok.texi: Mention the new module.
15726
15727 2011-02-06  Bruno Haible  <bruno@clisp.org>
15728
15729         New module 'wcsstr'.
15730         * modules/wcsstr: New file.
15731         * lib/wchar.in.h (wcsstr): New declaration.
15732         * lib/wcsstr.c: New file.
15733         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
15734         * m4/wcsstr.m4: New file.
15735         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
15736         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
15737         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
15738         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
15739         * doc/posix-functions/wcsstr.texi: Mention the new module.
15740
15741 2011-02-06  Bruno Haible  <bruno@clisp.org>
15742
15743         New module 'wcspbrk'.
15744         * modules/wcspbrk: New file.
15745         * lib/wchar.in.h (wcspbrk): New declaration.
15746         * lib/wcspbrk.c: New file.
15747         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
15748         * m4/wcspbrk.m4: New file.
15749         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
15750         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
15751         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
15752         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
15753         * doc/posix-functions/wcspbrk.texi: Mention the new module.
15754
15755 2011-02-06  Bruno Haible  <bruno@clisp.org>
15756
15757         New module 'wcsspn'.
15758         * modules/wcsspn: New file.
15759         * lib/wchar.in.h (wcsspn): New declaration.
15760         * lib/wcsspn.c: New file.
15761         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
15762         * m4/wcsspn.m4: New file.
15763         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
15764         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
15765         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
15766         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
15767         * doc/posix-functions/wcsspn.texi: Mention the new module.
15768
15769 2011-02-06  Bruno Haible  <bruno@clisp.org>
15770
15771         New module 'wcscspn'.
15772         * modules/wcscspn: New file.
15773         * lib/wchar.in.h (wcscspn): New declaration.
15774         * lib/wcscspn.c: New file.
15775         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
15776         * m4/wcscspn.m4: New file.
15777         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
15778         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
15779         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
15780         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
15781         * doc/posix-functions/wcscspn.texi: Mention the new module.
15782
15783 2011-02-06  Bruno Haible  <bruno@clisp.org>
15784
15785         New module 'wcsrchr'.
15786         * modules/wcsrchr: New file.
15787         * lib/wchar.in.h (wcsrchr): New declaration.
15788         * lib/wcsrchr.c: New file.
15789         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
15790         * m4/wcsrchr.m4: New file.
15791         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
15792         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
15793         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
15794         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
15795         * doc/posix-functions/wcsrchr.texi: Mention the new module.
15796
15797 2011-02-06  Bruno Haible  <bruno@clisp.org>
15798
15799         New module 'wcschr'.
15800         * modules/wcschr: New file.
15801         * lib/wchar.in.h (wcschr): New declaration.
15802         * lib/wcschr.c: New file.
15803         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
15804         * m4/wcschr.m4: New file.
15805         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
15806         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
15807         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
15808         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
15809         * doc/posix-functions/wcschr.texi: Mention the new module.
15810
15811 2011-02-06  Bruno Haible  <bruno@clisp.org>
15812
15813         New module 'wcsdup'.
15814         * modules/wcsdup: New file.
15815         * lib/wchar.in.h (wcsdup): New declaration.
15816         * lib/wcsdup.c: New file.
15817         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
15818         * m4/wcsdup.m4: New file.
15819         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
15820         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
15821         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
15822         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
15823         * doc/posix-functions/wcsdup.texi: Mention the new module.
15824
15825 2011-02-06  Bruno Haible  <bruno@clisp.org>
15826
15827         New module 'wcsxfrm'.
15828         * modules/wcsxfrm: New file.
15829         * lib/wchar.in.h (wcsxfrm): New declaration.
15830         * lib/wcsxfrm.c: New file.
15831         * lib/wcsxfrm-impl.h: New file.
15832         * m4/wcsxfrm.m4: New file.
15833         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
15834         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
15835         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
15836         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
15837         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
15838
15839 2011-02-06  Bruno Haible  <bruno@clisp.org>
15840
15841         New module 'wcscoll'.
15842         * modules/wcscoll: New file.
15843         * lib/wchar.in.h (wcscoll): New declaration.
15844         * lib/wcscoll.c: New file.
15845         * lib/wcscoll-impl.h: New file.
15846         * m4/wcscoll.m4: New file.
15847         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
15848         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
15849         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
15850         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
15851         * doc/posix-functions/wcscoll.texi: Mention the new module.
15852
15853 2011-02-06  Bruno Haible  <bruno@clisp.org>
15854
15855         New module 'wcsncasecmp'.
15856         * modules/wcsncasecmp: New file.
15857         * lib/wchar.in.h (wcsncasecmp): New declaration.
15858         * lib/wcsncasecmp.c: New file.
15859         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
15860         * m4/wcsncasecmp.m4: New file.
15861         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
15862         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
15863         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
15864         HAVE_WCSNCASECMP.
15865         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
15866         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
15867
15868 2011-02-06  Bruno Haible  <bruno@clisp.org>
15869
15870         New module 'wcscasecmp'.
15871         * modules/wcscasecmp: New file.
15872         * lib/wchar.in.h (wcscasecmp): New declaration.
15873         * lib/wcscasecmp.c: New file.
15874         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
15875         * m4/wcscasecmp.m4: New file.
15876         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
15877         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
15878         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
15879         HAVE_WCSCASECMP.
15880         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
15881         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
15882
15883 2011-02-05  Bruno Haible  <bruno@clisp.org>
15884
15885         New module 'wcsncmp'.
15886         * modules/wcsncmp: New file.
15887         * lib/wchar.in.h (wcsncmp): New declaration.
15888         * lib/wcsncmp.c: New file.
15889         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
15890         * m4/wcsncmp.m4: New file.
15891         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
15892         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
15893         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
15894         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
15895         * doc/posix-functions/wcsncmp.texi: Mention the new module.
15896
15897 2011-02-05  Bruno Haible  <bruno@clisp.org>
15898
15899         New module 'wcscmp'.
15900         * modules/wcscmp: New file.
15901         * lib/wchar.in.h (wcscmp): New declaration.
15902         * lib/wcscmp.c: New file.
15903         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
15904         * m4/wcscmp.m4: New file.
15905         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
15906         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
15907         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
15908         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
15909         * doc/posix-functions/wcscmp.texi: Mention the new module.
15910
15911 2011-02-05  Bruno Haible  <bruno@clisp.org>
15912
15913         New module 'wcsncat'.
15914         * modules/wcsncat: New file.
15915         * lib/wchar.in.h (wcsncat): New declaration.
15916         * lib/wcsncat.c: New file.
15917         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
15918         * m4/wcsncat.m4: New file.
15919         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
15920         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
15921         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
15922         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
15923         * doc/posix-functions/wcsncat.texi: Mention the new module.
15924
15925 2011-02-05  Bruno Haible  <bruno@clisp.org>
15926
15927         New module 'wcscat'.
15928         * modules/wcscat: New file.
15929         * lib/wchar.in.h (wcscat): New declaration.
15930         * lib/wcscat.c: New file.
15931         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
15932         * m4/wcscat.m4: New file.
15933         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
15934         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
15935         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
15936         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
15937         * doc/posix-functions/wcscat.texi: Mention the new module.
15938
15939 2011-02-05  Bruno Haible  <bruno@clisp.org>
15940
15941         New module 'wcpncpy'.
15942         * modules/wcpncpy: New file.
15943         * lib/wchar.in.h (wcpncpy): New declaration.
15944         * lib/wcpncpy.c: New file.
15945         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
15946         * m4/wcpncpy.m4: New file.
15947         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
15948         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
15949         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
15950         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
15951         * doc/posix-functions/wcpncpy.texi: Mention the new module.
15952
15953 2011-02-05  Bruno Haible  <bruno@clisp.org>
15954
15955         New module 'wcsncpy'.
15956         * modules/wcsncpy: New file.
15957         * lib/wchar.in.h (wcsncpy): New declaration.
15958         * lib/wcsncpy.c: New file.
15959         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
15960         * m4/wcsncpy.m4: New file.
15961         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
15962         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
15963         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
15964         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
15965         * doc/posix-functions/wcsncpy.texi: Mention the new module.
15966
15967 2011-02-05  Bruno Haible  <bruno@clisp.org>
15968
15969         New module 'wcpcpy'.
15970         * modules/wcpcpy: New file.
15971         * lib/wchar.in.h (wcpcpy): New declaration.
15972         * lib/wcpcpy.c: New file.
15973         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
15974         * m4/wcpcpy.m4: New file.
15975         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
15976         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
15977         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
15978         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
15979         * doc/posix-functions/wcpcpy.texi: Mention the new module.
15980
15981 2011-02-05  Bruno Haible  <bruno@clisp.org>
15982
15983         New module 'wcscpy'.
15984         * modules/wcscpy: New file.
15985         * lib/wchar.in.h (wcscpy): New declaration.
15986         * lib/wcscpy.c: New file.
15987         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
15988         * m4/wcscpy.m4: New file.
15989         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
15990         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
15991         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
15992         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
15993         * doc/posix-functions/wcscpy.texi: Mention the new module.
15994
15995 2011-02-05  Bruno Haible  <bruno@clisp.org>
15996
15997         New module 'wcsnlen'.
15998         * modules/wcsnlen: New file.
15999         * lib/wchar.in.h (wcsnlen): New declaration.
16000         * lib/wcsnlen.c: New file.
16001         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
16002         * m4/wcsnlen.m4: New file.
16003         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
16004         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
16005         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
16006         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
16007         * doc/posix-functions/wcsnlen.texi: Mention the new module.
16008
16009 2011-02-05  Bruno Haible  <bruno@clisp.org>
16010
16011         New module 'wcslen'.
16012         * modules/wcslen: New file.
16013         * lib/wchar.in.h (wcslen): New declaration.
16014         * lib/wcslen.c: New file.
16015         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
16016         * m4/wcslen.m4: New file.
16017         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
16018         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
16019         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
16020         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
16021         * doc/posix-functions/wcslen.texi: Mention the new module.
16022
16023 2011-02-05  Bruno Haible  <bruno@clisp.org>
16024
16025         New module 'wmemset'.
16026         * modules/wmemset: New file.
16027         * lib/wchar.in.h (wmemset): New declaration.
16028         * lib/wmemset.c: New file.
16029         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
16030         * m4/wmemset.m4: New file.
16031         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
16032         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
16033         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
16034         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
16035         * doc/posix-functions/wmemset.texi: Mention the new module.
16036
16037 2011-02-05  Bruno Haible  <bruno@clisp.org>
16038
16039         New module 'wmemmove'.
16040         * modules/wmemmove: New file.
16041         * lib/wchar.in.h (wmemmove): New declaration.
16042         * lib/wmemmove.c: New file.
16043         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
16044         * m4/wmemmove.m4: New file.
16045         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
16046         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
16047         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
16048         HAVE_WMEMMOVE.
16049         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
16050         * doc/posix-functions/wmemmove.texi: Mention the new module.
16051
16052 2011-02-05  Bruno Haible  <bruno@clisp.org>
16053
16054         New module 'wmemcpy'.
16055         * modules/wmemcpy: New file.
16056         * lib/wchar.in.h (wmemcpy): New declaration.
16057         * lib/wmemcpy.c: New file.
16058         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
16059         * m4/wmemcpy.m4: New file.
16060         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
16061         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
16062         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
16063         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
16064         * doc/posix-functions/wmemcpy.texi: Mention the new module.
16065
16066 2011-02-05  Bruno Haible  <bruno@clisp.org>
16067
16068         New module 'wmemcmp'.
16069         * modules/wmemcmp: New file.
16070         * lib/wchar.in.h (wmemcmp): New declaration.
16071         * lib/wmemcmp.c: New file.
16072         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
16073         * m4/wmemcmp.m4: New file.
16074         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
16075         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
16076         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
16077         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
16078         * doc/posix-functions/wmemcmp.texi: Mention the new module.
16079
16080 2011-02-07  Jim Meyering  <meyering@redhat.com>
16081
16082         di-set, ino-map: new modules, from coreutils
16083         * lib/di-set.c: New file.
16084         * lib/di-set.h: Likewise.
16085         * lib/ino-map.c: Likewise.
16086         * lib/ino-map.h: Likewise.
16087         * modules/di-set: Likewise.
16088         * modules/di-set-tests: Likewise.
16089         * modules/ino-map: Likewise.
16090         * modules/ino-map-tests: Likewise.
16091         * tests/test-di-set.c: Likewise.
16092         * tests/test-ino-map.c: Likewise.
16093
16094 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
16095
16096         getloadavg: merge minor changes from Emacs
16097
16098         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
16099         (getloadavg): Use memset, not bzero.
16100
16101         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
16102         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
16103         clash (bug#86).
16104
16105 2010-11-14  Bruno Haible  <bruno@clisp.org>
16106
16107         Allow multiple gnulib generated replacements to coexist.
16108         * lib/getopt.in.h (struct option): Avoid identical redefinition.
16109         * lib/inttypes.in.h (imaxdiv_t): Likewise.
16110         * lib/langinfo.in.h (nl_item): Likewise.
16111         * lib/math.in.h (_NaN, NAN): Likewise.
16112         * lib/netdb.in.h (struct addrinfo): Likewise.
16113         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
16114         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
16115         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
16116         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
16117         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
16118         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
16119         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
16120         pthread_mutexattr_init, pthread_mutexattr_settype,
16121         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
16122         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
16123         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
16124         pthread_spin_trylock, pthread_spin_unlock): Likewise.
16125         * lib/sched.in.h (struct sched_param): Likewise.
16126         * lib/se-selinux.in.h (security_class_t, security_context_t,
16127         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
16128         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
16129         lsetfilecon, fsetfilecon, security_check_context,
16130         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
16131         Likewise.
16132         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
16133         Likewise.
16134         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
16135         _gl_function_taking_int_returning_void_t, union sigval,
16136         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
16137         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
16138         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
16139         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
16140         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
16141         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
16142         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
16143         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
16144         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
16145         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
16146         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
16147         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
16148         socklen_t, rpl_fd_isset): Likewise.
16149         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
16150         * lib/sys_time.in.h (struct timeval): Likewise.
16151         * lib/sys_times.in.h (struct tms): Likewise.
16152         * lib/sys_utsname.in.h (struct utsname):
16153         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
16154         * lib/unistd.in.h (getpagesize): Likewise.
16155         * lib/wchar.in.h (mbstate_t): Likewise.
16156         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
16157         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
16158         towlower, towupper): Likewise.
16159         Reported by Sam Steingold <sds@gnu.org>.
16160
16161 2011-02-05  Eric Blake  <eblake@redhat.com>
16162
16163         unsetenv: work around Haiku issues
16164         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
16165         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
16166
16167 2010-12-30  Bruce Korb  <bkorb@gnu.org>
16168
16169         libposix: avoid calling error() within libposix
16170         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
16171         is defined.
16172
16173 2011-02-05  Eric Blake  <eblake@redhat.com>
16174
16175         strerror_r-posix: port to cygwin
16176         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
16177         implementation.
16178         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
16179         * tests/test-strerror_r.c (main): Fix test.
16180         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
16181         issue.
16182
16183 2011-02-05  Bruno Haible  <bruno@clisp.org>
16184
16185         New module 'wmemchr'.
16186         * modules/wmemchr: New file.
16187         * lib/wchar.in.h (wmemchr): New declaration.
16188         * lib/wmemchr.c: New file.
16189         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
16190         * m4/wmemchr.m4: New file.
16191         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
16192         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
16193         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
16194         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
16195         * doc/posix-functions/wmemchr.texi: Mention the new module.
16196
16197 2011-02-04  Eric Blake  <eblake@redhat.com>
16198
16199         fdopendir: detect FreeBSD bug
16200         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
16201         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
16202
16203 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
16204
16205         stdbool: do not define HAVE_STDBOOL_H
16206         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
16207         AC_HEADER_STDBOOL.  All uses changed.  Do not define
16208         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
16209         imported from the latest Autoconf git.  It was motivated by Emacs,
16210         which uses gnulib but does not need HAVE_STDBOOL_H.
16211
16212 2011-02-04  Bruno Haible  <bruno@clisp.org>
16213
16214         wcsnrtombs: Prepare for new module wwcsnrtombs.
16215         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
16216         * lib/wcsnrtombs.c: Include it.
16217         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
16218
16219         wcsrtombs: Prepare for new module wwcsrtombs.
16220         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
16221         * lib/wcsrtombs.c: Include it.
16222         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
16223
16224         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
16225         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
16226         * lib/mbsnrtowcs.c: Include it.
16227         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
16228
16229         mbsrtowcs: Prepare for new module mbsrtowwcs.
16230         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
16231         * lib/mbsrtowcs.c: Include it.
16232         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
16233
16234 2011-02-04  Bruno Haible  <bruno@clisp.org>
16235
16236         vasnprintf: Reduce use of malloc for small format strings.
16237         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
16238         (arguments): Add room for the first 7 arguments.
16239         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
16240         (char_directives, u8_directives, u16_directives, u32_directives): Add
16241         room for the first 7 directives.
16242         * lib/printf-parse.c: Include <string.h>.
16243         (PRINTF_PARSE): Change memory handling code so that it uses the first
16244         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
16245         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
16246         Reported by Pádraig Brady <P@draigbrady.com>.
16247
16248 2011-01-31  Eric Blake  <eblake@redhat.com>
16249
16250         dup2: work around Haiku bug
16251         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
16252         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
16253         * doc/posix-functions/dup2.texi (dup2): Document the bug.
16254         * tests/test-dup2.c (main): Enhance test.
16255
16256 2011-01-31  Simon Josefsson  <simon@josefsson.org>
16257
16258         doc: off_t is not available in eglibc 2.11.2 stdio.h.
16259         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
16260         declared by eglibc 2.11.2.
16261         * lib/stdio.in.h: Likewise.
16262
16263 2011-01-31  Eric Blake  <eblake@redhat.com>
16264
16265         ignore-value: add missing test dependency
16266         * tests/test-ignore-value.c: Revert previous change; stdio.h
16267         provides off_t.
16268         * modules/ignore-value-tests (Depends-on): Add missing dependency.
16269
16270 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
16271
16272         mktime: clarify long_int width checking
16273         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
16274         the top level, to make it clearer that the assumption about
16275         long_int width is being checked.  See
16276         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
16277
16278 2011-01-30  Simon Josefsson  <simon@josefsson.org>
16279
16280         ignore-value: Fix self-test.
16281         * tests/test-ignore-value.c: Include sys/types.h for off_t.
16282
16283 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
16284
16285         TYPE_MAXIMUM: avoid theoretically undefined behavior
16286         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
16287         negative number, which the C Standard says has undefined behavior.
16288         In practice this is not a problem, but might as well do it by the book.
16289         Reported by Rich Felker and Eric Blake; see
16290         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
16291         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
16292         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
16293         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
16294         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
16295         * m4/stdint.m4 (gl_STDINT_H): Likewise.
16296         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
16297
16298         mktime: #undef mktime before #defining it
16299         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
16300
16301         mktime: systematically normalize tm_isdst comparisons
16302         * lib/mktime.c (isdst_differ): New function.
16303         (__mktime_internal): Use it systematically for all isdst comparisons.
16304         This completes the fix for libc BZ #6723, and removes the need for
16305         normalizing tm_isdst.  See
16306         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
16307         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
16308
16309         mktime: fix some integer overflow issues and sidestep the rest
16310
16311         This was prompted by a bug report by Benjamin Lindner for MinGW
16312         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
16313         His bug is due to signed integer overflow (0 - INT_MIN), and I
16314         I scanned through mktime.c looking for other integer overflow
16315         problems, fixing all the bugs I found.
16316
16317         Although the C Standard says the resulting code is still not safe
16318         in the presence of integer overflow, in practice it should be good
16319         enough for all real-world two's-complement implementations, except
16320         for debugging environments that deliberately trap on integer
16321         overflow (e.g., gcc -ftrapv).
16322
16323         * lib/mktime.c (WRAPV): New macro.
16324         (SHR): Also check that long_int and time_t shift right in the
16325         usual way, before using the fast-but-unportable method.
16326         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
16327         used.  The code already assumed two's complement, so there's
16328         no need to test for alternatives.  All uses removed.
16329         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
16330         the C standard.  Problem reported by Rich Felker in
16331         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
16332         (twos_complement_arithmetic): Also check long_int and time_t.
16333         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
16334         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
16335         (__mktime_internal): Avoid integer overflow with unary subtraction
16336         in two instances where -1 - X is an adequate replacement for -X,
16337         since the calculations are approximate.
16338
16339 2011-01-29  Eric Blake  <eblake@redhat.com>
16340
16341         mktime: avoid infinite loop
16342         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
16343         type; behavior is still undefined but portable to all known targets.
16344         Reported by Rich Felker.
16345
16346 2011-01-29  Simon Josefsson  <simon@josefsson.org>
16347
16348         rename, unlink, same-inode: Relicense.
16349         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
16350         * modules/unlink (License): Likewise.
16351         * modules/same-inode (License): Likewise.
16352
16353 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
16354
16355         mktime: avoid problems on NetBSD 5 / i386
16356         * lib/mktime.c (long_int): New type.  This works around a problem
16357         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
16358         but time_t is 64 bits, and where I expect the existing code is
16359         wrong in some cases.
16360         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
16361         (ydhms_diff): Bring back the compile-time check for wide-enough
16362         year and yday.
16363
16364         mktime: fix misspelling in comment
16365         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
16366         This merges all recent glibc changes of importance.
16367
16368 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16369
16370         move-if-change: cope with concurrent mv of identical file.
16371         * build-aux/move-if-change (CMPPROG): Accept environment
16372         variable as an override for `cmp'.
16373         (usage): Document CMPPROG.
16374         Adjust comparison to drop stdout.  Cope with failure of mv if
16375         the target file exists and is identical to the source, for
16376         parallel builds.
16377         Report from H.J. Lu against binutils in PR binutils/12283.
16378
16379 2011-01-28  Bruce Korb  <bkorb@gnu.org>
16380
16381         * users.txt: Mention sharutils.
16382
16383 2011-01-28  Simon Josefsson  <simon@josefsson.org>
16384
16385         * users.txt: Mention OATH Toolkit.
16386
16387 2011-01-27  Bruno Haible  <bruno@clisp.org>
16388
16389         Prepare for supporting FreeBSD 10.
16390         * build-aux/config.libpath: Remove handling of freebsd1*.
16391
16392 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
16393
16394         Prepare for supporting FreeBSD 10.
16395         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
16396         match FreeBSD 10.0.
16397
16398 2011-01-27  Bruno Haible  <bruno@clisp.org>
16399
16400         vma-iter, get-rusage-as: Add OpenBSD support.
16401         * modules/vma-iter (configure.ac): Test for mquery.
16402         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
16403         * lib/vma-iter.c: Include <sys/mman.h>.
16404         (vma_iterate): Add an implementation based on mquery().
16405         * lib/resource-ext.h (get_rusage_as): Update comments.
16406         * lib/get-rusage-as.c: Likewise.
16407         * lib/get-rusage-data.c: Likewise.
16408
16409 2011-01-26  Karl Berry  <karl@gnu.org>
16410
16411         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
16412         variables to make it easier to override the makeinfo program used.
16413
16414 2011-01-26  Eric Blake  <eblake@redhat.com>
16415
16416         fcntl: work around Haiku F_DUPFD bugs
16417         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
16418         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
16419         cloexec bit on duplication.
16420         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
16421
16422 2011-01-26  Bruno Haible  <bruno@clisp.org>
16423
16424         Enable memory leak tests on AIX.
16425         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
16426         * tests/test-fprintf-posix3.c (main): Likewise.
16427
16428 2011-01-26  Bruno Haible  <bruno@clisp.org>
16429
16430         Tests for module 'get-rusage-data'.
16431         * modules/get-rusage-data-tests: New file.
16432         * tests/test-get-rusage-data.c: New file.
16433
16434         New module 'get-rusage-data'.
16435         * lib/resource-ext.h (get_rusage_data): New declaration.
16436         * lib/get-rusage-data.c: New file.
16437         * modules/get-rusage-data: New file.
16438
16439 2011-01-25  Bruno Haible  <bruno@clisp.org>
16440
16441         get-rusage-as: Allow for easier testing.
16442         * lib/resource-ext.h (get_rusage_as): Add comment.
16443         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
16444         (main): New function for interactive testing.
16445
16446 2011-01-25  Bruno Haible  <bruno@clisp.org>
16447
16448         vma-iter: Treat Haiku like BeOS.
16449         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
16450         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
16451
16452 2011-01-25  Eric Blake  <eblake@redhat.com>
16453
16454         c-stack: fix regression on cygwin when libsigsegv is present
16455         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
16456
16457 2011-01-24  Bruno Haible  <bruno@clisp.org>
16458
16459         vma-iter: Avoid empty intervals.
16460         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
16461         on an empty interval.
16462
16463 2011-01-24  Jim Meyering  <meyering@redhat.com>
16464
16465         u64: remove unnecessary #include
16466         * lib/u64.h: Don't include <stddef.h>.  It was not used.
16467
16468 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
16469
16470         Allow the user to avoid the HAVE_RAW_DECL_* macros.
16471         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
16472
16473 2011-01-23  Bruno Haible  <bruno@clisp.org>
16474
16475         New module 'vma-iter'.
16476         * lib/vma-iter.h: New file.
16477         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
16478         * modules/vma-iter: New file.
16479         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
16480         for get_rusage_as_via_iterator.
16481         (vma_iterate_callback): New function.
16482         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
16483         * modules/get-rusage-as (Depends-on): Add vma-iter.
16484
16485 2011-01-23  Bruno Haible  <bruno@clisp.org>
16486
16487         uninorm: Tweak includes.
16488         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
16489         Reported by Jim Meyering.
16490
16491 2011-01-23  Bruno Haible  <bruno@clisp.org>
16492
16493         get-rusage-as: Improve on NetBSD.
16494         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
16495         /proc, like on FreeBSD.
16496
16497 2011-01-23  Jim Meyering  <meyering@redhat.com>
16498
16499         xreadlink.h: remove unnecessary #include
16500         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
16501
16502         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
16503         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
16504
16505 2011-01-23  Bruno Haible  <bruno@clisp.org>
16506
16507         get-rusage-as: Fix bug.
16508         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
16509         original limit when aborting the first loop.
16510
16511 2011-01-23  Bruno Haible  <bruno@clisp.org>
16512
16513         wctype: Ensure valid C syntax.
16514         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
16515         unconditionally, instead of gl_NEXT_HEADERS conditionally.
16516
16517 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
16518
16519         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
16520         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
16521         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
16522         as they are needed only for configure's test case.
16523         This removes two unnecessary symbols from config.h.
16524
16525         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
16526         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
16527         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
16528         AC_CHECK_HEADERS_ONCE on a header that we also invoke
16529         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
16530         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
16531         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
16532         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
16533         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
16534         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
16535         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
16536         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
16537         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16538         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
16539         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
16540         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
16541         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
16542         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
16543
16544 2011-01-21  Eric Blake  <eblake@redhat.com>
16545
16546         maintainer-makefile: work with older git for submodule check
16547         * top/maint.mk (public-submodule-commit): Rewrite to avoid
16548         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
16549         Reported by Matthias Bolte.
16550
16551         bootstrap: minor portability fixes
16552         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
16553         (usage): Omit leading capital and trailing . on help phrases, per
16554         GNU Coding Standards.
16555         (check_versions, top level): Prefix messages with script name.
16556
16557 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
16558
16559         bootstrap: support --no-git option
16560         * build-aux/bootstrap: Add --no-git option, to be used when
16561         --gnulib-srcdir points to the exact desired checkout.
16562
16563 2011-01-21  Eric Blake  <eblake@redhat.com>
16564
16565         strerror_r-posix: work with glibc 2.13
16566         * lib/strerror_r.c (strerror_r): Fix return type.
16567
16568 2011-01-21  Pádraig Brady  <P@draigBrady.com>
16569             Bruno Haible  <bruno@clisp.org>
16570
16571         uN_strstr: New unit tests.
16572         * modules/unistr/u8-strstr-tests: New file.
16573         * modules/unistr/u16-strstr-tests: New file.
16574         * modules/unistr/u32-strstr-tests: New file.
16575         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
16576         * tests/unistr/test-u8-strstr.c: New file.
16577         * tests/unistr/test-u16-strstr.c: New file.
16578         * tests/unistr/test-u32-strstr.c: New file.
16579
16580 2011-01-21  Pádraig Brady  <P@draigBrady.com>
16581             Bruno Haible  <bruno@clisp.org>
16582
16583         Make uN_strstr functions O(n) worst-case.
16584         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
16585         16-bit and 32-bit unit cases, use the unibyte algorithm from
16586         lib/mbsstr.c.
16587         * lib/unistr/u8-strstr.c: Include <string.h>.
16588         (UNIT_IS_UINT8_T): New macro.
16589         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
16590         (U_STRLEN, U_STRNLEN): New macros.
16591         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
16592         (U_STRLEN, U_STRNLEN): New macros.
16593         * modules/unistr/u8-strstr (Depends-on): Add strstr.
16594         (configure.ac): Update required libunistring version.
16595         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
16596         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
16597         malloca.
16598         (configure.ac): Update required libunistring version.
16599         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
16600         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
16601         malloca.
16602         (configure.ac): Update required libunistring version.
16603
16604 2011-01-21  Pádraig Brady  <P@draigBrady.com>
16605             Bruno Haible  <bruno@clisp.org>
16606
16607         Prepare for faster uN_strstr functions.
16608         * lib/str-kmp.h: Support definable UNITs.
16609         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
16610         needle_len argument.
16611         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
16612         * lib/mbscasestr.c (mbscasestr): Likewise.
16613
16614 2011-01-21  Pádraig Brady <P@draigBrady.com>
16615
16616         malloca-tests: make faster by unsetting MALLOC_PERTURB_
16617         * tests/test-malloca.c (main): Unset the environment variable
16618         to greatly speed up the test.
16619         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
16620         * modules/malloca-tests: Depend on unsetenv.
16621
16622 2011-01-21  Pádraig Brady <P@draigBrady.com>
16623
16624         ignore-value: remove stdint dependency
16625         * lib/ignore-value.h: Remove <stdint.h>
16626         * modules/ignore-value: Remove stdint dependency.
16627
16628 2011-01-21  Jim Meyering  <meyering@redhat.com>
16629
16630         maint.mk: adjust variable name to be consistent with other gl_ vars
16631         * top/maint.mk (gl_public_submodule_commit): Rename the variable
16632         to be lower case.
16633
16634 2011-01-20  Jim Meyering  <meyering@redhat.com>
16635
16636         maint.mk: make "check" depend on public-submodule-commit by default
16637         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
16638
16639 2011-01-20  Bruno Haible  <bruno@clisp.org>
16640
16641         mbfile, mbiter: Complete change from 2008-12-21.
16642         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
16643         * m4/mbiter.m4 (gl_MBITER): Likewise.
16644
16645 2011-01-20  Jim Meyering  <meyering@redhat.com>
16646
16647         init.sh: insert space between each function name and "()"
16648         * tests/init.sh: Make it a little easier to see that a function's
16649         name is "warn_", and not "warn" when looking at the first part of
16650         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
16651
16652 2011-01-20  Jim Meyering  <meyering@redhat.com>
16653
16654         mountlist: clean up code formatting
16655         * lib/mountlist.c (read_file_system_list): Split a long line,
16656         correct bracing style, use NULL in place of "(struct statfs *)0",
16657         don't parenthesize return value, add spaces around "=" and after
16658         ";-in-for-stmt".
16659
16660 2011-01-14  Markus Duft <mduft@gentoo.org>
16661
16662         mountlist: add support for Interix
16663         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
16664         Apply statvfs to all entries of /dev/fs.
16665         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
16666         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
16667
16668 2011-01-20  Jim Meyering  <meyering@redhat.com>
16669
16670         maint.mk: improve the public-submodule-commit rule
16671         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
16672         to suppress printing of its commands... unless V=1.
16673         Add git submodule's --quiet option to suppress printing of e.g.,
16674         "Entering gnulib" output.
16675         "cd" into $(srcdir) before running git submodule.
16676
16677 2011-01-20  Bruno Haible  <bruno@clisp.org>
16678
16679         include_next: Fix bug introduced on 2011-01-18.
16680         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
16681         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
16682         ac_cv_header_... variable if the second argument is not 'check'.
16683         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
16684         gl_NEXT_HEADERS_INTERNAL.
16685
16686 2011-01-20  Bruno Haible  <bruno@clisp.org>
16687
16688         Allow the user to avoid the GNULIB_TEST_* macros.
16689         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
16690         Suggested by Paul Eggert.
16691
16692 2011-01-14  Jim Meyering  <meyering@redhat.com>
16693
16694         bootstrap: avoid failure when there is no .gitmodules file
16695         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
16696         has been assigned to, even when its value is the empty string.
16697         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
16698         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
16699         Reported by John W. Eaton <jwe@gnu.org>.
16700
16701 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
16702
16703         assume <ctype.h>, ..., <time.h> exist
16704         For years gnulib has been assuming the existence of the headers
16705         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
16706         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
16707         them, since they don't appear to be needed.
16708         * README (Portability guidelines): Document this.
16709         * lib/flock.c: Assume <fcntl.h> exists.
16710         * lib/regex_internal.h: Assume <locale.h> exists.
16711         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
16712         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
16713         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
16714         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
16715         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
16716         * m4/regex.m4 (gl_REGEX): Likewise.
16717         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
16718         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
16719         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
16720         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
16721         * tests/test-argp.c: Likewise.
16722         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
16723
16724         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
16725         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
16726         AA_APPLE_UNIVERSAL_BUILD.  See
16727         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
16728         * NEWS: Document this.
16729
16730 2011-01-19  Eric Blake  <eblake@redhat.com>
16731
16732         c-stack: assume stack overflow if SA_SIGINFO unsupported
16733         * lib/c-stack.c (SIGACTION_WORKS): Rename...
16734         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
16735         sigaction will work.
16736         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
16737         behavior match Linux.
16738         * tests/test-c-stack.c (main): Prefer NULL for pointers.
16739
16740         stdbool-tests: accomodate Haiku
16741         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
16742
16743         binary-io: fix O_TEXT on Haiku
16744         * modules/binary-io (Depends-on): Add fcntl-h.
16745         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
16746         than blindly undefining O_TEXT.
16747         Reported by Scott McCreary.
16748
16749 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16750
16751         include_next: do not check for standard headers like stddef.h
16752
16753         I found this problem when modifying Emacs to use gnulib.
16754         I noticed that it added HAVE_STDDEF_H to config.h, even though
16755         gnulib always assumes <stddef.h> exists as per README and this
16756         symbol is unnecessary.
16757         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
16758         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
16759         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
16760         faster for headers like stddef.h that are known to exist.
16761         (gl_CHECK_NEXT_HEADERS): Use it.
16762         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
16763         rather than gl_CHECK_NEXT_HEADERS.
16764         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
16765         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
16766
16767 2011-01-18  Eric Blake  <eblake@redhat.com>
16768
16769         ansi-c++-opt: skip C++ dependency style if C++ is unused
16770         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
16771         tests when we know C++ compilation is not desired.
16772         Reported by Scott McCreary.
16773
16774 2011-01-18  Bruno Haible  <bruno@clisp.org>
16775
16776         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
16777         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
16778         (main): Perform test also when getrlimit and setrlimit don't exist or
16779         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
16780         limiting the address space size using setrlimit, compare the address
16781         space size before and after the the test.
16782         * tests/test-dprintf-posix2.c: Likewise.
16783         * tests/test-fprintf-posix3.sh: Update skip messages.
16784         * tests/test-dprintf-posix2.sh: Likewise.
16785         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
16786         * modules/dprintf-posix-tests (Depends-on): Likewise.
16787         Reported by Bruce Korb <bkorb@gnu.org> and
16788         Gary V. Vaughan <gary@gnu.org>.
16789
16790 2011-01-18  Bruno Haible  <bruno@clisp.org>
16791
16792         get-rusage-as: Improvement for Cygwin.
16793         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
16794         areas that are merely reserved.
16795
16796 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
16797
16798         strftime: remove dependencies on multibyte modules
16799
16800         strftime depended on mbrlen, mbsinit, and wchar, but these modules
16801         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
16802         only if __osf__ is defined, and I suspect OSF doesn't need these
16803         other modules.  If my guess is wrong, we'll need to come up with a
16804         variant of strftime that doesn't need the multibyte modules.
16805
16806         I discovered this problem when attempting modify Emacs to use the
16807         strftime module.  With the previous gnulib, this caused Emacs to
16808         need 31 new files, ranging from lib/config.charset to
16809         m4/wint_t.m4.  This was overkill and I expect would be offputting
16810         to the Emacs maintainers.  After this change, only 6 new files are
16811         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
16812         stdbool.m4, and tm_gmtoff.m4.
16813
16814         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
16815         Suggested by Bruno Haible in
16816         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
16817         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
16818         and do not check for wchar.h.
16819         * modules/strftime (Files): Remove m4/mbstate_t.m4.
16820         (Depends-on): Remove mbrlen, mbsinit, wchar.
16821
16822 2011-01-18  Bruno Haible  <bruno@clisp.org>
16823
16824         Tests for module 'get-rusage-as'.
16825         * modules/get-rusage-as-tests: New file.
16826         * tests/test-get-rusage-as.c: New file.
16827
16828         New module 'get-rusage-as'.
16829         * modules/get-rusage-as: New file.
16830         * lib/resource-ext.h: New file.
16831         * lib/get-rusage-as.c: New file.
16832
16833 2011-01-17  Eric Blake  <eblake@redhat.com>
16834
16835         sigaction: relax license from LGPLv3+ to LGPLv2+
16836         * modules/sigaction (License): Relax to LGPLv2+.
16837
16838 2011-01-14  Bruno Haible  <bruno@clisp.org>
16839
16840         filemode: Make function declarations usable in C++ mode.
16841         * lib/filemode.h: Enclose function declarations in extern "C" block.
16842         Reported by John W. Eaton <jwe@gnu.org>.
16843
16844 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
16845
16846         save-cwd: no longer include "xgetcwd.h"
16847         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
16848         This avoids a compilation failure in projects that use save-cwd
16849         without also using the xgetcwd module.
16850
16851 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
16852
16853         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
16854         This is so that a program like Emacs, which needs only dtoastr,
16855         does not have to bother with distributing and compiling ftoastr
16856         and ldtoastr.
16857         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
16858         * modules/dtoastr, modules/ldtoastr: New files.
16859         * modules/ftoastr: Now works just for 'float'.
16860         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
16861         (Makefile.am): Remove ftoastr.h (not needed and no effect),
16862         dtoastr.c, ldtoastr.c.
16863
16864 2011-01-11  Jim Meyering  <meyering@redhat.com>
16865
16866         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
16867         There is no need to work around the lack of the fchdir function,
16868         since gnulib can now provide a replacement when required.
16869         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
16870         * modules/save-cwd (Depends-on): Add fchdir.
16871
16872 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
16873
16874         openat, save-cwd: avoid xmalloc
16875
16876         This removes a direct (but undocumented) dependency of openat on
16877         xalloc, along with an indirect dependency via save-cwd.  It also
16878         removes a dependency of save-cwd on xgetcwd, and thereby
16879         indirectly on xalloc.  This change causes the openat substitute
16880         to fall back on save_cwd when memory is tight, and for save_cwd to
16881         fail instead of dying when memory is tight, but that's good enough.
16882         Problem and initial idea for fix reported by Bastien Roucaries in
16883         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
16884
16885         * lib/openat-proc.c: Include stdlib.h (for malloc), not
16886         xalloc.h (for xmalloc).
16887         (openat_proc_name): Use malloc, not xmalloc.
16888         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
16889         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
16890
16891         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
16892         This avoids heap allocation for file names whose lengths are in
16893         the range 512..1023, with the upper bound increasing to at most
16894         4031 depending on the platform's PATH_MAX.  (We do not want
16895         pathmax.h here as it might supply a non-constant PATH_MAX.)
16896         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
16897         Perhaps they should be moved to malloca.h?
16898         (OPENAT_BUFFER_SIZE): Use them.
16899
16900 2011-01-10  Bruno Haible  <bruno@clisp.org>
16901
16902         doc: Update users.txt.
16903         * users.txt: Add recutils.
16904
16905 2011-01-09  Karl Berry  <karl@gnu.org>
16906
16907         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
16908
16909         * doc/configmake.texi: New file.
16910         * doc/gnulib.texi: Include it.
16911         * modules/configmake: Move documentation from here.
16912
16913 2011-01-09  Bruno Haible  <bruno@clisp.org>
16914
16915         Update to Unicode 6.0.0.
16916         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
16917         (get_lbp): Update for Unicode 6.0.0.
16918         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
16919         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
16920         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
16921         U+11001, U+11038..U+11046. Remove U+06DE.
16922         (uc_width): Fix bounds of planes.
16923         * tests/uniwidth/test-uc_width2.sh: Same updates as in
16924         lib/uniwidth/width.c.
16925         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
16926         trailing whitespace removed.
16927         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
16928         without comments, but with the original copyright notice.
16929         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
16930         * lib/unicase/ignorable.h: Likewise.
16931         * lib/unicase/tocasefold.h: Likewise.
16932         * lib/unicase/tolower.h: Likewise.
16933         * lib/unicase/totitle.h: Likewise.
16934         * lib/unicase/toupper.h: Likewise.
16935         * lib/unictype/bidi_of.h: Likewise.
16936         * lib/unictype/blocks.h: Likewise.
16937         * lib/unictype/categ_C.h: Likewise.
16938         * lib/unictype/categ_Cn.h: Likewise.
16939         * lib/unictype/categ_L.h: Likewise.
16940         * lib/unictype/categ_Ll.h: Likewise.
16941         * lib/unictype/categ_Lm.h: Likewise.
16942         * lib/unictype/categ_Lo.h: Likewise.
16943         * lib/unictype/categ_Lu.h: Likewise.
16944         * lib/unictype/categ_M.h: Likewise.
16945         * lib/unictype/categ_Mc.h: Likewise.
16946         * lib/unictype/categ_Me.h: Likewise.
16947         * lib/unictype/categ_Mn.h: Likewise.
16948         * lib/unictype/categ_N.h: Likewise.
16949         * lib/unictype/categ_Nd.h: Likewise.
16950         * lib/unictype/categ_No.h: Likewise.
16951         * lib/unictype/categ_P.h: Likewise.
16952         * lib/unictype/categ_Po.h: Likewise.
16953         * lib/unictype/categ_S.h: Likewise.
16954         * lib/unictype/categ_Sc.h: Likewise.
16955         * lib/unictype/categ_Sk.h: Likewise.
16956         * lib/unictype/categ_Sm.h: Likewise.
16957         * lib/unictype/categ_So.h: Likewise.
16958         * lib/unictype/categ_of.h: Likewise.
16959         * lib/unictype/combining.h: Likewise.
16960         * lib/unictype/ctype_alnum.h: Likewise.
16961         * lib/unictype/ctype_alpha.h: Likewise.
16962         * lib/unictype/ctype_graph.h: Likewise.
16963         * lib/unictype/ctype_lower.h: Likewise.
16964         * lib/unictype/ctype_print.h: Likewise.
16965         * lib/unictype/ctype_punct.h: Likewise.
16966         * lib/unictype/ctype_upper.h: Likewise.
16967         * lib/unictype/decdigit.h: Likewise.
16968         * lib/unictype/digit.h: Likewise.
16969         * lib/unictype/numeric.h: Likewise.
16970         * lib/unictype/pr_alphabetic.h: Likewise.
16971         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
16972         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
16973         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
16974         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
16975         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
16976         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
16977         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
16978         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
16979         * lib/unictype/pr_case_ignorable.h: Likewise.
16980         * lib/unictype/pr_cased.h: Likewise.
16981         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
16982         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
16983         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
16984         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
16985         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
16986         * lib/unictype/pr_combining.h: Likewise.
16987         * lib/unictype/pr_composite.h: Likewise.
16988         * lib/unictype/pr_currency_symbol.h: Likewise.
16989         * lib/unictype/pr_decimal_digit.h: Likewise.
16990         * lib/unictype/pr_deprecated.h: Likewise.
16991         * lib/unictype/pr_format_control.h: Likewise.
16992         * lib/unictype/pr_grapheme_base.h: Likewise.
16993         * lib/unictype/pr_grapheme_extend.h: Likewise.
16994         * lib/unictype/pr_grapheme_link.h: Likewise.
16995         * lib/unictype/pr_id_continue.h: Likewise.
16996         * lib/unictype/pr_id_start.h: Likewise.
16997         * lib/unictype/pr_ideographic.h: Likewise.
16998         * lib/unictype/pr_lowercase.h: Likewise.
16999         * lib/unictype/pr_math.h: Likewise.
17000         * lib/unictype/pr_numeric.h: Likewise.
17001         * lib/unictype/pr_other_alphabetic.h: Likewise.
17002         * lib/unictype/pr_other_id_continue.h: Likewise.
17003         * lib/unictype/pr_other_math.h: Likewise.
17004         * lib/unictype/pr_punctuation.h: Likewise.
17005         * lib/unictype/pr_sentence_terminal.h: Likewise.
17006         * lib/unictype/pr_terminal_punctuation.h: Likewise.
17007         * lib/unictype/pr_unassigned_code_value.h: Likewise.
17008         * lib/unictype/pr_unified_ideograph.h: Likewise.
17009         * lib/unictype/pr_uppercase.h: Likewise.
17010         * lib/unictype/pr_xid_continue.h: Likewise.
17011         * lib/unictype/pr_xid_start.h: Likewise.
17012         * lib/unictype/scripts.h: Likewise.
17013         * lib/unictype/scripts_byname.gperf: Likewise.
17014         * lib/unictype/sy_java_ident.h: Likewise.
17015         * lib/unigbrk/gbrkprop.h: Likewise.
17016         * lib/unilbrk/lbrkprop1.h: Likewise.
17017         * lib/unilbrk/lbrkprop2.h: Likewise.
17018         * lib/uninorm/decomposition-table2.h: Likewise.
17019         * lib/uniwbrk/wbrkprop.h: Likewise.
17020         * tests/unicase/test-cased.c: Likewise.
17021         * tests/unicase/test-ignorable.c: Likewise.
17022         * tests/unicase/test-uc_tolower.c: Likewise.
17023         * tests/unicase/test-uc_totitle.c: Likewise.
17024         * tests/unicase/test-uc_toupper.c: Likewise.
17025         * tests/unictype/test-categ_C.c: Likewise.
17026         * tests/unictype/test-categ_Cn.c: Likewise.
17027         * tests/unictype/test-categ_L.c: Likewise.
17028         * tests/unictype/test-categ_Ll.c: Likewise.
17029         * tests/unictype/test-categ_Lm.c: Likewise.
17030         * tests/unictype/test-categ_Lo.c: Likewise.
17031         * tests/unictype/test-categ_Lu.c: Likewise.
17032         * tests/unictype/test-categ_M.c: Likewise.
17033         * tests/unictype/test-categ_Mc.c: Likewise.
17034         * tests/unictype/test-categ_Me.c: Likewise.
17035         * tests/unictype/test-categ_Mn.c: Likewise.
17036         * tests/unictype/test-categ_N.c: Likewise.
17037         * tests/unictype/test-categ_Nd.c: Likewise.
17038         * tests/unictype/test-categ_No.c: Likewise.
17039         * tests/unictype/test-categ_P.c: Likewise.
17040         * tests/unictype/test-categ_Po.c: Likewise.
17041         * tests/unictype/test-categ_S.c: Likewise.
17042         * tests/unictype/test-categ_Sc.c: Likewise.
17043         * tests/unictype/test-categ_Sk.c: Likewise.
17044         * tests/unictype/test-categ_Sm.c: Likewise.
17045         * tests/unictype/test-categ_So.c: Likewise.
17046         * tests/unictype/test-ctype_alnum.c: Likewise.
17047         * tests/unictype/test-ctype_alpha.c: Likewise.
17048         * tests/unictype/test-ctype_graph.c: Likewise.
17049         * tests/unictype/test-ctype_lower.c: Likewise.
17050         * tests/unictype/test-ctype_print.c: Likewise.
17051         * tests/unictype/test-ctype_punct.c: Likewise.
17052         * tests/unictype/test-ctype_upper.c: Likewise.
17053         * tests/unictype/test-decdigit.h: Likewise.
17054         * tests/unictype/test-digit.h: Likewise.
17055         * tests/unictype/test-numeric.h: Likewise.
17056         * tests/unictype/test-pr_alphabetic.c: Likewise.
17057         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
17058         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
17059         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
17060         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
17061         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
17062         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
17063         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
17064         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
17065         * tests/unictype/test-pr_case_ignorable.c: Likewise.
17066         * tests/unictype/test-pr_cased.c: Likewise.
17067         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
17068         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
17069         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
17070         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
17071         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
17072         * tests/unictype/test-pr_combining.c: Likewise.
17073         * tests/unictype/test-pr_composite.c: Likewise.
17074         * tests/unictype/test-pr_currency_symbol.c: Likewise.
17075         * tests/unictype/test-pr_decimal_digit.c: Likewise.
17076         * tests/unictype/test-pr_deprecated.c: Likewise.
17077         * tests/unictype/test-pr_format_control.c: Likewise.
17078         * tests/unictype/test-pr_grapheme_base.c: Likewise.
17079         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
17080         * tests/unictype/test-pr_grapheme_link.c: Likewise.
17081         * tests/unictype/test-pr_id_continue.c: Likewise.
17082         * tests/unictype/test-pr_id_start.c: Likewise.
17083         * tests/unictype/test-pr_ideographic.c: Likewise.
17084         * tests/unictype/test-pr_lowercase.c: Likewise.
17085         * tests/unictype/test-pr_math.c: Likewise.
17086         * tests/unictype/test-pr_numeric.c: Likewise.
17087         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
17088         * tests/unictype/test-pr_other_id_continue.c: Likewise.
17089         * tests/unictype/test-pr_other_math.c: Likewise.
17090         * tests/unictype/test-pr_punctuation.c: Likewise.
17091         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
17092         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
17093         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
17094         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
17095         * tests/unictype/test-pr_uppercase.c: Likewise.
17096         * tests/unictype/test-pr_xid_continue.c: Likewise.
17097         * tests/unictype/test-pr_xid_start.c: Likewise.
17098         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
17099         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
17100         changes.
17101         * lib/unictype/categ_Cc.h: Likewise.
17102         * lib/unictype/categ_Cf.h: Likewise.
17103         * lib/unictype/categ_Co.h: Likewise.
17104         * lib/unictype/categ_Cs.h: Likewise.
17105         * lib/unictype/categ_Lt.h: Likewise.
17106         * lib/unictype/categ_Nl.h: Likewise.
17107         * lib/unictype/categ_Pc.h: Likewise.
17108         * lib/unictype/categ_Pd.h: Likewise.
17109         * lib/unictype/categ_Pe.h: Likewise.
17110         * lib/unictype/categ_Pf.h: Likewise.
17111         * lib/unictype/categ_Pi.h: Likewise.
17112         * lib/unictype/categ_Ps.h: Likewise.
17113         * lib/unictype/categ_Z.h: Likewise.
17114         * lib/unictype/categ_Zl.h: Likewise.
17115         * lib/unictype/categ_Zp.h: Likewise.
17116         * lib/unictype/categ_Zs.h: Likewise.
17117         * lib/unictype/ctype_blank.h: Likewise.
17118         * lib/unictype/ctype_cntrl.h: Likewise.
17119         * lib/unictype/ctype_digit.h: Likewise.
17120         * lib/unictype/ctype_space.h: Likewise.
17121         * lib/unictype/ctype_xdigit.h: Likewise.
17122         * lib/unictype/mirror.h: Likewise.
17123         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
17124         * lib/unictype/pr_bidi_block_separator.h: Likewise.
17125         * lib/unictype/pr_bidi_common_separator.h: Likewise.
17126         * lib/unictype/pr_bidi_control.h: Likewise.
17127         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
17128         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
17129         * lib/unictype/pr_bidi_european_digit.h: Likewise.
17130         * lib/unictype/pr_bidi_pdf.h: Likewise.
17131         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
17132         * lib/unictype/pr_bidi_whitespace.h: Likewise.
17133         * lib/unictype/pr_dash.h: Likewise.
17134         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
17135         * lib/unictype/pr_diacritic.h: Likewise.
17136         * lib/unictype/pr_extender.h: Likewise.
17137         * lib/unictype/pr_hex_digit.h: Likewise.
17138         * lib/unictype/pr_hyphen.h: Likewise.
17139         * lib/unictype/pr_ids_binary_operator.h: Likewise.
17140         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
17141         * lib/unictype/pr_ignorable_control.h: Likewise.
17142         * lib/unictype/pr_iso_control.h: Likewise.
17143         * lib/unictype/pr_join_control.h: Likewise.
17144         * lib/unictype/pr_left_of_pair.h: Likewise.
17145         * lib/unictype/pr_line_separator.h: Likewise.
17146         * lib/unictype/pr_logical_order_exception.h: Likewise.
17147         * lib/unictype/pr_non_break.h: Likewise.
17148         * lib/unictype/pr_not_a_character.h: Likewise.
17149         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
17150         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
17151         * lib/unictype/pr_other_id_start.h: Likewise.
17152         * lib/unictype/pr_other_lowercase.h: Likewise.
17153         * lib/unictype/pr_other_uppercase.h: Likewise.
17154         * lib/unictype/pr_paired_punctuation.h: Likewise.
17155         * lib/unictype/pr_paragraph_separator.h: Likewise.
17156         * lib/unictype/pr_pattern_syntax.h: Likewise.
17157         * lib/unictype/pr_pattern_white_space.h: Likewise.
17158         * lib/unictype/pr_private_use.h: Likewise.
17159         * lib/unictype/pr_quotation_mark.h: Likewise.
17160         * lib/unictype/pr_radical.h: Likewise.
17161         * lib/unictype/pr_soft_dotted.h: Likewise.
17162         * lib/unictype/pr_space.h: Likewise.
17163         * lib/unictype/pr_titlecase.h: Likewise.
17164         * lib/unictype/pr_variation_selector.h: Likewise.
17165         * lib/unictype/pr_white_space.h: Likewise.
17166         * lib/unictype/pr_zero_width.h: Likewise.
17167         * lib/unictype/sy_c_ident.h: Likewise.
17168         * lib/unictype/sy_c_whitespace.h: Likewise.
17169         * lib/unictype/sy_java_whitespace.h: Likewise.
17170         * lib/uninorm/composition-table.gperf: Likewise.
17171         * lib/uninorm/decomposition-table1.h: Likewise.
17172         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
17173         LB8.
17174         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
17175         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
17176         * modules/unictype/*: Bump version number of expected libunistring
17177         version.
17178
17179 2011-01-09  Bruno Haible  <bruno@clisp.org>
17180
17181         Update to Unicode 5.2.0.
17182         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
17183         trailing whitespace removed.
17184
17185 2011-01-09  Bruno Haible  <bruno@clisp.org>
17186
17187         New Unicode character properties, from Unicode 5.2.0.
17188         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
17189         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
17190         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
17191         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
17192         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
17193         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
17194         uc_is_property_cased, uc_is_property_case_ignorable,
17195         uc_is_property_changes_when_lowercased,
17196         uc_is_property_changes_when_uppercased,
17197         uc_is_property_changes_when_titlecased,
17198         uc_is_property_changes_when_casefolded,
17199         uc_is_property_changes_when_casemapped): New declarations.
17200         * lib/unictype/pr_byname.gperf: Add the new properties.
17201         * modules/unictype/property-byname (Depends-on): Depend on the new
17202         properties modules.
17203         * modules/unictype/property-all (Depends-on): Likewise.
17204         * MODULES.html.sh (Unicode string functions): Add
17205         unictype/property-case-ignorable, unictype/property-cased,
17206         unictype/property-changes-when-casefolded,
17207         unictype/property-changes-when-casemapped,
17208         unictype/property-changes-when-lowercased,
17209         unictype/property-changes-when-titlecased,
17210         unictype/property-changes-when-uppercased.
17211
17212         New module 'unictype/property-changes-when-casemapped'.
17213         * modules/unictype/property-changes-when-casemapped: New file.
17214         * lib/unictype/pr_changes_when_casemapped.c: New file.
17215         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
17216         generated by gen-uni-tables.
17217         * modules/unictype/property-changes-when-casemapped-tests: New file.
17218         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
17219         automatically generated by gen-uni-tables.
17220
17221         New module 'unictype/property-changes-when-casefolded'.
17222         * modules/unictype/property-changes-when-casefolded: New file.
17223         * lib/unictype/pr_changes_when_casefolded.c: New file.
17224         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
17225         generated by gen-uni-tables.
17226         * modules/unictype/property-changes-when-casefolded-tests: New file.
17227         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
17228         automatically generated by gen-uni-tables.
17229
17230         New module 'unictype/property-changes-when-titlecased'.
17231         * modules/unictype/property-changes-when-titlecased: New file.
17232         * lib/unictype/pr_changes_when_titlecased.c: New file.
17233         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
17234         generated by gen-uni-tables.
17235         * modules/unictype/property-changes-when-titlecased-tests: New file.
17236         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
17237         automatically generated by gen-uni-tables.
17238
17239         New module 'unictype/property-changes-when-uppercased'.
17240         * modules/unictype/property-changes-when-uppercased: New file.
17241         * lib/unictype/pr_changes_when_uppercased.c: New file.
17242         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
17243         generated by gen-uni-tables.
17244         * modules/unictype/property-changes-when-uppercased-tests: New file.
17245         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
17246         automatically generated by gen-uni-tables.
17247
17248         New module 'unictype/property-changes-when-lowercased'.
17249         * modules/unictype/property-changes-when-lowercased: New file.
17250         * lib/unictype/pr_changes_when_lowercased.c: New file.
17251         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
17252         generated by gen-uni-tables.
17253         * modules/unictype/property-changes-when-lowercased-tests: New file.
17254         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
17255         automatically generated by gen-uni-tables.
17256
17257         New module 'unictype/property-case-ignorable'.
17258         * modules/unictype/property-case-ignorable: New file.
17259         * lib/unictype/pr_case_ignorable.c: New file.
17260         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
17261         by gen-uni-tables.
17262         * modules/unictype/property-case-ignorable-tests: New file.
17263         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
17264         generated by gen-uni-tables.
17265
17266         New module 'unictype/property-cased'.
17267         * modules/unictype/property-cased: New file.
17268         * lib/unictype/pr_cased.c: New file.
17269         * lib/unictype/pr_cased.h: New file, automatically generated by
17270         gen-uni-tables.
17271         * modules/unictype/property-cased-tests: New file.
17272         * tests/unictype/test-pr_cased.c: New file, automatically generated by
17273         gen-uni-tables.
17274
17275 2011-01-09  Bruno Haible  <bruno@clisp.org>
17276
17277         Update to Unicode 5.2.0.
17278         * lib/gen-uni-tables.c (output_predicate, output_category,
17279         output_combclass, output_bidi_category, output_decimal_digit_test,
17280         output_decimal_digit, output_digit_test, output_digit,
17281         output_numeric_test, output_numeric, output_mirror, output_scripts,
17282         output_scripts_byname, output_blocks, output_ident_category): Fix
17283         comment header.
17284         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
17285         get_wbp.
17286         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
17287         items.
17288         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
17289         Changes_When_Lowercased, Changes_When_Uppercased,
17290         Changes_When_Titlecased, Changes_When_Casefolded,
17291         Changes_When_Casemapped.
17292         (is_property_alphabetic, is_property_default_ignorable_code_point):
17293         Update for Unicode 5.2.0.
17294         (is_property_cased, is_property_case_ignorable,
17295         is_property_changes_when_lowercased,
17296         is_property_changes_when_uppercased,
17297         is_property_changes_when_titlecased,
17298         is_property_changes_when_casefolded,
17299         is_property_changes_when_casemapped): New functions.
17300         (output_properties): Output also the properties cased, case_ignorable,
17301         changes_when_lowercased, changes_when_uppercased,
17302         changes_when_titlecased, changes_when_casefolded,
17303         changes_when_casemapped.
17304         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
17305         Unicode TR#11 revision 17 -> 19.
17306         (LBP_CP): New enumeration value.
17307         (LBP_*): Adjust values accordingly.
17308         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
17309         TR#14 revision 22 -> 24.
17310         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
17311         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
17312         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
17313         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
17314         is_WBP_MIDLETTER.
17315         (output_composition_tables): Allow for 24 bits instead of 16 bits in
17316         the code1 and code2 of each composition rule.
17317         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
17318         * lib/unicase/ignorable.h: Likewise.
17319         * lib/unicase/tocasefold.h: Likewise.
17320         * lib/unicase/tolower.h: Likewise.
17321         * lib/unicase/totitle.h: Likewise.
17322         * lib/unicase/toupper.h: Likewise.
17323         * lib/unictype/bidi_of.h: Likewise.
17324         * lib/unictype/blocks.h: Likewise.
17325         * lib/unictype/categ_C.h: Likewise.
17326         * lib/unictype/categ_Cf.h: Likewise.
17327         * lib/unictype/categ_Cn.h: Likewise.
17328         * lib/unictype/categ_L.h: Likewise.
17329         * lib/unictype/categ_Ll.h: Likewise.
17330         * lib/unictype/categ_Lm.h: Likewise.
17331         * lib/unictype/categ_Lo.h: Likewise.
17332         * lib/unictype/categ_Lu.h: Likewise.
17333         * lib/unictype/categ_M.h: Likewise.
17334         * lib/unictype/categ_Mc.h: Likewise.
17335         * lib/unictype/categ_Mn.h: Likewise.
17336         * lib/unictype/categ_N.h: Likewise.
17337         * lib/unictype/categ_Nd.h: Likewise.
17338         * lib/unictype/categ_Nl.h: Likewise.
17339         * lib/unictype/categ_No.h: Likewise.
17340         * lib/unictype/categ_P.h: Likewise.
17341         * lib/unictype/categ_Pd.h: Likewise.
17342         * lib/unictype/categ_Po.h: Likewise.
17343         * lib/unictype/categ_S.h: Likewise.
17344         * lib/unictype/categ_Sc.h: Likewise.
17345         * lib/unictype/categ_So.h: Likewise.
17346         * lib/unictype/categ_of.h: Likewise.
17347         * lib/unictype/combining.h: Likewise.
17348         * lib/unictype/ctype_alnum.h: Likewise.
17349         * lib/unictype/ctype_alpha.h: Likewise.
17350         * lib/unictype/ctype_graph.h: Likewise.
17351         * lib/unictype/ctype_lower.h: Likewise.
17352         * lib/unictype/ctype_print.h: Likewise.
17353         * lib/unictype/ctype_punct.h: Likewise.
17354         * lib/unictype/ctype_upper.h: Likewise.
17355         * lib/unictype/decdigit.h: Likewise.
17356         * lib/unictype/digit.h: Likewise.
17357         * lib/unictype/numeric.h: Likewise.
17358         * lib/unictype/pr_alphabetic.h: Likewise.
17359         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
17360         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
17361         * lib/unictype/pr_bidi_european_digit.h: Likewise.
17362         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
17363         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
17364         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
17365         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
17366         * lib/unictype/pr_combining.h: Likewise.
17367         * lib/unictype/pr_composite.h: Likewise.
17368         * lib/unictype/pr_currency_symbol.h: Likewise.
17369         * lib/unictype/pr_dash.h: Likewise.
17370         * lib/unictype/pr_decimal_digit.h: Likewise.
17371         * lib/unictype/pr_deprecated.h: Likewise.
17372         * lib/unictype/pr_diacritic.h: Likewise.
17373         * lib/unictype/pr_extender.h: Likewise.
17374         * lib/unictype/pr_grapheme_base.h: Likewise.
17375         * lib/unictype/pr_grapheme_extend.h: Likewise.
17376         * lib/unictype/pr_grapheme_link.h: Likewise.
17377         * lib/unictype/pr_id_continue.h: Likewise.
17378         * lib/unictype/pr_id_start.h: Likewise.
17379         * lib/unictype/pr_ideographic.h: Likewise.
17380         * lib/unictype/pr_ignorable_control.h: Likewise.
17381         * lib/unictype/pr_logical_order_exception.h: Likewise.
17382         * lib/unictype/pr_lowercase.h: Likewise.
17383         * lib/unictype/pr_numeric.h: Likewise.
17384         * lib/unictype/pr_other_alphabetic.h: Likewise.
17385         * lib/unictype/pr_punctuation.h: Likewise.
17386         * lib/unictype/pr_sentence_terminal.h: Likewise.
17387         * lib/unictype/pr_terminal_punctuation.h: Likewise.
17388         * lib/unictype/pr_unassigned_code_value.h: Likewise.
17389         * lib/unictype/pr_unified_ideograph.h: Likewise.
17390         * lib/unictype/pr_uppercase.h: Likewise.
17391         * lib/unictype/pr_xid_continue.h: Likewise.
17392         * lib/unictype/pr_xid_start.h: Likewise.
17393         * lib/unictype/pr_zero_width.h: Likewise.
17394         * lib/unictype/scripts.h: Likewise.
17395         * lib/unictype/scripts_byname.gperf: Likewise.
17396         * lib/unictype/sy_java_ident.h: Likewise.
17397         * lib/unigbrk/gbrkprop.h: Likewise.
17398         * lib/unilbrk/lbrkprop1.h: Likewise.
17399         * lib/unilbrk/lbrkprop2.h: Likewise.
17400         * lib/unilbrk/lbrktables.h: Likewise.
17401         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
17402         LBP_CP. Implement rule LB30.
17403         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
17404         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
17405         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
17406         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
17407         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
17408         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
17409         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
17410         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
17411         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
17412         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
17413         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
17414         bits instead of 16 bits in the code1 and code2 of each composition
17415         rule.
17416         (uc_composition): Update for Unicode 5.2.0.
17417         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
17418         * lib/uninorm/decomposition-table2.h: Likewise.
17419         * lib/uniwbrk/wbrkprop.h: Likewise.
17420         * tests/unicase/test-cased.c: Likewise.
17421         * tests/unicase/test-ignorable.c: Likewise.
17422         * tests/unicase/test-uc_tolower.c: Likewise.
17423         * tests/unicase/test-uc_totitle.c: Likewise.
17424         * tests/unicase/test-uc_toupper.c: Likewise.
17425         * tests/unictype/test-categ_C.c: Likewise.
17426         * tests/unictype/test-categ_Cf.c: Likewise.
17427         * tests/unictype/test-categ_Cn.c: Likewise.
17428         * tests/unictype/test-categ_L.c: Likewise.
17429         * tests/unictype/test-categ_Ll.c: Likewise.
17430         * tests/unictype/test-categ_Lm.c: Likewise.
17431         * tests/unictype/test-categ_Lo.c: Likewise.
17432         * tests/unictype/test-categ_Lu.c: Likewise.
17433         * tests/unictype/test-categ_M.c: Likewise.
17434         * tests/unictype/test-categ_Mc.c: Likewise.
17435         * tests/unictype/test-categ_Mn.c: Likewise.
17436         * tests/unictype/test-categ_N.c: Likewise.
17437         * tests/unictype/test-categ_Nd.c: Likewise.
17438         * tests/unictype/test-categ_Nl.c: Likewise.
17439         * tests/unictype/test-categ_No.c: Likewise.
17440         * tests/unictype/test-categ_P.c: Likewise.
17441         * tests/unictype/test-categ_Pd.c: Likewise.
17442         * tests/unictype/test-categ_Po.c: Likewise.
17443         * tests/unictype/test-categ_S.c: Likewise.
17444         * tests/unictype/test-categ_Sc.c: Likewise.
17445         * tests/unictype/test-categ_So.c: Likewise.
17446         * tests/unictype/test-ctype_alnum.c: Likewise.
17447         * tests/unictype/test-ctype_alpha.c: Likewise.
17448         * tests/unictype/test-ctype_graph.c: Likewise.
17449         * tests/unictype/test-ctype_lower.c: Likewise.
17450         * tests/unictype/test-ctype_print.c: Likewise.
17451         * tests/unictype/test-ctype_punct.c: Likewise.
17452         * tests/unictype/test-ctype_upper.c: Likewise.
17453         * tests/unictype/test-decdigit.h: Likewise.
17454         * tests/unictype/test-digit.h: Likewise.
17455         * tests/unictype/test-numeric.h: Likewise.
17456         * tests/unictype/test-pr_alphabetic.c: Likewise.
17457         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
17458         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
17459         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
17460         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
17461         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
17462         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
17463         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
17464         * tests/unictype/test-pr_combining.c: Likewise.
17465         * tests/unictype/test-pr_composite.c: Likewise.
17466         * tests/unictype/test-pr_currency_symbol.c: Likewise.
17467         * tests/unictype/test-pr_dash.c: Likewise.
17468         * tests/unictype/test-pr_decimal_digit.c: Likewise.
17469         * tests/unictype/test-pr_deprecated.c: Likewise.
17470         * tests/unictype/test-pr_diacritic.c: Likewise.
17471         * tests/unictype/test-pr_extender.c: Likewise.
17472         * tests/unictype/test-pr_grapheme_base.c: Likewise.
17473         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
17474         * tests/unictype/test-pr_grapheme_link.c: Likewise.
17475         * tests/unictype/test-pr_id_continue.c: Likewise.
17476         * tests/unictype/test-pr_id_start.c: Likewise.
17477         * tests/unictype/test-pr_ideographic.c: Likewise.
17478         * tests/unictype/test-pr_ignorable_control.c: Likewise.
17479         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
17480         * tests/unictype/test-pr_lowercase.c: Likewise.
17481         * tests/unictype/test-pr_numeric.c: Likewise.
17482         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
17483         * tests/unictype/test-pr_punctuation.c: Likewise.
17484         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
17485         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
17486         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
17487         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
17488         * tests/unictype/test-pr_uppercase.c: Likewise.
17489         * tests/unictype/test-pr_xid_continue.c: Likewise.
17490         * tests/unictype/test-pr_xid_start.c: Likewise.
17491         * tests/unictype/test-pr_zero_width.c: Likewise.
17492         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
17493         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
17494         changed behaviour: line breaking is now disallowed between a letter
17495         or '=' and '('.
17496         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
17497         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
17498         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
17499         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
17500         * tests/uniwidth/test-uc_width2.sh: Same updates as in
17501         lib/uniwidth/width.c.
17502         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
17503         without comments, but with the original copyright notice.
17504         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
17505         changes.
17506         * lib/unictype/categ_Cc.h: Likewise.
17507         * lib/unictype/categ_Co.h: Likewise.
17508         * lib/unictype/categ_Cs.h: Likewise.
17509         * lib/unictype/categ_Lt.h: Likewise.
17510         * lib/unictype/categ_Me.h: Likewise.
17511         * lib/unictype/categ_Pc.h: Likewise.
17512         * lib/unictype/categ_Pe.h: Likewise.
17513         * lib/unictype/categ_Pf.h: Likewise.
17514         * lib/unictype/categ_Pi.h: Likewise.
17515         * lib/unictype/categ_Ps.h: Likewise.
17516         * lib/unictype/categ_Sk.h: Likewise.
17517         * lib/unictype/categ_Sm.h: Likewise.
17518         * lib/unictype/categ_Z.h: Likewise.
17519         * lib/unictype/categ_Zl.h: Likewise.
17520         * lib/unictype/categ_Zp.h: Likewise.
17521         * lib/unictype/categ_Zs.h: Likewise.
17522         * lib/unictype/ctype_blank.h: Likewise.
17523         * lib/unictype/ctype_cntrl.h: Likewise.
17524         * lib/unictype/ctype_digit.h: Likewise.
17525         * lib/unictype/ctype_space.h: Likewise.
17526         * lib/unictype/ctype_xdigit.h: Likewise.
17527         * lib/unictype/mirror.h: Likewise.
17528         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
17529         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
17530         * lib/unictype/pr_bidi_block_separator.h: Likewise.
17531         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
17532         * lib/unictype/pr_bidi_common_separator.h: Likewise.
17533         * lib/unictype/pr_bidi_control.h: Likewise.
17534         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
17535         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
17536         * lib/unictype/pr_bidi_pdf.h: Likewise.
17537         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
17538         * lib/unictype/pr_bidi_whitespace.h: Likewise.
17539         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
17540         * lib/unictype/pr_format_control.h: Likewise.
17541         * lib/unictype/pr_hex_digit.h: Likewise.
17542         * lib/unictype/pr_hyphen.h: Likewise.
17543         * lib/unictype/pr_ids_binary_operator.h: Likewise.
17544         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
17545         * lib/unictype/pr_iso_control.h: Likewise.
17546         * lib/unictype/pr_join_control.h: Likewise.
17547         * lib/unictype/pr_left_of_pair.h: Likewise.
17548         * lib/unictype/pr_line_separator.h: Likewise.
17549         * lib/unictype/pr_math.h: Likewise.
17550         * lib/unictype/pr_non_break.h: Likewise.
17551         * lib/unictype/pr_not_a_character.h: Likewise.
17552         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
17553         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
17554         * lib/unictype/pr_other_id_continue.h: Likewise.
17555         * lib/unictype/pr_other_id_start.h: Likewise.
17556         * lib/unictype/pr_other_lowercase.h: Likewise.
17557         * lib/unictype/pr_other_math.h: Likewise.
17558         * lib/unictype/pr_other_uppercase.h: Likewise.
17559         * lib/unictype/pr_paired_punctuation.h: Likewise.
17560         * lib/unictype/pr_paragraph_separator.h: Likewise.
17561         * lib/unictype/pr_pattern_syntax.h: Likewise.
17562         * lib/unictype/pr_pattern_white_space.h: Likewise.
17563         * lib/unictype/pr_private_use.h: Likewise.
17564         * lib/unictype/pr_quotation_mark.h: Likewise.
17565         * lib/unictype/pr_radical.h: Likewise.
17566         * lib/unictype/pr_soft_dotted.h: Likewise.
17567         * lib/unictype/pr_space.h: Likewise.
17568         * lib/unictype/pr_titlecase.h: Likewise.
17569         * lib/unictype/pr_variation_selector.h: Likewise.
17570         * lib/unictype/pr_white_space.h: Likewise.
17571         * lib/unictype/sy_c_ident.h: Likewise.
17572         * lib/unictype/sy_c_whitespace.h: Likewise.
17573         * lib/unictype/sy_java_whitespace.h: Likewise.
17574         * modules/uni*/*: Bump version number of expected libunistring version.
17575         Reported by Simon Josefsson.
17576
17577 2011-01-09  Karl Heuer  <kwzh@gnu.org>
17578
17579         useless-if-before-free: fix typo in --help and make the internal,
17580         automatic version date update process work once again.
17581         --help output contained a NUL character instead of the
17582         backslash-zero that was intended.  Also, the "must lie within
17583         the first 8 lines" line is on line 9, and hence not getting
17584         automatically updated.
17585         * build-aux/useless-if-before-free: Fix the former by adding a
17586         backslash, and the latter by condensing the three lines of what-it-does
17587         to a single line, leaving one line of slack for the future.
17588
17589 2011-01-09  Bruno Haible  <bruno@clisp.org>
17590
17591         uniwidth/width: Fix width of U+1D173..U+1D17A.
17592         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
17593         symbolic_width, output_width_property_test): New functions.
17594         (main): Invoke output_nonspacing_property, output_width_property_test.
17595         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
17596         U+1D173..U+1D17A.
17597         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
17598         1.
17599         * modules/uniwidth/*: Bump version number of expected libunistring
17600         version.
17601         * modules/unilbrk/*: Likewise.
17602
17603 2011-01-08  Bruno Haible  <bruno@clisp.org>
17604
17605         uninorm tests: Preserve copyright of Unicode data file.
17606         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
17607         Mention modifications.
17608
17609 2011-01-08  Bruno Haible  <bruno@clisp.org>
17610
17611         gen-uni-tables: Prepare for Unicode 5.2.0.
17612         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
17613         (debug_output_lbp, output_lbp): Update.
17614
17615 2011-01-08  Bruno Haible  <bruno@clisp.org>
17616
17617         unilbrk: Clarify gen-uni-tables.c code.
17618         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
17619         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
17620         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
17621
17622 2011-01-07  Bruno Haible  <bruno@clisp.org>
17623
17624         strtod: Restore errno when successfully parsing Infinity or NaN.
17625         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
17626         restore the original errno.
17627
17628 2011-01-07  Bruno Haible  <bruno@clisp.org>
17629
17630         remove test: Avoid failure on HP-UX 11.
17631         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
17632
17633 2011-01-07  Bruno Haible  <bruno@clisp.org>
17634
17635         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
17636         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
17637         error code.
17638
17639 2011-01-07  Pádraig Brady <P@draigBrady.com>
17640
17641         ignore-value: fixup comments, and add Eric Blake
17642         as an author since he rewrote the macros.
17643         * lib/ignore-value.h (ignore_value):  State that
17644         we now support aggregates.  Also specify exactly
17645         when the GCC warn_unused_result feature was added.
17646
17647 2011-01-06  Eric Blake  <eblake@redhat.com>
17648
17649         ignore-value: support aggregate types
17650         * lib/ignore-value.h (ignore_value): Provide separate gcc
17651         definition.
17652         * modules/ignore-value-tests: New test module.
17653         * tests/test-ignore-value.c: New test.
17654
17655         maint.mk: improve sc_prohibit_strcmp regex
17656         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
17657         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
17658         definition of STRNEQ.
17659
17660         signal: work around Haiku issue with SIGBUS
17661         * lib/siglist.h: Add comment.
17662         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
17663         strsignal's favoring of SIGSEGV.
17664         * tests/test-signal.c (main): Avoid test failure.
17665         * doc/posix-headers/signal.texi (signal.h): Document the issue.
17666         Reported by Scott McCreary.
17667
17668         maint.mk: add pre-release check to ensure submodule commits are public
17669         * top/maint.mk (public-submodule-commit): New rule.
17670         (submodule-checks): New variable.
17671         (alpha beta stable): Depend on the variable.
17672
17673 2011-01-05  Pádraig Brady <P@draigBrady.com>
17674         and Jim Meyering  <meyering@redhat.com>
17675
17676         ignore-value: make ignore_value more generic; deprecate ignore_ptr
17677         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
17678         (ATTRIBUTE_DEPRECATED): Define.
17679         (_ignore_case): New function.
17680         (ignore_value): New macro, to replace the old function.
17681         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
17682         * modules/ignore-value (Depends-on): Add stdint.
17683
17684 2011-01-04  Eric Blake  <eblake@redhat.com>
17685
17686         doc: regenerate INSTALL
17687         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
17688         @firstparagraphindent support, now that autoconf dropped it.
17689         (INSTALL_PRELUDE): Reinstate old macro.
17690         * doc/install.texi: Resync from autoconf.
17691         * doc/INSTALL: Reflect recent autoconf update.
17692         * doc/INSTALL.ISO: Likewise.
17693         * doc/INSTALL.UTF-8: Likewise.
17694         Reported by Karl Berry.
17695
17696 2011-01-04  Bruce Korb  <address@hidden>
17697
17698         git-version-gen: avoid a sub-shell
17699         * build-aux/git-version-gen: Redirect stderr in `...` via
17700         "exec 2>...", rather than via an added sub-shell.
17701
17702 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
17703
17704         git-version-gen: use (...) rather than sh -c '...'
17705         * build-aux/git-version-gen: Rather than hard-coding a shell's name
17706         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
17707
17708 2011-01-03  Jim Meyering  <meyering@redhat.com>
17709
17710         git-version-gen: convert leading TABs to spaces
17711         * build-aux/git-version-gen: Expand leading TABs.
17712
17713         git-version-gen: handle failed "git rev-list"
17714         * build-aux/git-version-gen: Rather than leaking a "fatal" error
17715         from git and proceeding as if it had succeeded but printed no SHA1
17716         checksums, suppress the diagnostic and handle the failure.
17717         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
17718
17719         git-version-gen: include command name in one more diagnostic
17720         * build-aux/git-version-gen: When the required .tarball-version file
17721         was missing or unreadable, you might see the diagnostic from "cat",
17722         but no trace of the name of the invoking script.  Now, you still see
17723         the diagnostic from cat, but also get one from "git-version-gen: ".
17724         Inspired by a patch from Bruce Korb.
17725
17726         update-copyright: adjust test to match changed code
17727         * tests/test-update-copyright.sh: Change test's expected output
17728         to match new actual output.
17729
17730 2011-01-02  Bruno Haible  <bruno@clisp.org>
17731
17732         getlogin_r: Avoid test failure on HP-UX 11.
17733         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
17734         ERANGE when the second argument is zero.
17735         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
17736         portability problem.
17737
17738 2011-01-02  Bruce Korb  <bkorb@gnu.org>
17739
17740         * build-aux/update-copyright: doc Simon's changes
17741
17742 2011-01-02  Simon Josefsson  <simon@josefsson.org>
17743
17744         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
17745         environment variable.
17746
17747 2011-01-02  Bruno Haible  <bruno@clisp.org>
17748
17749         unigbrk: Avoid gcc warnings.
17750         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
17751         unused variable.
17752         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
17753         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
17754         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
17755         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
17756         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
17757         Change type of first argument to 'const char *'.
17758         (main): Remove unused variable.
17759         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
17760         type of first argument to 'const char *'.
17761         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
17762         Likewise.
17763         (main): Change type of variable 's'.
17764         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
17765         to 'int'.
17766
17767 2011-01-02  Bruno Haible  <bruno@clisp.org>
17768
17769         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
17770         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
17771         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
17772         bug.
17773         * lib/pwrite.c: Undo 2010-12-31 patch.
17774         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
17775
17776 2011-01-02  Bruno Haible  <bruno@clisp.org>
17777
17778         pread: Fix test whether it works.
17779         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
17780
17781 2011-01-02  Bruno Haible  <bruno@clisp.org>
17782
17783         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
17784         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
17785         ends in "6". Don't require a specific month name. Try also the locale
17786         names found on HP-UX 11 and Solaris 7.
17787
17788 2011-01-02  Bruno Haible  <bruno@clisp.org>
17789
17790         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
17791         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
17792         C linkage.
17793         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
17794
17795 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
17796
17797         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
17798         for consistency, since the "cluster" term is not used elsewhere.
17799         * lib/unigbrk.in.h: Update name.
17800         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
17801         * lib/unigbrk/u16-grapheme-next.c: Update name.
17802         * lib/unigbrk/u16-grapheme-prev.c: Update name.
17803         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
17804         * lib/unigbrk/u32-grapheme-next.c: Update name.
17805         * lib/unigbrk/u32-grapheme-prev.c: Update name.
17806         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
17807         * lib/unigbrk/u8-grapheme-next.c: Update name.
17808         * lib/unigbrk/u8-grapheme-prev.c: Update name.
17809         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
17810         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
17811         Suggested by Bruno Haible.
17812
17813 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
17814
17815         Remove module 'u8-grapheme-len' as too redundant with
17816         'u8-grapheme-next'.
17817         * modules/unigbrk/u8-grapheme-len: Delete file.
17818         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
17819         * lib/unigbrk.in.h: Remove prototype for deleted function.
17820         * lib/unigbrk/u8-grapheme-len.c: Delete file.
17821         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
17822
17823         Remove module 'u16-grapheme-len' as too redundant with
17824         'u16-grapheme-next'.
17825         * modules/unigbrk/u16-grapheme-len: Delete file.
17826         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
17827         * lib/unigbrk.in.h: Remove prototype for deleted function.
17828         * lib/unigbrk/u16-grapheme-len.c: Delete file.
17829         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
17830
17831         Remove module 'u32-grapheme-len' as too redundant with
17832         'u32-grapheme-next'.
17833         * modules/unigbrk/u32-grapheme-len: Delete file.
17834         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
17835         * lib/unigbrk.in.h: Remove prototype for deleted function.
17836         * lib/unigbrk/u32-grapheme-len.c: Delete file.
17837         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
17838
17839         Suggested by Bruno Haible.
17840
17841 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
17842
17843         * unigbrk.in.h: Fix typo: "ben" => "been".
17844         Reported by Bruno Haible.
17845
17846 2011-01-01  Jim Meyering  <meyering@redhat.com>
17847
17848         maint: update almost all copyright ranges to include 2011
17849         Run the new "make update-copyright" rule.
17850
17851 2011-01-01  Jim Meyering  <meyering@redhat.com>
17852
17853         maint: update-copyright: exempt doc/INSTALL*
17854         * Makefile (update-copyright): Also exclude doc/INSTALL*,
17855         since they are generated.  Suggested by Bruno Haible.
17856
17857 2011-01-01  Jim Meyering  <meyering@redhat.com>
17858
17859         maint: refine the update-copyright rule
17860         * Makefile (update-copyright): Also exclude any file that includes
17861         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
17862         code that merely generates the comment.
17863
17864 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
17865
17866         New module 'u8-grapheme-len'.
17867         * modules/unigbrk/u8-grapheme-len: New file.
17868         * modules/unigbrk/u8-grapheme-len-tests: New file.
17869         * lib/unigbrk.in.h: Add prototype for new function.
17870         * lib/unigbrk/u8-grapheme-len.c: New file.
17871         * tests/unigbrk/test-u8-grapheme-len.c: New file.
17872
17873         New module 'u16-grapheme-len'.
17874         * modules/unigbrk/u16-grapheme-len: New file.
17875         * modules/unigbrk/u16-grapheme-len-tests: New file.
17876         * lib/unigbrk.in.h: Add prototype for new function.
17877         * lib/unigbrk/u16-grapheme-len.c: New file.
17878         * tests/unigbrk/test-u16-grapheme-len.c: New file.
17879
17880         New module 'u32-grapheme-len'.
17881         * modules/unigbrk/u32-grapheme-len: New file.
17882         * modules/unigbrk/u32-grapheme-len-tests: New file.
17883         * lib/unigbrk.in.h: Add prototype for new function.
17884         * lib/unigbrk/u32-grapheme-len.c: New file.
17885         * tests/unigbrk/test-u32-grapheme-len.c: New file.
17886
17887         New module 'u8-grapheme-next'.
17888         * modules/unigbrk/u8-grapheme-next: New file.
17889         * modules/unigbrk/u8-grapheme-next-tests: New file.
17890         * lib/unigbrk.in.h: Add prototype for new function.
17891         * lib/unigbrk/u8-grapheme-next.c: New file.
17892         * tests/unigbrk/test-u8-grapheme-next.c: New file.
17893
17894         New module 'u16-grapheme-next'.
17895         * modules/unigbrk/u16-grapheme-next: New file.
17896         * modules/unigbrk/u16-grapheme-next-tests: New file.
17897         * lib/unigbrk.in.h: Add prototype for new function.
17898         * lib/unigbrk/u16-grapheme-next.c: New file.
17899         * tests/unigbrk/test-u16-grapheme-next.c: New file.
17900
17901         New module 'u32-grapheme-next'.
17902         * modules/unigbrk/u32-grapheme-next: New file.
17903         * modules/unigbrk/u32-grapheme-next-tests: New file.
17904         * lib/unigbrk.in.h: Add prototype for new function.
17905         * lib/unigbrk/u32-grapheme-next.c: New file.
17906         * tests/unigbrk/test-u32-grapheme-next.c: New file.
17907
17908         New module 'u8-grapheme-prev'.
17909         * modules/unigbrk/u8-grapheme-prev: New file.
17910         * modules/unigbrk/u8-grapheme-prev-tests: New file.
17911         * lib/unigbrk.in.h: Add prototype for new function.
17912         * lib/unigbrk/u8-grapheme-prev.c: New file.
17913         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
17914
17915         New module 'u16-grapheme-prev'.
17916         * modules/unigbrk/u16-grapheme-prev: New file.
17917         * modules/unigbrk/u16-grapheme-prev-tests: New file.
17918         * lib/unigbrk.in.h: Add prototype for new function.
17919         * lib/unigbrk/u16-grapheme-prev.c: New file.
17920         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
17921
17922         New module 'u32-grapheme-prev'.
17923         * modules/unigbrk/u32-grapheme-prev: New file.
17924         * modules/unigbrk/u32-grapheme-prev-tests: New file.
17925         * lib/unigbrk.in.h: Add prototype for new function.
17926         * lib/unigbrk/u32-grapheme-prev.c: New file.
17927         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
17928
17929         New module 'u8-grapheme-breaks'.
17930         * modules/unigbrk/u8-grapheme-breaks: New file.
17931         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
17932         * lib/unigbrk.in.h: Add prototype for new function.
17933         * lib/unigbrk/u8-grapheme-breaks.c: New file.
17934         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
17935
17936         New module 'u16-grapheme-breaks'.
17937         * modules/unigbrk/u16-grapheme-breaks: New file.
17938         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
17939         * lib/unigbrk.in.h: Add prototype for new function.
17940         * lib/unigbrk/u16-grapheme-breaks.c: New file.
17941         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
17942
17943         New module 'u32-grapheme-breaks'.
17944         * modules/unigbrk/u32-grapheme-breaks: New file.
17945         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
17946         * lib/unigbrk.in.h: Add prototype for new function.
17947         * lib/unigbrk/u32-grapheme-breaks.c: New file.
17948         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
17949
17950         New module 'ulc-grapheme-breaks'.
17951         * modules/unigbrk/ulc-grapheme-breaks: New file.
17952         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
17953         * m4/locale-ar.m4: New file.
17954         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
17955         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
17956         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
17957
17958 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
17959
17960         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
17961         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
17962         modified how this file was generated before I initially submitted
17963         the module, but failed to regenerate it.  This meant that several
17964         of the level2 entries were wrong.
17965         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
17966         Remove the division-by-2 that is folded into the table now that
17967         gbrkprop.h has been regenerated properly.  Now -1 entries are
17968         handled correctly.
17969
17970         New module 'unigbrk/uc-gbrk-prop-tests'.
17971         * modules/unigbrk/uc-gbrk-prop-tests: New file.
17972         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
17973         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
17974         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
17975
17976 2011-01-01  Bruno Haible  <bruno@clisp.org>
17977
17978         Avoid use of hexadecimal escapes.
17979         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
17980         instead of hexadecimal escapes.
17981
17982 2011-01-01  Jim Meyering  <meyering@redhat.com>
17983
17984         maint: new rule to update copyright year ranges
17985         * Makefile (update-copyright): New rule.
17986
17987         maint: indent with TABs in Makefile
17988         * Makefile: Expand leading sequences of spaces to TABs
17989
17990         version-etc: update the copyright year it reports
17991         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
17992
17993 2010-12-31  Bruno Haible  <bruno@clisp.org>
17994
17995         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
17996         * lib/isfinite.c (zerof, zerod, zerol): New variables.
17997         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
17998         zero.
17999
18000 2010-12-31  Bruno Haible  <bruno@clisp.org>
18001
18002         pwrite: Work around HP-UX 11.11 bug.
18003         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
18004         works and set REPLACE_PWRITE if not.
18005         * lib/pwrite.c (pwrite): Add an implementation that uses the system
18006         function.
18007         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
18008
18009 2010-12-31  Bruno Haible  <bruno@clisp.org>
18010
18011         pread: Work around HP-UX 11 bugs.
18012         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
18013         and set REPLACE_PREAD if not.
18014         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
18015
18016 2010-12-31  Eric Blake  <eblake@redhat.com>
18017
18018         nl_langinfo: fix YESEXPR on Irix 6.5
18019         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
18020         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
18021         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
18022         it.
18023
18024 2010-12-31  Bruno Haible  <bruno@clisp.org>
18025
18026         iconv: Document HP-UX 11 bug.
18027         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
18028
18029 2010-12-31  Bruno Haible  <bruno@clisp.org>
18030
18031         ldexpl: Fix link error on HP-UX 11.
18032         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
18033         LDEXPL_LIBM, using $ISNANL_LIBM.
18034
18035 2010-12-31  Eric Blake  <eblake@redhat.com>
18036
18037         ftello: avoid compilation failure with SunStudio c89
18038         * lib/ftello.c (ftello): Use lseek, not llseek.
18039
18040         tests: avoid failing coreutils tests on cygwin
18041         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
18042         (create_exe_shims_): Return 0 when skipping.
18043
18044 2010-12-31  Bruno Haible  <bruno@clisp.org>
18045
18046         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
18047         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
18048
18049 2010-12-31  Bruno Haible  <bruno@clisp.org>
18050
18051         waitpid: Fix link error in C++ mode.
18052         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
18053
18054 2010-12-31  Bruno Haible  <bruno@clisp.org>
18055
18056         isnan: Use GCC built-ins when possible.
18057         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
18058         __builtin_isnan.
18059         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
18060         (isnan): Define using GCC built-ins for GCC >= 4.0.
18061
18062 2010-12-31  Bruno Haible  <bruno@clisp.org>
18063
18064         isnand: Fix mistake.
18065         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
18066         __builtin_isnand.
18067
18068 2010-12-31  Bruno Haible  <bruno@clisp.org>
18069
18070         open: Avoid C++ error on HP-UX 11.
18071         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
18072
18073 2010-12-31  Bruno Haible  <bruno@clisp.org>
18074
18075         time_r: Add missing declarations on HP-UX 11.
18076         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
18077         instead of HAVE_LOCALTIME_R.
18078         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
18079         HAVE_LOCALTIME_R always.
18080         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
18081         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
18082         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
18083         HAVE_LOCALTIME_R.
18084         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
18085         * doc/posix-functions/localtime_r.texi: Likewise.
18086
18087 2010-12-29  Eric Blake  <eblake@redhat.com>
18088
18089         mountlist: tweak previous commit
18090         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
18091         Reported by Paul Eggert.
18092
18093         mountlist: fix local drive detection on cygwin
18094         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
18095         that works for cygwin.
18096
18097 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
18098
18099         ftoastr, snprintf: ftoastr + snprintf module
18100         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
18101         since the snprintf module now should be good enough here.
18102         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
18103         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
18104         and gl_MODULE_INDICATOR([snprintf]), but the former enables
18105         GNULIB_SNPRINTF only for the test directory, and the latter
18106         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
18107         seems to suffice by itself.
18108
18109 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
18110
18111         alloca: one step towards thread-safety
18112         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
18113         need for a static variable.  All callers changed.  This does not
18114         make the alloca replacement thread-safe, but it's one step.
18115
18116         tests: minor indenting change
18117         * tests/init.sh: Sync from coreutils housekeeping patch
18118         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
18119         to keep lines within 80 columns.
18120
18121 2010-12-28  Jim Meyering  <meyering@redhat.com>
18122
18123         regex: don't infloop on persistent failing calloc
18124         * lib/regexec.c (build_trtable): Return failure indication upon
18125         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
18126         In glibc, this was fixed for version 2.13:
18127         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
18128
18129 2010-12-28  Bruno Haible  <bruno@clisp.org>
18130             Paul Eggert <eggert@cs.ucla.edu>
18131
18132         linkat: Make implementation robust against system behaviour variations.
18133         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
18134         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
18135         way, and to -2 if it needs a generic runtime test.
18136         * lib/linkat.c (solaris_optimized_link_immediate,
18137         solaris_optimized_link_follow): New functions.
18138         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
18139         (check_same_link): Use it.
18140
18141 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
18142
18143         New module 'unigbrk/base'.
18144         * modules/unigbrk/base: New file.
18145         * lib/unigbrk.in.h: New file.
18146
18147         New module 'unigbrk/uc-gbrk-prop'.
18148         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
18149         * modules/unigbrk/uc-gbrk-prop: New file.
18150         * lib/unigbrk/gbrkprop.h: New file.
18151         * lib/unigbrk/uc-gbrk-prop.c: New file.
18152
18153         New module 'unigbrk/uc-is-grapheme-break'.
18154         * modules/unigbrk/uc-is-grapheme-break: New file.
18155         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
18156         * lib/unigbrk/uc-is-grapheme-break.c: New file.
18157         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
18158         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
18159         * tests/unigbrk/GraphemeBreakTest.txt: New file.
18160
18161         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
18162
18163 2010-12-27  Bruno Haible  <bruno@clisp.org>
18164
18165         linkat test: Avoid failure on Solaris 11 2010-11.
18166         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
18167
18168 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
18169
18170         utimens: work around glibc rounding bug on more platforms
18171         * lib/utimens.c (fdutimens): Work around rounding bug even if
18172         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
18173         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
18174
18175 2010-12-27  Bruno Haible  <bruno@clisp.org>
18176
18177         select tests: Improve comments.
18178         * tests/test-select.c (do_select): Add comments.
18179
18180 2010-12-27  Bruno Haible  <bruno@clisp.org>
18181
18182         select tests: Safer way of handling timeout.
18183         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
18184         at every invocation.
18185
18186 2010-12-27  Bruno Haible  <bruno@clisp.org>
18187
18188         select tests: Use 'bool' where appropriate.
18189         * tests/test-select.c (connect_to_socket): Change argument type to
18190         'bool'.
18191
18192 2010-12-27  Bruno Haible  <bruno@clisp.org>
18193
18194         select tests: Use existing modules.
18195         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
18196         (configure.ac): Don't test for unistd.h.
18197         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
18198         declared in <unistd.h>.
18199
18200 2010-12-27  Bruno Haible  <bruno@clisp.org>
18201
18202         mbrtowc: Work around a Solaris 7 bug.
18203         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
18204         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
18205         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
18206         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
18207         MBRTOWC_NULL_ARG1_BUG.
18208         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
18209         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
18210         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
18211         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
18212
18213 2010-12-27  Jim Meyering  <meyering@redhat.com>
18214
18215         read-file.c: tweak syntax
18216         * lib/read-file.c (fread_file): Remove space after "*" in function
18217         definitions.
18218
18219 2010-12-27  Bruno Haible  <bruno@clisp.org>
18220
18221         times test: Avoid gcc warnings on OSF/1.
18222         * tests/test-times.c (main): Cast printf arguments from clock_t to
18223         'long int'.
18224
18225 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
18226
18227         utimens: work around glibc rounding bug on older Linux kernels
18228         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
18229         on Linux with a glibc whose utimes might not work, then work
18230         around a longstanding glibc bug involving rounding rather than
18231         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
18232         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
18233
18234 2010-12-26  Bruno Haible  <bruno@clisp.org>
18235
18236         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
18237         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
18238         _GL_CXXALIAS_SYS.
18239         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18240
18241 2010-12-26  Bruno Haible  <bruno@clisp.org>
18242
18243         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
18244         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
18245         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
18246         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
18247         looking for the declaration.
18248         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
18249         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
18250         problem.
18251         * doc/posix-functions/inet_pton.texi: Likewise.
18252
18253 2010-12-26  Bruno Haible  <bruno@clisp.org>
18254
18255         arpa_inet: Use the common idioms with C++ support.
18256         * lib/arpa_inet.in.h: Include c++defs.h.
18257         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
18258         support.
18259         * modules/arpa_inet (Depends-on): Add c++defs.
18260         (Makefile.am): Substitute the contents of c++defs.h.
18261         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
18262         * modules/arpa_inet-c++-tests: New file.
18263         * tests/test-arpa_inet-c++.cc: New file.
18264
18265 2010-12-25  Bruno Haible  <bruno@clisp.org>
18266
18267         Fix more C++ link errors on Solaris 8.
18268         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
18269         $(LIB_EACCESS).
18270         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
18271         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
18272         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
18273         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
18274         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
18275
18276 2010-12-25  Bruno Haible  <bruno@clisp.org>
18277
18278         printf-posix: Fix link error when a non-GCC compiler is used.
18279         * lib/stdio.in.h (printf): When not using GCC, override printf
18280         correctly.
18281         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18282
18283 2010-12-25  Bruno Haible  <bruno@clisp.org>
18284
18285         strerror_r-posix: Update doc.
18286         * doc/posix-functions/strerror_r.texi: Update doc about the return
18287         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
18288
18289 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
18290
18291         utimens: simplify the logic of the previous change
18292         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
18293         This should not affect whether the test succeeds or fails.
18294
18295         utimens: configure better on hosts with NFS clock skew
18296         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
18297         uses the clock of the local host.  It might use the clock of the
18298         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
18299         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
18300
18301 2010-12-25  Bruno Haible  <bruno@clisp.org>
18302
18303         ptsname test: Avoid failure on Solaris.
18304         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
18305         open a pseudo-terminal; don't use BSD-style ptys.
18306         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
18307
18308 2010-12-25  Bruno Haible  <bruno@clisp.org>
18309
18310         ptsname: Avoid ERANGE failure on some systems.
18311         * lib/ptsname.c (buffer): Increase size.
18312
18313 2010-12-25  Bruno Haible  <bruno@clisp.org>
18314
18315         rename, renameat: Avoid test failures at NFS mounted locations.
18316         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
18317         so that subsequent mkdir calls succeed.
18318
18319 2010-12-25  Bruno Haible  <bruno@clisp.org>
18320
18321         iswblank: Fix C++ link error on Solaris 8.
18322         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
18323         _GL_FUNCDECL_SYS.
18324
18325 2010-12-25  Bruno Haible  <bruno@clisp.org>
18326
18327         unistd: Fix C++ link error on Solaris 8.
18328         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
18329
18330 2010-12-25  Bruno Haible  <bruno@clisp.org>
18331
18332         readlink doc: Mention an old glibc bug.
18333         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
18334
18335 2010-12-25  Bruno Haible  <bruno@clisp.org>
18336
18337         fcntl-h: Fix for use of C++ on glibc systems.
18338         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
18339         also on glibc systems in C++ mode.
18340         Reported by Gary V. Vaughan <gary@gnu.org>.
18341
18342 2010-12-25  Bruno Haible  <bruno@clisp.org>
18343
18344         roundl-ieee: Make it work on OSF/1 5.1 with cc.
18345         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
18346
18347 2010-12-25  Bruno Haible  <bruno@clisp.org>
18348
18349         truncl-ieee: Make it work on OSF/1 5.1 with cc.
18350         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
18351         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
18352         test whether truncl works according to ISO C 99 with IEC 60559.
18353         * m4/truncl-ieee.m4: New file.
18354         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
18355         m4/signbit.m4.
18356         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
18357
18358 2010-12-25  Bruno Haible  <bruno@clisp.org>
18359
18360         ceill-ieee: Make it work on OSF/1 5.1 with cc.
18361         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
18362         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
18363         test whether ceill works according to ISO C 99 with IEC 60559.
18364         * m4/ceill-ieee.m4: New file.
18365         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
18366         m4/signbit.m4.
18367         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
18368
18369 2010-12-25  Bruno Haible  <bruno@clisp.org>
18370
18371         Ensure all prerequisites of <wchar.h> are included.
18372         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
18373         before <wchar.h>.
18374         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
18375         gl_MBRLEN_NUL_RETVAL): Likewise.
18376         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
18377         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
18378         AC_FUNC_MBRTOWC): Likewise.
18379         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
18380         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
18381         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
18382         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
18383         Likewise.
18384         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
18385         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
18386         (gl_WCHAR_H): Improve comments.
18387         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
18388
18389 2010-12-25  Bruno Haible  <bruno@clisp.org>
18390
18391         strtok_r: Fix C syntax error in autoconf macro.
18392         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
18393         characters in test program.
18394
18395 2010-12-24  Bruno Haible  <bruno@clisp.org>
18396
18397         ceil, trunc, round: Fix gcc warnings.
18398         * lib/ceil.c (MIN): Undefine before redefining.
18399         * lib/trunc.c (MIN): Likewise.
18400         * lib/round.c (MIN): Likewise.
18401         Include <math.h> first.
18402
18403 2010-12-24  Bruno Haible  <bruno@clisp.org>
18404
18405         select tests: Avoid failures on OSF/1 5.1.
18406         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
18407         failure of closing the last socket; it may fail with ECONNRESET.
18408
18409 2010-12-24  Eric Blake  <eblake@redhat.com>
18410
18411         stdint: avoid HP-UX 10.20 preprocessor bug
18412         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
18413         than #if.
18414         * tests/test-floor2.c (main): Likewise.
18415         Reported by Peter O'Gorman.
18416
18417         pipe: make obsoletion transition easier
18418         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
18419         * modules/pipe (Files): Include revived file.
18420         (Include): Drop reference, to mirror getdate's behavior.
18421
18422 2010-12-24  Bruno Haible  <bruno@clisp.org>
18423
18424         sys_socket: Hide mismatch of declarations on NonStop Kernel.
18425         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
18426         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
18427         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18428
18429 2010-12-24  Bruno Haible  <bruno@clisp.org>
18430
18431         gethostname: Ensure declaration on NonStop Kernel.
18432         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
18433         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18434
18435 2010-12-24  Bruno Haible  <bruno@clisp.org>
18436
18437         sys_select: Ensure all necessary types on NonStop Kernel.
18438         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
18439         include <sys/time.h>.
18440         * doc/posix-headers/sys_select.texi: Mention that it's missing on
18441         NonStop Kernel.
18442         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18443
18444 2010-12-24  Bruno Haible  <bruno@clisp.org>
18445
18446         sys_select: Remove unneeded include.
18447         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
18448         have <sys/select.h>.
18449
18450 2010-12-24  Bruno Haible  <bruno@clisp.org>
18451
18452         gethostname: Provide a fallback for HOST_NAME_MAX.
18453         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
18454         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
18455         instead.
18456         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18457
18458 2010-12-24  Bruno Haible  <bruno@clisp.org>
18459
18460         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
18461         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
18462         (SA_RESTART): Likewise.
18463         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18464
18465 2010-12-24  Bruno Haible  <bruno@clisp.org>
18466
18467         signal: Define NSIG.
18468         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
18469         * tests/test-signal.c (nsig): New variable.
18470         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18471
18472 2010-12-24  Bruno Haible  <bruno@clisp.org>
18473
18474         rename, renameat: Avoid test failures on OSF/1 5.1.
18475         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
18476         alternative error codes.
18477         * tests/test-renameat.c (main): Likewise.
18478
18479 2010-12-24  Bruno Haible  <bruno@clisp.org>
18480
18481         *printf: Detect large precisions bug on Solaris 10/SPARC.
18482         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
18483         by Paul Eggert.
18484         * tests/test-snprintf-posix.h (test_function): Add this test code here
18485         too.
18486         * tests/test-sprintf-posix.h (test_function): Likewise.
18487         * tests/test-vasnprintf-posix.c (test_function): Likewise.
18488         * tests/test-vasprintf-posix.c (test_function): Likewise.
18489         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
18490         around by gnulib.
18491         * doc/posix-functions/printf.texi: Likewise.
18492         * doc/posix-functions/snprintf.texi: Likewise.
18493         * doc/posix-functions/sprintf.texi: Likewise.
18494         * doc/posix-functions/vfprintf.texi: Likewise.
18495         * doc/posix-functions/vprintf.texi: Likewise.
18496         * doc/posix-functions/vsnprintf.texi: Likewise.
18497         * doc/posix-functions/vsprintf.texi: Likewise.
18498         * doc/posix-functions/dprintf.texi: Undo last commit.
18499         * doc/posix-functions/vdprintf.texi: Likewise.
18500
18501 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
18502
18503         tests: port test-fdutimensat.c to Solaris 8
18504         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
18505         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
18506         On Solaris 8, it fails with errno == ENOSYS, because there is no
18507         futimens (so it can't use the fd), and there is no lutimens (so it
18508         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
18509
18510         vsnprintf: make more consistent with snprintf; doc fixes
18511
18512         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
18513         the byte count return problem was promoted from the snprintf-posix
18514         to the snprintf module.
18515         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
18516         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
18517         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
18518         * tests/test-snprintf.c (main): Check the byte count returned.
18519         * tests/test-vsnprintf.c (main): Likewise.
18520
18521 2010-12-23  Eric Blake  <eblake@redhat.com>
18522
18523         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
18524         * modules/sigpipe (License): Relax license.
18525
18526 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
18527
18528         doc: document Solaris printf bug with large float precisions
18529         * doc/posix-functions/dprintf.texi (dprintf):
18530         * doc/posix-functions/fprintf.texi (fprintf):
18531         * doc/posix-functions/printf.texi (printf):
18532         * doc/posix-functions/snprintf.texi (snprintf):
18533         * doc/posix-functions/sprintf.texi (sprintf):
18534         * doc/posix-functions/vdprintf.texi (vdprintf):
18535         * doc/posix-functions/vfprintf.texi (vfprintf):
18536         * doc/posix-functions/vprintf.texi (vprintf):
18537         * doc/posix-functions/vsnprintf.texi (vsnprintf):
18538         * doc/posix-functions/vsprintf.texi (vsprintf):
18539         Mention that these functions mishandle large floating point
18540         precisions on Solaris 10.  The same bug is also present in Solaris
18541         8, and I assume earlier.  This causes "cd gnulib-tests; make
18542         check" to fail on Solaris 8 (and I assume, later) when building
18543         the latest coreutils, in test-vasprintf-posix's call to
18544         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
18545         the wide flavors (e.g., wprintf) so this patch just updates the
18546         documentation for the narrow ones.
18547
18548         test-posixtm.c: add two tests
18549         * tests/test-posixtm.c: Add two tests, to highlight the
18550         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
18551         around this bug; this is merely to document it.
18552
18553 2010-12-22  Bruno Haible  <bruno@clisp.org>
18554
18555         getlogin_r: Work around portability problem on OSF/1.
18556         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
18557         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
18558         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
18559         test for a truncated result.
18560         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
18561         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
18562         * modules/getlogin_r (Depends-on): Add memchr.
18563         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
18564
18565 2010-12-22  Bruno Haible  <bruno@clisp.org>
18566
18567         ptsname: Avoid test failure on OSF/1 5.1.
18568         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
18569         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
18570         (same_slave): New function.
18571         (main): Use it to compare ptsname's result with the expected file name.
18572
18573 2010-12-22  Bruno Haible  <bruno@clisp.org>
18574
18575         Port extended stdio modules to HP NonStop Kernel.
18576         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
18577         macros.
18578         * lib/fbufmode.c: Update comments.
18579         * lib/fflush.c: Likewise.
18580         * lib/fpurge.c: Likewise.
18581         * lib/freadable.c: Likewise.
18582         * lib/freadahead.c: Likewise.
18583         * lib/freading.c: Likewise.
18584         * lib/freadptr.c: Likewise.
18585         * lib/freadseek.c: Likewise.
18586         * lib/fseeko.c: Likewise.
18587         * lib/fseterr.c: Likewise.
18588         * lib/fwritable.c: Likewise.
18589         * lib/fwriting.c: Likewise.
18590         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
18591
18592 2010-12-22  Bruno Haible  <bruno@clisp.org>
18593
18594         ttyname_r: Work around bug on OSF/1 5.1.
18595         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
18596         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
18597         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
18598         present.
18599         * lib/ttyname_r.c (ttyname_r): Update comments.
18600
18601 2010-12-22  Bruno Haible  <bruno@clisp.org>
18602
18603         round: Implement result sign according to IEEE 754.
18604         * lib/round.c (MIN, MINUS_ZERO): New macros.
18605         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
18606         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
18607         * tests/test-round-ieee.c (main): Likewise.
18608         * tests/test-roundl-ieee.c (main): Likewise.
18609
18610         trunc: Implement result sign according to IEEE 754.
18611         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
18612         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
18613         * tests/test-trunc2.c: Include minus-zero.h.
18614         (MINUS_ZERO): New macro.
18615         (trunc_reference): Keep in sync with lib/trunc.c.
18616         * tests/test-truncf2.c: Include minus-zero.h.
18617         (MINUS_ZERO): New macro.
18618         (truncf_reference): Keep in sync with lib/trunc.c.
18619         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
18620         * tests/test-trunc-ieee.c (main): Likewise.
18621         * tests/test-truncl-ieee.c (main): Likewise.
18622
18623         ceil: Implement result sign according to IEEE 754.
18624         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
18625         (FUNC): Return -0.0 for -1 < x < 0.
18626         * tests/test-ceil2.c: Include minus-zero.h.
18627         (MINUS_ZERO): New macro.
18628         (ceil_reference): Keep in sync with lib/ceil.c.
18629         * tests/test-ceilf2.c: Include minus-zero.h.
18630         (MINUS_ZERO): New macro.
18631         (ceilf_reference): Keep in sync with lib/ceil.c.
18632         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
18633         * tests/test-ceil-ieee.c (main): Likewise.
18634         * tests/test-ceill-ieee.c (main): Likewise.
18635
18636         floor: Implement result sign according to IEEE 754.
18637         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
18638         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
18639         * tests/test-floorf2.c (floorf_reference): Likewise.
18640         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
18641         * tests/test-floor-ieee.c (main): Likewise.
18642         * tests/test-floorl-ieee.c (main): Likewise.
18643
18644 2010-12-22  Bruno Haible  <bruno@clisp.org>
18645
18646         getaddrinfo: Update doc.
18647         * doc/posix-functions/gai_strerror.texi: Return type is also different
18648         on AIX and HP-UX.
18649
18650 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
18651
18652         getaddrinfo, inet_ntop: Update doc for Solaris.
18653         * doc/posix-functions/gai_strerror.texi: Return type is also an
18654         issue on Solaris 9 and earlier.
18655         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
18656         on Solaris 10 and earlier.
18657
18658 2010-12-21  Bruno Haible  <bruno@clisp.org>
18659
18660         New module 'roundl-ieee'.
18661         * modules/roundl-ieee: New file.
18662         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
18663         test whether roundl works according to ISO C 99 with IEC 60559.
18664         * m4/roundl-ieee.m4: New file.
18665         * modules/roundl-ieee-tests: New file.
18666         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
18667         * tests/test-roundl.c (main): Remove signbit tests.
18668         * modules/roundl-tests (Depends-on): Remove signbit.
18669         * doc/posix-functions/roundl.texi: Mention the new module.
18670
18671 2010-12-21  Bruno Haible  <bruno@clisp.org>
18672
18673         New module 'truncl-ieee'.
18674         * modules/truncl-ieee: New file.
18675         * modules/truncl-ieee-tests: New file.
18676         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
18677         * tests/test-truncl.c (main): Remove signbit tests.
18678         * modules/truncl-tests (Depends-on): Remove signbit.
18679         * doc/posix-functions/truncl.texi: Mention the new module.
18680
18681 2010-12-21  Bruno Haible  <bruno@clisp.org>
18682
18683         New module 'ceill-ieee'.
18684         * modules/ceill-ieee: New file.
18685         * modules/ceill-ieee-tests: New file.
18686         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
18687         * tests/test-ceill.c (main): Remove signbit tests.
18688         * modules/ceill-tests (Depends-on): Remove signbit.
18689         * doc/posix-functions/ceill.texi: Mention the new module.
18690
18691 2010-12-21  Bruno Haible  <bruno@clisp.org>
18692
18693         New module 'floorl-ieee'.
18694         * modules/floorl-ieee: New file.
18695         * modules/floorl-ieee-tests: New file.
18696         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
18697         * tests/test-floorl.c (main): Remove signbit tests.
18698         * modules/floorl-tests (Depends-on): Remove signbit.
18699         * doc/posix-functions/floorl.texi: Mention the new module.
18700
18701 2010-12-21  Bruno Haible  <bruno@clisp.org>
18702
18703         New module 'round-ieee'.
18704         * modules/round-ieee: New file.
18705         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
18706         whether round works according to ISO C 99 with IEC 60559.
18707         * m4/round-ieee.m4: New file.
18708         * modules/round-ieee-tests: New file.
18709         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
18710         * tests/test-round1.c (main): Remove signbit tests.
18711         * modules/round-tests (Depends-on): Remove 'signbit'.
18712         * doc/posix-functions/round.texi: Mention the new module.
18713
18714 2010-12-21  Bruno Haible  <bruno@clisp.org>
18715
18716         New module 'trunc-ieee'.
18717         * modules/trunc-ieee: New file.
18718         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
18719         whether trunc works according to ISO C 99 with IEC 60559.
18720         * m4/trunc-ieee.m4: New file.
18721         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
18722         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
18723         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
18724         * modules/trunc-ieee-tests: New file.
18725         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
18726         * tests/test-trunc1.c (main): Remove signbit tests.
18727         * modules/trunc-tests (Depends-on): Remove 'signbit'.
18728         * doc/posix-functions/trunc.texi: Mention the new module.
18729
18730 2010-12-21  Bruno Haible  <bruno@clisp.org>
18731
18732         New module 'ceil-ieee'.
18733         * modules/ceil-ieee: New file.
18734         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
18735         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
18736         ISO C 99 with IEC 60559.
18737         * m4/ceil-ieee.m4: New file.
18738         * modules/ceil (Files): Add lib/ceil.c.
18739         (Depends-on): Add 'float'.
18740         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18741         * lib/math.in.h (ceil): New declaration.
18742         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
18743         REPLACE_CEIL.
18744         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
18745         * modules/ceil-ieee-tests: New file.
18746         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
18747         * tests/test-math-c++.cc: Check the signature of 'ceil'.
18748         * doc/posix-functions/ceil.texi: Mention the new module.
18749
18750 2010-12-21  Bruno Haible  <bruno@clisp.org>
18751
18752         New module 'floor-ieee'.
18753         * modules/floor-ieee: New file.
18754         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
18755         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
18756         ISO C 99 with IEC 60559.
18757         * m4/floor-ieee.m4: New file.
18758         * modules/floor (Files): Add lib/floor.c.
18759         (Depends-on): Add 'float'.
18760         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
18761         * lib/math.in.h (floor): New declaration.
18762         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
18763         REPLACE_FLOOR.
18764         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
18765         * modules/floor-ieee-tests: New file.
18766         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
18767         * tests/test-math-c++.cc: Check the signature of 'floor'.
18768         * doc/posix-functions/floor.texi: Mention the new module.
18769
18770 2010-12-21  Bruno Haible  <bruno@clisp.org>
18771
18772         New module 'roundf-ieee'.
18773         * modules/roundf-ieee: New file.
18774         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
18775         test whether roundf works according to ISO C 99 with IEC 60559.
18776         * m4/roundf-ieee.m4: New file.
18777         * modules/roundf-ieee-tests: New file.
18778         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
18779         * tests/test-roundf1.c (main): Remove signbit tests.
18780         * modules/roundf-tests (Depends-on): Remove 'signbit'.
18781         * doc/posix-functions/roundf.texi: Mention the new module.
18782
18783 2010-12-21  Bruno Haible  <bruno@clisp.org>
18784
18785         New module 'truncf-ieee'.
18786         * modules/truncf-ieee: New file.
18787         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
18788         test whether truncf works according to ISO C 99 with IEC 60559.
18789         * m4/truncf-ieee.m4: New file.
18790         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
18791         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
18792         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
18793         * modules/truncf-ieee-tests: New file.
18794         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
18795         * tests/test-truncf1.c (main): Remove signbit tests.
18796         * modules/truncf-tests (Depends-on): Remove 'signbit'.
18797         * doc/posix-functions/truncf.texi: Mention the new module.
18798
18799 2010-12-21  Bruno Haible  <bruno@clisp.org>
18800
18801         New module 'ceilf-ieee'.
18802         * modules/ceilf-ieee: New file.
18803         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
18804         test whether ceilf works according to ISO C 99 with IEC 60559.
18805         * m4/ceilf-ieee.m4: New file.
18806         * modules/ceilf-ieee-tests: New file.
18807         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
18808         * tests/test-ceilf1.c (main): Remove signbit tests.
18809         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
18810         * doc/posix-functions/ceilf.texi: Mention the new module.
18811
18812 2010-12-21  Bruno Haible  <bruno@clisp.org>
18813
18814         New module 'floorf-ieee'.
18815         * modules/floorf-ieee: New file.
18816         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
18817         test whether floorf works according to ISO C 99 with IEC 60559.
18818         * m4/floorf-ieee.m4: New file.
18819         * modules/floorf-ieee-tests: New file.
18820         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
18821         * tests/test-floorf1.c (main): Remove signbit tests.
18822         * modules/floorf-tests (Depends-on): Remove 'signbit'.
18823         * doc/posix-functions/floorf.texi: Mention the new module.
18824
18825 2010-12-21  Bruno Haible  <bruno@clisp.org>
18826
18827         Support for minus zero in autoconf macros.
18828         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
18829         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
18830         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
18831         * tests/minus-zero.h: Update comments.
18832
18833 2010-12-21  Bruno Haible  <bruno@clisp.org>
18834
18835         Tests for module 'ceil'.
18836         * modules/ceil-tests: New file.
18837         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
18838         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
18839
18840 2010-12-21  Bruno Haible  <bruno@clisp.org>
18841
18842         Tests for module 'floor'.
18843         * modules/floor-tests: New file.
18844         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
18845         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
18846
18847 2010-12-21  Bruno Haible  <bruno@clisp.org>
18848
18849         math: Fix indentation.
18850         * lib/math.in.h (floorf): Fix indentation.
18851
18852 2010-12-21  Bruno Haible  <bruno@clisp.org>
18853
18854         Fix cross-compilation guesses on Solaris.
18855         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
18856         not match "solaris2.10".
18857         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
18858         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
18859         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
18860
18861 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
18862
18863         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
18864         This fixes a problem observed with the latest coreutils snapshot
18865         that caused a test to fail on Solaris 8.  src/csplit.c's call
18866         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
18867         earlier, instead of returning the number of bytes that would have
18868         been generated; this causes csplit to incorrectly report memory
18869         exhaustion.
18870         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
18871         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
18872         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
18873         comments to match.
18874         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
18875         Fix typo in matching older versions of Solaris: "solaris2.10"
18876         is matched by the shell pattern "solaris2.[0-9]*".  This matters
18877         only for guessing while cross-compiling.
18878         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
18879
18880 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
18881
18882         ftoastr: fix comment again
18883         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
18884         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
18885         Also, simplify example a bit by using flags = 0.
18886
18887 2010-12-20  Bruno Haible  <bruno@clisp.org>
18888
18889         round*, trunc*: Update documentation regarding glibc.
18890         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
18891         * doc/posix-functions/round.texi: Likewise.
18892         * doc/posix-functions/roundl.texi: Likewise.
18893         * doc/posix-functions/truncf.texi: Likewise.
18894         * doc/posix-functions/trunc.texi: Likewise.
18895         * doc/posix-functions/truncl.texi: Likewise.
18896
18897 2010-12-20  Bruno Haible  <bruno@clisp.org>
18898
18899         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
18900         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
18901         * doc/posix-functions/round.texi: Likewise.
18902         * doc/posix-functions/roundl.texi: Likewise.
18903
18904 2010-12-20  Bruno Haible  <bruno@clisp.org>
18905
18906         ttyname_r: Add missing declaration on HP-UX 11.
18907         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
18908         HAVE_TTYNAME_R.
18909         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
18910         declared. Set HAVE_TTYNAME_R always.
18911         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18912         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
18913         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
18914         HAVE_TTYNAME_R.
18915         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
18916
18917 2010-12-20  Bruno Haible  <bruno@clisp.org>
18918
18919         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
18920         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
18921         * doc/posix-functions/getlogin_r.texi: Likewise.
18922         * tests/test-getlogin.c: Include <errno.h>.
18923         (main): Avoid test failure on HP-UX 11.11.
18924         * tests/test-getlogin_r.c (main): Likewise.
18925
18926 2010-12-20  Bruno Haible  <bruno@clisp.org>
18927
18928         getlogin_r: Add missing declaration on HP-UX 11.
18929         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
18930         declared also when it exists as a function.
18931         * doc/posix-functions/getlogin_r.texi: Document this workaround.
18932
18933 2010-12-20  Bruno Haible  <bruno@clisp.org>
18934
18935         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
18936         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
18937         through wcrtomb.
18938
18939 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
18940
18941         ftoastr: fix comment
18942         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
18943         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
18944
18945 2010-12-19  Bruno Haible  <bruno@clisp.org>
18946
18947         isnan: Ensure it is a macro.
18948         * lib/math.in.h (isnan): Define as a macro if not already a macro.
18949         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
18950         Solaris.
18951
18952 2010-12-19  Bruno Haible  <bruno@clisp.org>
18953
18954         ldexpl test: Fix link error on OSF/1 5.1.
18955         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
18956
18957 2010-12-19  Bruno Haible  <bruno@clisp.org>
18958
18959         wctype: Make it work in C++ mode on OSF/1 5.1.
18960         * lib/wctype.in.h (iswblank): Declare but not define here.
18961         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
18962         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
18963         * modules/wctype (Files): Add lib/iswblank.c.
18964
18965 2010-12-19  Bruno Haible  <bruno@clisp.org>
18966
18967         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
18968         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
18969         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
18970
18971 2010-12-19  Bruno Haible  <bruno@clisp.org>
18972
18973         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
18974         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
18975         _POSIX_PII_SOCKET.
18976         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
18977         * doc/posix-functions/recvfrom.texi: Likewise.
18978         * doc/posix-functions/send.texi: Likewise.
18979         * doc/posix-functions/sendto.texi: Likewise.
18980
18981 2010-12-19  Bruno Haible  <bruno@clisp.org>
18982
18983         tcgetsid: Add missing declaration on OSF/1 5.1.
18984         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
18985         HAVE_TCGETSID.
18986         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
18987         Don't set HAVE_TCGETSID.
18988         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
18989         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
18990         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
18991         HAVE_TCGETSID.
18992         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
18993
18994 2010-12-19  Bruno Haible  <bruno@clisp.org>
18995
18996         stdio: Fix problem with popen() declaration on OSF/1 5.1.
18997         * lib/stdio.in.h: During the include_next statement, let recursive
18998         includes of this file include only the system header file.
18999
19000 2010-12-19  Bruno Haible  <bruno@clisp.org>
19001
19002         iconv_open: Fix regression from 2010-12-04.
19003         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
19004         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
19005
19006 2010-12-19  Bruno Haible  <bruno@clisp.org>
19007
19008         stdbool test: Avoid a gcc warning.
19009         * tests/test-stdbool.c (main): Fail if e1 is false.
19010         Reported by Jim Meyering.
19011
19012 2010-12-19  Jim Meyering  <meyering@redhat.com>
19013
19014         setenv: restore to working order
19015         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
19016         mistakenly removed.
19017         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
19018         HAVE_SETENV.
19019         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
19020         HAVE_SETENV.
19021
19022 2010-12-19  Bruno Haible  <bruno@clisp.org>
19023
19024         Document some different function declarations on OSF/1 5.1.
19025         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
19026         * doc/posix-functions/inet_ntop.texi: Likewise.
19027         * doc/posix-functions/gethostname.texi: Likewise.
19028         * lib/unistd.in.h (gethostname): Update comment.
19029
19030 2010-12-19  Bruno Haible  <bruno@clisp.org>
19031
19032         doc: Mention vasprintf-posix module.
19033         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
19034         the 'vasprintf-posix' module.
19035         * doc/glibc-functions/vasprintf.texi: Likewise.
19036
19037 2010-12-19  Bruno Haible  <bruno@clisp.org>
19038
19039         unsetenv: Add missing declaration on OSF/1 5.1.
19040         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
19041         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
19042         Don't set HAVE_UNSETENV. In the test program, set _BSD.
19043         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
19044         not HAVE_UNSETENV.
19045         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
19046         HAVE_UNSETENV.
19047         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
19048
19049 2010-12-19  Bruno Haible  <bruno@clisp.org>
19050
19051         setenv: Add missing declaration on OSF/1 5.1.
19052         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
19053         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
19054         declared. Don't set HAVE_SETENV.
19055         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
19056         not HAVE_SETENV.
19057         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
19058         HAVE_SETENV.
19059         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
19060
19061 2010-12-19  Bruno Haible  <bruno@clisp.org>
19062
19063         nl_langinfo tests: Avoid gcc warning.
19064         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
19065
19066 2010-12-19  Bruno Haible  <bruno@clisp.org>
19067
19068         mknod: Avoid error in C++ mode on OSF/1 with GCC.
19069         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
19070         _GL_CXXALIAS_SYS.
19071
19072 2010-12-19  Bruno Haible  <bruno@clisp.org>
19073
19074         stdbool: Relax test.
19075         * tests/test-stdbool.c (e): Don't require that casts from a variable's
19076         address to 'bool' work in static initializer, for compilers other than
19077         GCC.
19078
19079 2010-12-19  Bruno Haible  <bruno@clisp.org>
19080
19081         ftello: Add missing declaration on OSF/1 5.1.
19082         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
19083         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
19084         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
19085         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
19086         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
19087
19088 2010-12-19  Bruno Haible  <bruno@clisp.org>
19089
19090         fseeko: Add missing declaration on OSF/1 5.1.
19091         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
19092         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
19093         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
19094         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
19095         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
19096
19097 2010-12-19  Bruno Haible  <bruno@clisp.org>
19098
19099         fchdir: Add missing declaration on OSF/1 5.1.
19100         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
19101         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
19102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
19103         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
19104         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
19105
19106 2010-12-19  Bruno Haible  <bruno@clisp.org>
19107
19108         relocatable-prog-wrapper: Separate from relocatable-prog.
19109         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
19110         uninstall-relocwrapper rule here.
19111         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
19112         Reported by Ian Beckwith <ianb@erislabs.net>.
19113
19114 2010-12-19  Bruno Haible  <bruno@clisp.org>
19115
19116         unistr/u8-mbsnlen: Add missing dependency.
19117         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
19118         Reported by Ian Beckwith <ianb@erislabs.net>.
19119
19120 2010-12-19  Bruno Haible  <bruno@clisp.org>
19121
19122         iconv: Make it possible again to use this module without 'iconv-h'.
19123         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
19124         if it is not defined.
19125         Reported by Ian Beckwith <ianb@erislabs.net>.
19126
19127 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19128
19129         acl: port to Solaris 8 when copying from tmpfs to ufs
19130         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
19131         error number.  Problem observed on Solaris 8 with latest
19132         coreutils, with "mv A B", where A is on a tmpfs file system and B
19133         is on a ufs file system.  This caused coreutils' mv/part-symlink
19134         test to fail.
19135
19136         tests: set fail=0 at start
19137         * tests/init.sh (setup_): Move fail=0 initialization here ...
19138         (mktempd_): ... from here, so that tests can rely on fail being
19139         set to 0 initially.  This fixes a problem in coreutils; see:
19140         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
19141
19142 2010-12-18  Bruno Haible  <bruno@clisp.org>
19143
19144         memmem-simple: Stylistic changes.
19145         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
19146         Fix preprocessor directive indentation.
19147
19148 2010-12-15  Pádraig Brady <P@draigBrady.com>
19149
19150         memmem, memmem-simple: reorganize and expand empty needle check
19151         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
19152         functional checks to memmem-simple so that one has a fully functional
19153         memmem by using just this module.
19154         Restrict the performance only check to the memmem module.
19155         Also expand the empty needle check to ensure the correct
19156         pointer is returned, not just a non NULL pointer.
19157         * doc/glibc-functions/memmem.texi: Rearrange the portability
19158         documentation to correlate with the rearranged checks.
19159         Clarify exactly how the memmem and memmem-simple modules
19160         relate to each other.
19161
19162 2010-12-15  Pádraig Brady <P@draigBrady.com>
19163             Bruno Haible  <bruno@clisp.org>
19164
19165         Improve cross-compilation guesses for uClibc.
19166         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
19167         that uClibc does not have the glibc bug.
19168         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
19169         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
19170
19171 2010-12-14  Eric Blake  <eblake@redhat.com>
19172
19173         configmake: provide fallbacks for oldest supported autotools
19174         * m4/configmake.m4: New file.
19175         * modules/configmake (Files): Ship it.
19176         (configure.ac): Use it to guarantee fallbacks.
19177
19178 2010-12-13  Pádraig Brady <P@draigBrady.com>
19179
19180         read-file: Improve handling of large files
19181         * lib/read-file.c (fread_file): Minimize realloc()s
19182         for regular files, and better manage sizes around SIZE_MAX.
19183
19184 2010-12-13  Eric Blake  <eblake@redhat.com>
19185
19186         cloexec, fcntl: relax license
19187         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
19188         consent from all contributors.
19189         * modules/fcntl (License): Likewise.
19190
19191 2010-12-10  Bruno Haible  <bruno@clisp.org>
19192
19193         Tests for module 'pipe-posix'.
19194         * modules/pipe-posix-tests: New file.
19195         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
19196
19197 2010-12-10  Bruno Haible  <bruno@clisp.org>
19198
19199         pipe-posix: Make it work in C++ mode.
19200         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
19201         (pipe): Use common idiom, not a macro definition.
19202         * lib/pipe.c: New file.
19203         * m4/pipe.m4: New file.
19204         * modules/pipe-posix (Description): Enhance.
19205         (Files): Add lib/pipe.c, m4/pipe.m4.
19206         (configure.ac): Invoke gl_FUNC_PIPE.
19207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
19208         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
19209         * tests/test-unistd-c++.cc: Check the signature of pipe.
19210
19211 2010-12-10  Bruno Haible  <bruno@clisp.org>
19212
19213         Rename module 'pipe' to 'spawn-pipe'.
19214         * modules/spawn-pipe: New file, renamed from modules/pipe.
19215         (Files, configure.ac, Makefile.am): Update.
19216         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
19217         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
19218         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
19219         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
19220         "spawn-pipe.h" instead of "pipe.h".
19221         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
19222         to gl_SPAWN_PIPE.
19223         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
19224         (Files, Makefile.am): Update.
19225         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
19226         Update.
19227         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
19228         Include "spawn-pipe.h" instead of "pipe.h".
19229         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
19230         * lib/javacomp.c: Likewise.
19231         * lib/javaversion.c: Likewise.
19232         * lib/pipe-filter-gi.c: Likewise.
19233         * lib/pipe-filter-ii.c: Likewise.
19234         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
19235         * modules/javacomp (Depends-on): Likewise.
19236         * modules/javaversion (Depends-on): Likewise.
19237         * modules/pipe-filter-gi (Depends-on): Likewise.
19238         * modules/pipe-filter-ii (Depends-on): Likewise.
19239         * MODULES.html.sh (Executing programs): Update.
19240         * NEWS: Mention the change.
19241
19242 2010-12-10  Eric Blake  <eblake@redhat.com>
19243
19244         pipe-posix: new module
19245         * modules/pipe-posix: New file.
19246         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
19247         (gl_UNISTD_H): Check for declaration.
19248         * modules/unistd (Makefile.am): Substitute it.
19249         * lib/unistd.in.h (pipe): Provide it for mingw.
19250         * doc/posix-functions/pipe.texi (pipe): Update documentation.
19251         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
19252
19253 2010-12-07  Bruno Haible  <bruno@clisp.org>
19254
19255         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
19256         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
19257         u8_strcmp_gnu.
19258         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
19259
19260 2010-12-06  Bruno Haible  <bruno@clisp.org>
19261
19262         Update internal documentation.
19263         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
19264
19265 2010-12-04  Bruno Haible  <bruno@clisp.org>
19266
19267         Put more information about failed tests into the test return codes.
19268         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
19269         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
19270         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
19271         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
19272         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
19273         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
19274         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
19275         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
19276         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
19277         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19278         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
19279         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
19280         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
19281         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19282         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
19283         returns a bit mask.
19284         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
19285         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
19286         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
19287         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
19288         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
19289         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
19290         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
19291         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
19292         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
19293         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
19294         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
19295         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
19296         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
19297         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
19298         * m4/link.m4 (gl_FUNC_LINK): Likewise.
19299         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
19300         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
19301         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
19302         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
19303         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
19304         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
19305         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
19306         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
19307         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
19308         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
19309         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
19310         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
19311         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
19312         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
19313         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
19314         gl_PRINTF_PRECISION): Likewise.
19315         * m4/regex.m4 (gl_REGEX): Likewise.
19316         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
19317         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
19318         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
19319         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19320         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
19321         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
19322         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
19323         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
19324         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
19325         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
19326         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
19327         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
19328         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
19329         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
19330         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
19331         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19332         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
19333         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
19334         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
19335         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
19336         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
19337         enumerated value.
19338         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
19339
19340 2010-12-04  Bruno Haible  <bruno@clisp.org>
19341
19342         Update for Solaris 11 2010-11.
19343         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
19344         Express, released in November 2010.
19345
19346 2010-12-04  Bruno Haible  <bruno@clisp.org>
19347
19348         nproc: Relax license.
19349         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
19350         and Paul Eggert.
19351         Requested by Ludovic Courtès <ludo@gnu.org>.
19352
19353 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
19354
19355         utimecmp: fine-grained src to nearby coarse-grained dest
19356
19357         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
19358         and the source is on a file system with higher-resolution time
19359         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
19360         not work, and the time stamps are close together, the algorithm to
19361         determine the exact resolution from the read-back mtime was buggy:
19362         it had a "!=" where it should have had an "==".  This bug has been
19363         in the code ever since it was introduced to gnulib.
19364         Problem reported by Dan Jacobson in
19365         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
19366
19367 2010-11-30  Bruno Haible  <bruno@clisp.org>
19368
19369         strerror_r-posix: Fix autoconf test.
19370         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
19371
19372 2010-11-28  Bruno Haible  <bruno@clisp.org>
19373             Paul Eggert  <eggert@cs.ucla.edu>
19374
19375         Tests for module 'getdomainname'.
19376         * modules/getdomainname-tests: New file.
19377         * tests/test-getdomainname.c: New file, based on
19378         tests/test-gethostname.c.
19379
19380 2010-11-28  Bruno Haible  <bruno@clisp.org>
19381             Paul Eggert  <eggert@cs.ucla.edu>
19382
19383         getdomainname: Use the system function when possible.
19384         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
19385         (getdomainname): Replace if needed. Provide the declaration if it is
19386         missing. Don't use _GL_CXXALIAS_SYS_CAST.
19387         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
19388         (getdomainname): When the system has getdomainname, call the system
19389         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
19390         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
19391         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
19392         found in libnsl. Look for the declaration also in <netdb.h>. Replace
19393         the function if its second argument is of type 'int' or if it is found
19394         in libnsl.
19395         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
19396         <sys/systeminfo.h> and sysinfo().
19397         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
19398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19399         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
19400         HAVE_GETDOMAINNAME.
19401         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
19402         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
19403         * doc/glibc-functions/getdomainname.texi: Document the problems with
19404         the getdomainname declaration.
19405
19406 2010-11-28  Bruno Haible  <bruno@clisp.org>
19407
19408         sys_socket: Ensure ss_family field on AIX.
19409         * lib/sys_socket.in.h (ss_family): New macro definition.
19410         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
19411         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
19412         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
19413         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
19414         * modules/sys_socket (Makefile.am): Substitute
19415         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
19416         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
19417
19418 2010-11-27  Bruno Haible  <bruno@clisp.org>
19419
19420         readline: Improve configure output.
19421         * m4/readline.m4 (gl_FUNC_READLINE): Make the
19422         "checking for readline..." result understandable.
19423
19424 2010-11-27  Bruno Haible  <bruno@clisp.org>
19425
19426         *printf-posix: Detect a bug on Solaris 10/x86.
19427         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
19428         for floating-point output.
19429         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
19430         directive.
19431         * tests/test-snprintf-posix.h (test_function): Likewise.
19432         * tests/test-sprintf-posix.h (test_function): Likewise.
19433         * tests/test-vasprintf-posix.c (test_function): Likewise.
19434         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
19435         * doc/posix-functions/printf.texi: Likewise.
19436         * doc/posix-functions/snprintf.texi: Likewise.
19437         * doc/posix-functions/sprintf.texi: Likewise.
19438         * doc/posix-functions/vfprintf.texi: Likewise.
19439         * doc/posix-functions/vprintf.texi: Likewise.
19440         * doc/posix-functions/vsnprintf.texi: Likewise.
19441         * doc/posix-functions/vsprintf.texi: Likewise.
19442         * doc/glibc-functions/obstack_printf.texi: Likewise.
19443         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
19444
19445 2010-11-27  Bruno Haible  <bruno@clisp.org>
19446
19447         Fix link error when module libunistring-optional is in use.
19448         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
19449         * modules/striconveha-tests (Makefile.am): Likewise.
19450
19451 2010-11-27  Bruno Haible  <bruno@clisp.org>
19452
19453         regex: Mention link dependencies.
19454         * modules/regex (Link): New section.
19455         * modules/rpmatch (Link): Likewise.
19456         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
19457
19458 2010-11-27  Bruno Haible  <bruno@clisp.org>
19459
19460         ftoastr: Fix compilation error on Solaris.
19461         * lib/ftoastr.c: Include <config.h>.
19462
19463 2010-11-27  Bruno Haible  <bruno@clisp.org>
19464
19465         getloadavg: Update documentation.
19466         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
19467
19468 2010-11-27  Bruno Haible  <bruno@clisp.org>
19469
19470         sys_socket: Fix test whether the functions are declared.
19471         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
19472         not <sys/select.h>.
19473
19474 2010-11-27  Bruno Haible  <bruno@clisp.org>
19475
19476         getpass: Make sure to get system declaration on some platforms.
19477         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
19478         gl_USE_SYSTEM_EXTENSIONS.
19479         * modules/getpass (Depends-on): Add extensions.
19480
19481 2010-11-26  Bruno Haible  <bruno@clisp.org>
19482
19483         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
19484         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
19485         'iconv' module is present.
19486         (ICONV_CONST): New macro.
19487         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
19488         ICONV_CONST.
19489         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
19490         set ICONV_CONST.
19491         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
19492         here.
19493         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
19494         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
19495         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
19496         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
19497         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
19498         present.
19499
19500 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
19501
19502         ftoastr: comment fix
19503         * lib/ftoastr.c: "little" -> "little or no" in comment
19504
19505 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
19506
19507         stdint: port to GCC 4.3 + OSX + Octave
19508         On this platform, stdint.h is buggy and defines int64_t to long
19509         long int.  The replacement defined it to long int, causing
19510         problems with C++ style name mangling.  Instead, trust the system
19511         definition if INT64_MAX is defined, and likewise for the unsigned
19512         variant.   Problem reported by Jarno Rajahalme in
19513         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
19514         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
19515         and don't mess with int64_t and INT64_MAX in this case.
19516         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
19517
19518 2010-11-24  Bruno Haible  <bruno@clisp.org>
19519
19520         doc: Corrections regarding MacOS X 10.4 and 10.5.
19521         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
19522         MacOS X.
19523         Reported by Simon Josefsson.
19524
19525 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
19526
19527         Uninstall ".bin" files installed by relocwrapper.
19528         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
19529         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
19530         unless it is already there.
19531
19532 2010-11-21  Bruno Haible  <bruno@clisp.org>
19533
19534         Update for NetBSD 5.0.
19535         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
19536         NetBSD; the test fails on NetBSD 5.0.
19537         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
19538         about NetBSD.
19539
19540 2010-11-21  Bruno Haible  <bruno@clisp.org>
19541
19542         Update for HP-UX 11.23 and HP-UX 11.31.
19543         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
19544         HP-UX.
19545
19546 2010-11-21  Bruno Haible  <bruno@clisp.org>
19547
19548         Update for MacOS X 10.5.
19549         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
19550         MacOS X; the test fails on MacOS X 10.5.8.
19551         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
19552         about MacOS X.
19553
19554 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
19555
19556         bootstrap: add bootstrap_sync option.
19557         See discussion at
19558         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
19559         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
19560         * build-aux/bootstrap: Accept --bootstrap-sync to update
19561         bootstrap if it is not identical to the local gnulib's
19562         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
19563         enable this by default.  Accept --no-bootstrap-sync to disable
19564         it.
19565
19566 2010-11-20  Bruno Haible  <bruno@clisp.org>
19567
19568         Ensure that <features.h> is included before __GLIBC__ is tested.
19569         * lib/printf-parse.h: Include <features.h>.
19570         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
19571         Reported by Mike Frysinger <vapier@gentoo.org>.
19572
19573         Ensure that <features.h> is included before __GLIBC__ is tested.
19574         * lib/wchar.in.h: Include <features.h>.
19575         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
19576         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
19577         Reported by Mike Frysinger <vapier@gentoo.org>.
19578
19579         Ensure that <features.h> is included before __GLIBC__ is tested.
19580         * lib/arpa_inet.in.h: Include <features.h>.
19581         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
19582         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
19583         Reported by Mike Frysinger <vapier@gentoo.org>.
19584
19585         Ensure that <features.h> is included before __GLIBC__ is tested.
19586         * build-aux/link-warning.h: Include <features.h>.
19587         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
19588         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
19589         Reported by Mike Frysinger <vapier@gentoo.org>.
19590
19591         Ensure that <features.h> is included before __GLIBC__ is tested.
19592         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
19593         Reported by Mike Frysinger <vapier@gentoo.org>.
19594
19595 2010-11-20  Bruno Haible  <bruno@clisp.org>
19596
19597         memmem: Fix autoconf test.
19598         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
19599
19600 2010-11-20  Bruno Haible  <bruno@clisp.org>
19601
19602         Port to uClibc.
19603         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
19604         * lib/fcntl.in.h: Likewise.
19605         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
19606         * lib/mbrtowc.c (mbrtowc): Likewise.
19607         * lib/relocatable.c (find_shared_library_fullname): Likewise.
19608         * lib/strerror_r.c: Likewise.
19609         * lib/unistr/u8-strnlen.c: Likewise.
19610         * lib/vasnprintf.c (decimal_point_char): Likewise.
19611         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
19612         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
19613         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
19614         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
19615         * tests/test-sigaction.c (handler, main): Likewise.
19616         * lib/freading.h: Treat uClibc like a non-glibc platform.
19617         * lib/freading.c: Likewise.
19618         * lib/gettext.h: Likewise.
19619         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
19620         Likewise.
19621         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
19622         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
19623         * lib/propername.c (proper_name_utf8): Likewise.
19624         * lib/spawn.in.h: Likewise.
19625         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
19626         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
19627         mem_cd_iconveh_internal): Likewise.
19628         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
19629         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
19630         strstr, strcasestr): Likewise.
19631         * lib/unicodeio.c (unicode_to_mb): Likewise.
19632         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
19633         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
19634         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
19635         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
19636         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
19637         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
19638         * lib/unistr/u8-stpncpy.c: Likewise.
19639         * lib/vasnprintf.c (VASNPRINTF): Likewise.
19640         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
19641         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
19642         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
19643         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
19644         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
19645         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
19646         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
19647         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
19648         Likewise.
19649         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
19650         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
19651         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
19652         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19653         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
19654         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19655         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19656         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
19657         * tests/test-getopt.h (OPTIND_MIN): Likewise.
19658         * tests/test-striconveha.c (main): Likewise.
19659         * tests/test-vasnprintf-posix.c (test_function): Likewise.
19660         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
19661         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
19662         * doc/posix-functions/getline.texi: Likewise.
19663         Reported by Mike Frysinger <vapier@gentoo.org>.
19664
19665 2010-11-20  Bruno Haible  <bruno@clisp.org>
19666
19667         nproc: Fix condition.
19668         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
19669         HAVE_PTHREAD_AFFINITY_NP.
19670
19671 2010-11-20  Bruno Haible  <bruno@clisp.org>
19672
19673         Fix a comment.
19674         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
19675
19676 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
19677
19678         ftoastr: don't assume snprintf
19679         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
19680         Implement a subset of snprintf here, by using sprintf safely.
19681         * modules/ftoastr (Depends-on): Remove snprintf.
19682
19683 2010-11-19  Jim Meyering  <meyering@redhat.com>
19684
19685         test-rename.h: fix compilation failure
19686         * tests/test-rename.h (test_rename): Add omitted "}".
19687
19688 2010-11-17  Jim Meyering  <meyering@redhat.com>
19689
19690         maint.mk: add a URL discussing the no-@acronym policy
19691         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
19692
19693 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
19694
19695         ftoastr: depend on snprintf, improve comments
19696         * lib/ftoastr.c: Also mention Loitsch's draft.
19697         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
19698         needed in the current implementation, but it might simplify
19699         speeding up the code later.
19700         * modules/ftoastr: Depend on snprintf; this improves portability.
19701         Suggested by Bruno Haible in the same email.
19702
19703         ftoastr: port to hosts lacking strtof and strtold
19704         Problem reported by Bruno Haible in
19705         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
19706         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
19707         environment and strtold (and presumably strtof) are not available.
19708         * modules/ftoastr (Files): Add m4/c-strtod.m4.
19709         (configure.ac): Require gl_C99_STRTOLD.
19710
19711 2010-11-18  Bruno Haible  <bruno@clisp.org>
19712
19713         c-strtold: Avoid link error on AIX 7.
19714         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
19715         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
19716         (gl_C_STRTOLD): Test whether strtold_l exists.
19717         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19718
19719 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
19720
19721         intprops: new macro INT_BITS_STRLEN_BOUND
19722         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
19723         ftoastr.h.  This exposes an internal of intprops.h that was formerly
19724         not exposed.  Also, it uses a slightly tighter bound than before;
19725         though this makes no practical difference, we might as well be as
19726         tight as we easily can.
19727
19728         ftoastr: new module, for lossless conversion of floats to short strings
19729         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
19730         * modules/ftoastr: New files.
19731
19732 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
19733
19734         bootstrap: port to Solaris sed
19735         * build-aux/bootstrap (get_version): Port to Solaris sed.
19736         See Ralf Wildenhues's note in
19737         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
19738
19739 2010-11-14  Jim Meyering  <meyering@redhat.com>
19740
19741         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
19742         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
19743         and move definition closer to sole use.
19744
19745 2010-11-13  Jim Meyering  <meyering@redhat.com>
19746
19747         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
19748         Now we require at least autoconf-2.59, which means the work-around
19749         is no longer needed.
19750         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
19751         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
19752         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
19753         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
19754         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
19755
19756 2010-11-13  Bruno Haible  <bruno@clisp.org>
19757
19758         rename, renameat: Avoid test failures at NFS mounted locations.
19759         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
19760         functions.
19761         (test_rename): Use assert_nonexistent.
19762         * tests/test-rename.c: Include <dirent.h>.
19763         * tests/test-renameat.c: Likewise.
19764         Reported by Gary V. Vaughan <gary@gnu.org>.
19765
19766         rename, renameat: Document Linux bug with NFS
19767         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
19768         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
19769         * doc/posix-functions/renameat.texi: Likewise.
19770         Suggested by Eric Blake.
19771
19772 2010-11-13  Bruno Haible  <bruno@clisp.org>
19773
19774         rename test: Add comments.
19775         * tests/test-rename.h (test_rename): Add structure and comments.
19776
19777 2010-11-13  Eric Blake  <eblake@redhat.com>
19778
19779         maintainer-makefile: cover a few more files
19780         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
19781         scripts generated within C files, for libvirt.
19782
19783 2010-11-13  Bruno Haible  <bruno@clisp.org>
19784
19785         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
19786         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
19787         character, return the number of bytes that belong together, not always
19788         1.
19789         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
19790         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
19791         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
19792         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
19793         number of bytes of an invalid character.
19794         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
19795         (main): Invoke it.
19796         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
19797         results.
19798         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
19799         malformed byte sequences.
19800         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
19801         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
19802         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
19803         Reported by Ben Pfaff and Paolo Bonzini.
19804
19805 2010-11-13  Bruno Haible  <bruno@clisp.org>
19806
19807         openat: Work around glibc bug with fchownat() and empty file names.
19808         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
19809         (gl_FUNC_FCHOWNAT): Invoke it.
19810         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
19811         * doc/posix-functions/fchownat.texi: Document the glibc bug.
19812         Reported by Gary V. Vaughan <gary@gnu.org>.
19813
19814 2010-11-13  Bruno Haible  <bruno@clisp.org>
19815
19816         openat: Ensure autoconf macro ordering.
19817         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
19818         gl_USE_SYSTEM_EXTENSIONS.
19819         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
19820
19821 2010-11-13  Bruno Haible  <bruno@clisp.org>
19822
19823         Update comments.
19824         * lib/unistr/u8-check.c: Update file name in comments.
19825         * lib/unistr/u8-mblen.c: Likewise.
19826         * lib/unistr/u8-prev.c: Likewise.
19827         * lib/unistr/u8-strmblen.c: Likewise.
19828         * lib/unistr/u8-strmbtouc.c: Likewise.
19829
19830 2010-11-13  Jim Meyering  <meyering@redhat.com>
19831
19832         tests: avoid test failure on Solaris 10 due to lack of PATH export
19833         * tests/test-update-copyright.sh: Don't forget to export PATH.
19834
19835         init.sh: ensure that IFS is defined, just in case...
19836         * tests/init.sh (setup_): Ensure that IFS is defined,
19837         so that saving and restoring it works as expected.  This
19838         appears to be useful at least for an old version of dash
19839         from a long time ago (RH 6).  See here for details:
19840         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
19841
19842         maint.mk: tighten "test a == b" check
19843         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
19844         test to files that contain something like #!/bin/sh.
19845         Without this, coreutils would get two false positives in
19846         the comments of C source files.
19847
19848 2010-11-12  Eric Blake  <eblake@redhat.com>
19849
19850         bootstrap: fix typo in previous attempt
19851         * build-aux/bootstrap (buildreq): Correct the grouping.
19852         Reported by Paul Eggert.
19853
19854         maintainer-makefile: prohibit test x == x
19855         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
19856         Based on a report by Matthias Bolte.
19857
19858         bootstrap: allow FreeBSD gzip
19859         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
19860         which has no '.' and goes to stderr.
19861         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
19862         Reported by Matthias Bolte.
19863
19864         maintainer-makefile: check for i18n setup
19865         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
19866         will likely work.
19867
19868 2010-11-12  Bruno Haible  <bruno@clisp.org>
19869
19870         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
19871         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
19872         * lib/nanosleep.c (nanosleep): Likewise.
19873
19874 2010-11-11  Bruno Haible  <bruno@clisp.org>
19875
19876         fcntl-h: Fix for use of C++ on glibc systems.
19877         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
19878         also on glibc systems in C++ mode.
19879         Reported by Gary V. Vaughan <gary@gnu.org>.
19880
19881 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
19882
19883         mknod: avoid false failure with dash
19884         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
19885
19886 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
19887
19888         unlink: Fix "is it should" typo in diagnostic.
19889         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
19890         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
19891
19892 2010-11-11  Bruno Haible  <bruno@clisp.org>
19893
19894         Tests for module 'strerror_r-posix'.
19895         * modules/strerror_r-posix-tests: New file.
19896         * tests/test-strerror_r.c: New file.
19897         * tests/test-string-c++.cc: Check the signature of strerror_r.
19898
19899         New module 'strerror_r-posix'.
19900         * lib/string.in.h (strerror_r): New declaration.
19901         * lib/strerror_r.c: New file.
19902         * m4/strerror_r.m4: New file.
19903         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
19904         of strerror_r.
19905         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
19906         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
19907         * modules/strerror_r-posix: New file.
19908         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
19909         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
19910         * doc/posix-functions/strerror_r.texi: Mention the new module and the
19911         portability problems.
19912
19913 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
19914
19915         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
19916         line is also considered for output. Quoted function name in shell
19917         command, so temporary files for functions like MyClass::operator()
19918         are removed correctly without errors.
19919
19920 2010-11-09  Bruno Haible  <bruno@clisp.org>
19921
19922         * doc/posix-functions/strerror.texi: List more failing platforms.
19923
19924         * doc/posix-functions/strerror.texi: Add a comment.
19925
19926 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
19927
19928         fdopendir: fix bug on MacOS X when low on file descriptors
19929
19930         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
19931         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
19932         All callers changed.
19933         (fdopendir): Invoke save_cwd at the top level, not after using
19934         multiple dup() calls to use up file descriptors.  Then retry
19935         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
19936         less than the maximum number of open file descriptors, because
19937         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
19938         on Mac OS X 10.6.4 for tar 1.24
19939         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
19940         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
19941         and for tar 1.25
19942         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
19943
19944 2010-11-07  Bruno Haible  <bruno@clisp.org>
19945
19946         vasnprintf: Support I flag on glibc systems.
19947         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
19948         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
19949         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
19950         snprintf function.
19951         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
19952         glibc systems.
19953         * tests/test-vasnprintf-posix3.c: New file.
19954         * modules/vasnprintf-posix-tests (Files): Add it.
19955         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
19956
19957 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
19958
19959         [html] Fix copy/paste bug: Use unique name for compiler warnings.
19960         * MODULES.html.sh: For compiler warnings, use name
19961         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
19962
19963 2010-11-05  Eric Blake  <eblake@redhat.com>
19964
19965         ceil, floor: avoid spurious failure with icc
19966         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
19967         [denormals-as-zero] when optimizing without -mieee-fp option.
19968         * tests/test-floorf2.c (floorf_reference): Likewise.
19969         * tests/test-ceilf1.c (dummy): New function.
19970         (main): Use it to outsmart icc's optimization.
19971         * tests/test-floorf1.c (dummy, main): Likewise.
19972
19973         tests: require working signbit
19974         * modules/ceilf-tests (Depends-on): Add signbit.
19975         * modules/ceill-tests (Depends-on): Likewise.
19976         * modules/floorf-tests (Depends-on): Likewise.
19977         * modules/floorl-tests (Depends-on): Likewise.
19978         * modules/round-tests (Depends-on): Likewise.
19979         * modules/roundf-tests (Depends-on): Likewise.
19980         * modules/roundl-tests (Depends-on): Likewise.
19981         * modules/trunc-tests (Depends-on): Likewise.
19982         * modules/truncf-tests (Depends-on): Likewise.
19983         * modules/truncl-tests (Depends-on): Likewise.
19984
19985         strtod: work around icc bug
19986         * lib/strtod.c (minus_zero): Define to working value.
19987         (strtod): Use it to avoid icc bug.
19988
19989         copysign: enhance tests
19990         * modules/copysign-tests (Files): Add minus-zero.h.
19991         * tests/test-copysign.c (main): Also test zeros.
19992
19993 2010-11-04  Eric Blake  <eblake@redhat.com>
19994
19995         ceil, floor, round, trunc: enhance tests of -0
19996         * tests/test-ceilf1.c (main): Ensure correct sign of result.
19997         * tests/test-ceill.c (main): Likewise.
19998         * tests/test-floorf1.c (main): Likewise.
19999         * tests/test-floorl.c (main): Likewise.
20000         * tests/test-round1.c (main): Likewise.
20001         * tests/test-roundf1.c (main): Likewise.
20002         * tests/test-roundl.c (main): Likewise.
20003         * tests/test-trunc1.c (main): Likewise.
20004         * tests/test-truncf1.c (main): Likewise.
20005         * tests/test-truncl.c (main): Likewise.
20006
20007 2010-11-04  Eric Blake  <eblake@redhat.com>
20008
20009         frexp, tests: work around ICC bug with -zero
20010         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
20011         works with more compilers.
20012         * tests/minus-zero.h: New file.
20013         * modules/ceilf-tests (Files): Include it.
20014         * modules/ceill-tests (Files): Likewise.
20015         * modules/floorf-tests (Files): Likewise.
20016         * modules/floorl-tests (Files): Likewise.
20017         * modules/frexp-nolibm-tests (Files): Likewise.
20018         * modules/frexp-tests (Files): Likewise.
20019         * modules/frexpl-nolibm-tests (Files): Likewise.
20020         * modules/frexpl-tests (Files): Likewise.
20021         * modules/isnan-tests (Files): Likewise.
20022         * modules/isnand-nolibm-tests (Files): Likewise.
20023         * modules/isnand-tests (Files): Likewise.
20024         * modules/isnanf-nolibm-tests (Files): Likewise.
20025         * modules/isnanf-tests (Files): Likewise.
20026         * modules/isnanl-nolibm-tests (Files): Likewise.
20027         * modules/isnanl-tests (Files): Likewise.
20028         * modules/round-tests (Files): Likewise.
20029         * modules/roundf-tests (Files): Likewise.
20030         * modules/roundl-tests (Files): Likewise.
20031         * modules/ldexpl-tests (Files): Likewise.
20032         * modules/signbit-tests (Files): Likewise.
20033         * modules/snprintf-posix-tests (Files): Likewise.
20034         * modules/sprintf-posix-tests (Files): Likewise.
20035         * modules/strtod-tests (Files): Likewise.
20036         * modules/trunc-tests (Files): Likewise.
20037         * modules/truncf-tests (Files): Likewise.
20038         * modules/truncl-tests (Files): Likewise.
20039         * modules/vsnprintf-posix-tests (Files): Likewise.
20040         * modules/vsprintf-posix-tests (Files): Likewise.
20041         * modules/vasnprintf-posix-tests (Files): Likewise.
20042         * modules/vasprintf-posix-tests (Files): Likewise.
20043         * tests/test-ceilf1.c (main): Use it.
20044         * tests/test-ceill.c (main): Likewise.
20045         * tests/test-floorf1.c (main): Likewise.
20046         * tests/test-floorl.c (main): Likewise.
20047         * tests/test-frexp.c (main): Likewise.
20048         * tests/test-frexpl.c (main): Likewise.
20049         * tests/test-isnan.c (main): Likewise.
20050         * tests/test-isnand.h (main): Likewise.
20051         * tests/test-isnanf.h (main): Likewise.
20052         * tests/test-isnanl.h (main): Likewise.
20053         * tests/test-ldexpl.c (main): Likewise.
20054         * tests/test-round.c (main): Likewise.
20055         * tests/test-roundf.c (main): Likewise.
20056         * tests/test-roundl.c (main): Likewise.
20057         * tests/test-signbit.c (test_signbitf, test_signbitd)
20058         (test_signbitl): Likewise.
20059         * tests/test-snprintf-posix.h (test_function): Likewise.
20060         * tests/test-sprintf-posix.h (test_function): Likewise.
20061         * tests/test-strtod.c (main): Likewise.
20062         * tests/test-trunc1.c (main): Likewise.
20063         * tests/test-truncf1.c (main): Likewise.
20064         * tests/test-truncl.c (main): Likewise.
20065
20066         isnanl: work around icc bug
20067         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
20068
20069 2010-11-03  Eric Blake  <eblake@redhat.com>
20070
20071         tests: fix compiler warnings
20072         * tests/test-getopt.h (test_getopt): Fix condition.
20073         * tests/test-getopt_long.h (test_getopt_long): Likewise.
20074         * tests/test-pipe2.c (main): Likewise.
20075         * tests/test-quotearg-simple.c (main): Avoid icc warning.
20076
20077         utimens: fix broken m4 test
20078         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
20079
20080 2010-10-28  Bruno Haible  <bruno@clisp.org>
20081
20082         posix_spawn*, getdtablesize: Relax license.
20083         * modules/posix_spawn (License): Change to LGPLv2+.
20084         * modules/posix_spawnp (License): Likewise.
20085         * modules/posix_spawn-internal (License): Likewise.
20086         * modules/posix_spawnattr_init (License): Likewise.
20087         * modules/posix_spawnattr_getflags (License): Likewise.
20088         * modules/posix_spawnattr_setflags (License): Likewise.
20089         * modules/posix_spawnattr_getpgroup (License): Likewise.
20090         * modules/posix_spawnattr_setpgroup (License): Likewise.
20091         * modules/posix_spawnattr_getschedparam (License): Likewise.
20092         * modules/posix_spawnattr_setschedparam (License): Likewise.
20093         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
20094         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
20095         * modules/posix_spawnattr_getsigdefault (License): Likewise.
20096         * modules/posix_spawnattr_setsigdefault (License): Likewise.
20097         * modules/posix_spawnattr_getsigmask (License): Likewise.
20098         * modules/posix_spawnattr_setsigmask (License): Likewise.
20099         * modules/posix_spawnattr_destroy (License): Likewise.
20100         * modules/posix_spawn_file_actions_init (License): Likewise.
20101         * modules/posix_spawn_file_actions_addclose (License): Likewise.
20102         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
20103         * modules/posix_spawn_file_actions_addopen (License): Likewise.
20104         * modules/posix_spawn_file_actions_destroy (License): Likewise.
20105         * modules/getdtablesize (License): Likewise.
20106         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
20107
20108 2010-10-26  Bruno Haible  <bruno@clisp.org>
20109
20110         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
20111         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
20112         Cygwin and mingw.
20113         Suggested by Eric Blake.
20114
20115 2010-10-26  Bruno Haible  <bruno@clisp.org>
20116
20117         stdio: Work around compilation error due to renameat() on Solaris 10.
20118         * lib/stdio.in.h: Include <unistd.h> on Solaris.
20119         * lib/renameat.c: Don't include <unistd.h> here.
20120         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
20121         Reported by Paul Eggert and Eric Blake.
20122
20123 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
20124
20125         renameat: port to Solaris 10, which declares renameat in unistd.h
20126
20127         * lib/renameat.c: Include unistd.h before stdio.h, because
20128         Solaris 10 declares renameat in unistd.h.  Problem encountered
20129         when building GNU tar 1.24 on Solaris 10.
20130
20131 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
20132
20133         fdopendir: fix C89 compilation
20134         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
20135         compilers.
20136
20137 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
20138
20139         inttostr: simplify by removing unnecessary redundancy
20140         * lib/anytostr.c: Don't include verify.h.
20141         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
20142         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
20143         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
20144         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
20145         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
20146         Likewise.
20147         * modules/inttostr (Depends-on): Remove 'verify'.
20148
20149 2010-10-23  Bruno Haible  <bruno@clisp.org>
20150
20151         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
20152         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
20153         Reported by Eric Blake.
20154
20155 2010-10-23  Bruno Haible  <bruno@clisp.org>
20156
20157         Tests: Fix LOCALE_JA on MirBSD 10.
20158         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
20159         to an UTF-8 locale.
20160         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
20161         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20162         Reported by Eric Blake.
20163
20164 2010-10-21  Bruno Haible  <bruno@clisp.org>
20165
20166         nl_langinfo test: Avoid test failure on NetBSD 5.
20167         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
20168         Reported by Eric Blake.
20169
20170 2010-10-21  Eric Blake  <eblake@redhat.com>
20171
20172         c-stack: work around libsigsegv 2.8 bug
20173         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
20174         overflow on at least PowerPC64.
20175
20176 2010-10-17  Bruno Haible  <bruno@clisp.org>
20177
20178         userspec: Drop redundant file.
20179         * modules/userspec (Files): Remove lib/inttostr.h.
20180
20181 2010-10-17  Bruno Haible  <bruno@clisp.org>
20182
20183         nl_langinfo tests: Silence some warnings.
20184         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
20185         Reported by Jim Meyering.
20186
20187 2010-10-17  Bruno Haible  <bruno@clisp.org>
20188
20189         Make use of GCC's attribute __alloc_size__.
20190         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
20191         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
20192         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
20193         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
20194         __alloc_size__.
20195         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
20196         Suggested by Jim Meyering.
20197
20198 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
20199
20200         bootstrap: anchor .gitignore entries.
20201         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
20202         with...
20203         (insert_vc_ignore): ... this new function, which prepends `/' to
20204         all .gitignore entries before passing them to
20205         insert_sorted_if_absent.
20206
20207 2010-10-16  Bruno Haible  <bruno@clisp.org>
20208
20209         nextafter: Fix configure check.
20210         * modules/nextafter (configure.ac): Correct expected prototype.
20211
20212 2010-10-16  Bruno Haible  <bruno@clisp.org>
20213
20214         termios: Update documentation.
20215         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
20216
20217 2010-10-16  Bruno Haible  <bruno@clisp.org>
20218
20219         tests: Make them compile with TinyCC.
20220         * tests/test-strstr.c (main): Remove parentheses around array
20221         initializer.
20222
20223 2010-10-15  Eric Blake  <eblake@redhat.com>
20224
20225         ignore-value: make header idempotent
20226         * lib/ignore-value.h: Add double-inclusion guards.
20227         Reported by Stefan Berger.
20228
20229 2010-10-15  Jim Meyering  <meyering@redhat.com>
20230
20231         GNUmakefile: handle "stable" target, not "major"
20232         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
20233         lists in maint.mk and announce-gen.  Without this, "make stable"
20234         would fail to ensure that $(VERSION) is up to date.
20235
20236 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
20237
20238         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
20239         & co.
20240
20241 2010-10-14  Bruno Haible  <bruno@clisp.org>
20242
20243         vasnprintf: Don't set errno to 0.
20244         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
20245         block that sets it to 0.
20246         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
20247
20248 2010-10-14  Bruno Haible  <bruno@clisp.org>
20249
20250         socketlib: Fix.
20251         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
20252         gl_PREREQ_SYS_H_WINSOCK2.
20253         Reported by Ian Beckwith <ianb@erislabs.net>.
20254
20255 2010-10-13  Jim Meyering  <meyering@redhat.com>
20256
20257         test-select-stdin.c: avoid warn_unused_result warnings
20258         * tests/test-select-stdin.c: Include "macros.h".
20259         ASSERT that read and fflush succeed.
20260
20261 2010-10-13  Jim Meyering  <meyering@redhat.com>
20262
20263         git-version-gen: do require git-VC'd files in cwd
20264         * build-aux/git-version-gen: Reject a git version string
20265         if there are no commits associated with the current directory.
20266         This avoids an unlikely false-positive (unrelated dir whose parent
20267         repository also contains a tag matching v*), as pointed out
20268         by Giuseppe Scrivano in
20269         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
20270
20271 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
20272
20273         argv-iter: omit nonconforming declaration
20274         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
20275         enum arg_iter_err declaration, which doesn't conform to C99.
20276         Solaris 10 cc warns about this.
20277
20278 2010-10-13  Eric Blake  <eblake@redhat.com>
20279
20280         termios: fix compilation on mingw
20281         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
20282         (gl_TERMIOS_H): Adjust it on mingw.
20283         * modules/termios (Makefile.am): Substitute new key.
20284         * lib/termios.in.h (includes): Make include_next conditional.
20285         * doc/posix-headers/termios.texi (termios.h): Update
20286         documentation.
20287         Reported by Daniel P. Berrange.
20288
20289 2010-10-13  Jim Meyering  <meyering@redhat.com>
20290
20291         git-version-gen: don't require that .git/ be in the current dir
20292         * build-aux/git-version-gen: Adjust this script so that it works
20293         when run from any working directory beneath the top-level .git/-
20294         containing directory.  Inspired by a patch from Giuseppe Scrivano,
20295         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
20296
20297         test-select: avoid warn_unused_result warnings
20298         * tests/test-select.c: Include "macros.h".
20299         ASSERT that each call to read, write, and pipe succeeds.
20300         While not technically required, also check each "close".
20301         * modules/select-tests (Files): Add tests/macros.h.
20302
20303         test-symlinkat: remove declaration of unused local
20304         * tests/test-symlinkat.c (main): Remove unused local, "buf".
20305
20306         test-inttostr: avoid shadowing warnings
20307         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
20308         and use malloc rather than the stack for the same reason as
20309         mentioned in the comment justifying the other allocation.
20310
20311 2010-10-11  Bruno Haible  <bruno@clisp.org>
20312
20313         stdlib: Allow multiple gnulib generated replacements to coexist.
20314         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
20315         Reported by Sam Steingold <sds@gnu.org>.
20316
20317 2010-10-11  Jim Meyering  <meyering@redhat.com>
20318
20319         fix a documentation typo
20320         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
20321
20322 2010-10-11  Eric Blake  <eblake@redhat.com>
20323
20324         futimens: work around Solaris 11 bug
20325         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
20326         * tests/test-futimens.h (test_futimens): Enhance, rather than
20327         weaken test.
20328         * doc/posix-functions/futimens.texi (futimens): Document the bug.
20329
20330 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
20331
20332         Indentation.
20333         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
20334         higher-level operators more to the left.
20335
20336 2010-10-11  Jim Meyering  <meyering@redhat.com>
20337
20338         test-futimens: avoid unwarranted test failure on Solaris 5.11
20339         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
20340         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
20341         because it tries to dereference the NULL name argument.
20342
20343 2010-10-11  Bruno Haible  <bruno@clisp.org>
20344
20345         Indentation.
20346         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
20347         indentation.
20348
20349 2010-10-11  Jim Meyering  <meyering@redhat.com>
20350
20351         spawn.in.h: make indentation consistent with parentheses
20352         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
20353         Make indentation consistent with parentheses.
20354
20355 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
20356
20357         Fix mismatched parens in previous commit
20358         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
20359         parens.
20360
20361 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
20362
20363         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
20364
20365         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
20366         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
20367         * lib/malloca.c: Include "verify.h".
20368         (verify1): Remove, replacing with a verify call.
20369         * lib/relocwrapper.c (verify1): Likewise.
20370         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
20371         Likewise.
20372         * modules/malloca (Depends-on): Add 'verify'.
20373         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
20374         * modules/vasnprintf (Depends-on): Add 'verify'.
20375         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
20376         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
20377         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
20378         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
20379         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
20380         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
20381         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
20382
20383         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
20384
20385         Formerly the style was sometimes 2*X - 1, because the C standard
20386         was wrongly thought to disallow ?: in integral constant expressions.
20387         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
20388         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
20389         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
20390         * lib/stdint.in.h (_verify_intmax_size): Likewise.
20391         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
20392         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
20393         verify that time_t cannot be floating.
20394
20395 2010-10-08  Eric Blake  <eblake@redhat.com>
20396
20397         time: enforce recent POSIX ruling that time_t is integral
20398         * lib/time.in.h (__time_t_must_be_integral): Detect any
20399         problematic systems, allowing the rest of gnulib to assume POSIX.
20400
20401 2010-10-08  Jim Meyering  <meyering@redhat.com>
20402
20403         fdopendir: fix a bug on systems lacking openat and /proc support
20404         OpenBSD 4.7 is one such system.  The most noticeable effect was
20405         failure of any application making nontrivial use of fts: rm, du,
20406         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
20407           ./rm: traversal failed: `a': Bad file descriptor
20408         Debugging that, you see that even though FD 6 was closed just
20409         prior to the opendir call in fd_clone_opendir, its resulting
20410         dir->dd_fd was 8, rather than the expected value of 6:
20411
20412         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
20413         93                close (fd);
20414         (gdb) n
20415         94                dir = fd_clone_opendir (dupfd);
20416         (gdb) n
20417         95                saved_errno = errno;
20418         (gdb) p dir->dd_fd
20419         $11 = 8
20420
20421         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
20422         The problem is that on OpenBSD, fd_clone_opendir has to resort
20423         to using the old-style save/restore CWD mechanism, due to its
20424         lack of openat/proc support, and *that* would steal the FD (6)
20425         that opendir was supposed to use.
20426
20427         The fix is to squirrel away the desired FD so that save_cwd uses a
20428         different one, and then free the dest FD right before calling opendir.
20429         That guarantees opendir will use the required file descriptor.
20430
20431         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
20432
20433 2010-10-08  Bruno Haible  <bruno@clisp.org>
20434
20435         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
20436         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
20437
20438 2010-10-08  Bruno Haible  <bruno@clisp.org>
20439
20440         nanosleep: Make replacement POSIX compliant.
20441         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
20442         is out of range.
20443         Reported by Jim Meyering.
20444
20445 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
20446
20447         bootstrap: add hook for altering gnulib.mk, for Bison
20448         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
20449         the Bison bootstrapping process can rewrite file names and variables
20450         in this file before later parts of 'bootstrap' use the file.
20451         Bison wants to include lib/gnulib.mk from the top-level makefile,
20452         so it needs the file names in this file to be relative to the top
20453         level, not relative to lib; plus it needs variable names to be
20454         rewritten.
20455         (slurp): Use the new function.
20456
20457         bootstrap: reformat for readability
20458         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
20459
20460 2010-10-08  Eric Blake  <eblake@redhat.com>
20461
20462         docs: update cygwin progress
20463         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
20464         1.7.7.
20465         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
20466         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
20467         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
20468         * doc/posix-functions/carg.texi (carg): Likewise.
20469         * doc/posix-functions/cargf.texi (cargf): Likewise.
20470         * doc/posix-functions/casin.texi (casin): Likewise.
20471         * doc/posix-functions/casinf.texi (casinf): Likewise.
20472         * doc/posix-functions/casinh.texi (casinh): Likewise.
20473         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
20474         * doc/posix-functions/catan.texi (catan): Likewise.
20475         * doc/posix-functions/catanf.texi (catanf): Likewise.
20476         * doc/posix-functions/catanh.texi (catanh): Likewise.
20477         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
20478         * doc/posix-functions/ccos.texi (ccos): Likewise.
20479         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
20480         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
20481         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
20482         * doc/posix-functions/cexp.texi (cexp): Likewise.
20483         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
20484         * doc/posix-functions/cimag.texi (cimag): Likewise.
20485         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
20486         * doc/posix-functions/clog.texi (clog): Likewise.
20487         * doc/posix-functions/clogf.texi (clogf): Likewise.
20488         * doc/posix-functions/conj.texi (conj): Likewise.
20489         * doc/posix-functions/conjf.texi (conjf): Likewise.
20490         * doc/posix-functions/cpow.texi (cpow): Likewise.
20491         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
20492         * doc/posix-functions/cproj.texi (cproj): Likewise.
20493         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
20494         * doc/posix-functions/creal.texi (creal): Likewise.
20495         * doc/posix-functions/crealf.texi (crealf): Likewise.
20496         * doc/posix-functions/csin.texi (csin): Likewise.
20497         * doc/posix-functions/csinf.texi (csinf): Likewise.
20498         * doc/posix-functions/csinh.texi (csinh): Likewise.
20499         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
20500         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
20501         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
20502         * doc/posix-functions/ctan.texi (ctan): Likewise.
20503         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
20504         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
20505         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
20506         * doc/posix-headers/complex.texi (complex.h): Likewise.
20507
20508 2010-10-07  Jim Meyering  <meyering@redhat.com>
20509
20510         parse-datetime: avoid compilation failure on OpenBSD 4.7
20511         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
20512         This works around a compilation failure on OpenBSD 4.7:
20513         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
20514
20515 2010-10-07  Eric Blake  <eblake@redhat.com>
20516
20517         docs: update cygwin progress
20518         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
20519         1.7.6.
20520         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
20521         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
20522         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
20523         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
20524         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
20525         Likewise.
20526         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
20527         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
20528         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
20529         Likewise.
20530         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
20531         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
20532         Likewise.
20533         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
20534         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
20535         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
20536         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
20537         Likewise.
20538         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
20539         Likewise.
20540         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
20541
20542         docs: update parse-datetime history
20543         * doc/parse-datetime.texi (Authors of parse_datetime): Better
20544         documentation of this function's history and alternatives.
20545
20546         cygwin: use more robust version check
20547         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
20548         exclude an eventual cygwin 1.9.1.
20549         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
20550         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
20551         (gl_FUNC_STRCASESTR): Likewise.
20552         Reported by Bruno Haible.
20553
20554 2010-10-06  Bruno Haible  <bruno@clisp.org>
20555
20556         string, sys_select: Avoid #including large headers unless necessary.
20557         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
20558         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
20559         OSF/1, BeOS, Haiku.
20560         Reported by Jim Meyering.
20561
20562 2010-10-05  Eric Blake  <eblake@redhat.com>
20563
20564         memmem, strstr, strcasestr: fix bug with long periodic needle
20565         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
20566         periodic needle having false positive.
20567         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
20568         and cygwin 1.7.7.
20569         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
20570         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
20571         (gl_FUNC_STRCASESTR): Likewise.
20572         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
20573         * tests/test-memmem.c (main): Expose the bug.
20574         * tests/test-strcasestr.c (main): Likewise.
20575         * tests/test-strstr.c (main): Likewise.
20576         * tests/test-c-strcasestr.c (main): Likewise.
20577         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
20578         * doc/posix-functions/strstr.texi (strstr): Likewise.
20579         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
20580         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
20581
20582 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
20583
20584         parse-datetime: do some more renaming
20585         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
20586         parse_datetime, not get_date.  Mention the renaming.
20587         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
20588         in comments.
20589         * m4/bison.m4: Likewise.
20590
20591 2010-10-05  Eric Blake  <eblake@redhat.com>
20592
20593         parse-datetime: better name than get_date
20594         * NEWS: Reword the deprecation notice.
20595         * modules/get_date: Rename to modules/parse-datetime.
20596         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
20597         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
20598         * lib/get_date.y: Rename to lib/parse-datetime.y.
20599         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
20600         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
20601         * doc/getdate.texi: Provide fallback wrapper.
20602         * lib/getdate.h: Move guts, and wrap...
20603         * lib/parse-datetime.h: ...new file.
20604         * lib/parse-datetime.y (get_date): Rename...
20605         (parse_datetime): ...to this.
20606         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
20607         (gl_PARSE_DATETIME): ...to this.
20608         * doc/posix-functions/getdate.texi (get_date): Provide fallback
20609         documentation.
20610         * modules/getdate (Files): Provide fallback docs and header.
20611         (Notice, Depends-on): Update references.
20612         * tests/test-parse-datetime.c: Likewise.
20613         * DEPENDENCIES: Likewise.
20614         * MODULES.html.sh (Date and time <time.h>): Likewise.
20615         * doc/parse-datetime.texi (Date input formats)
20616         (Authors of parse_datetime): Likewise.
20617         * modules/parse-datetime (Files, configure.ac, Makefile.am)
20618         (Include): Likewise.
20619         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
20620         * gnulib-tool: Likewise.
20621         * m4/bison.m4 (gl_BISON): Likewise.
20622         Suggested by Bruno Haible.
20623
20624 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
20625
20626         more ports to Solaris tr, which needs [] around ranges
20627         * gnulib-tool: Solaris tr needs [] around ranges.
20628         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
20629         * tests/test-pipe-filter-gi1.c (main): Likewise.
20630         * tests/test-pipe-filter-ii1.c (main): Likewise.
20631
20632 2010-10-05  Eric Blake  <eblake@redhat.com>
20633
20634         bootstrap: fix Solaris regression
20635         * build-aux/bootstrap (check_versions): Solaris tr still needs []
20636         around ranges.
20637         Reported by Pádraig Brady.
20638
20639         bootstrap: work with pkg-config
20640         * build-aux/bootstrap (check_versions): Also transliterate - in
20641         prerequisite name.
20642         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
20643         prerequisites that were already found, to avoid confusion.
20644         Reported by Justin Clift.
20645
20646         faccessat: remove unused wrappers
20647         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
20648         presence of these wrappers dragged in -lgen on Solaris.
20649         Reported by Clemens Brogi; fix suggested by Paul Eggert.
20650
20651 2010-10-05  Jim Meyering  <meyering@redhat.com>
20652
20653         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
20654         * Makefile (sc_pragma_columns): New syntax-check rule.
20655
20656 2010-10-04  Bruno Haible  <bruno@clisp.org>
20657
20658         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
20659         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
20660         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
20661         Reported by Bruce Korb and Eric Blake.
20662
20663 2010-10-04  Bruno Haible  <bruno@clisp.org>
20664
20665         threadlib: Make option --with-libpth-prefix work.
20666         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
20667         use $LIBPTH, not just -lpth.
20668
20669 2010-10-04  Bruno Haible  <bruno@clisp.org>
20670
20671         Avoid line length limitation from HP NonStop system header files.
20672         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
20673         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
20674         * lib/ctype.in.h: Likewise.
20675         * lib/dirent.in.h: Likewise.
20676         * lib/errno.in.h: Likewise.
20677         * lib/fcntl.in.h: Likewise.
20678         * lib/float.in.h: Likewise.
20679         * lib/getopt.in.h: Likewise.
20680         * lib/iconv.in.h: Likewise.
20681         * lib/inttypes.in.h: Likewise.
20682         * lib/langinfo.in.h: Likewise.
20683         * lib/locale.in.h: Likewise.
20684         * lib/math.in.h: Likewise.
20685         * lib/netdb.in.h: Likewise.
20686         * lib/netinet_in.in.h: Likewise.
20687         * lib/poll.in.h: Likewise.
20688         * lib/pthread.in.h: Likewise.
20689         * lib/pty.in.h: Likewise.
20690         * lib/sched.in.h: Likewise.
20691         * lib/se-selinux.in.h: Likewise.
20692         * lib/search.in.h: Likewise.
20693         * lib/signal.in.h: Likewise.
20694         * lib/spawn.in.h: Likewise.
20695         * lib/stdarg.in.h: Likewise.
20696         * lib/stddef.in.h: Likewise.
20697         * lib/stdint.in.h: Likewise.
20698         * lib/stdio.in.h: Likewise.
20699         * lib/stdlib.in.h: Likewise.
20700         * lib/string.in.h: Likewise.
20701         * lib/strings.in.h: Likewise.
20702         * lib/sys_file.in.h: Likewise.
20703         * lib/sys_ioctl.in.h: Likewise.
20704         * lib/sys_select.in.h: Likewise.
20705         * lib/sys_socket.in.h: Likewise.
20706         * lib/sys_stat.in.h: Likewise.
20707         * lib/sys_time.in.h: Likewise.
20708         * lib/sys_times.in.h: Likewise.
20709         * lib/sys_utsname.in.h: Likewise.
20710         * lib/sys_wait.in.h: Likewise.
20711         * lib/sysexits.in.h: Likewise.
20712         * lib/termios.in.h: Likewise.
20713         * lib/time.in.h: Likewise.
20714         * lib/unistd.in.h: Likewise.
20715         * lib/wchar.in.h: Likewise.
20716         * lib/wctype.in.h: Likewise.
20717         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
20718         * modules/ctype (Makefile.am): Likewise.
20719         * modules/dirent (Makefile.am): Likewise.
20720         * modules/errno (Makefile.am): Likewise.
20721         * modules/fcntl-h (Makefile.am): Likewise.
20722         * modules/float (Makefile.am): Likewise.
20723         * modules/getopt-posix (Makefile.am): Likewise.
20724         * modules/iconv-h (Makefile.am): Likewise.
20725         * modules/inttypes (Makefile.am): Likewise.
20726         * modules/langinfo (Makefile.am): Likewise.
20727         * modules/locale (Makefile.am): Likewise.
20728         * modules/math (Makefile.am): Likewise.
20729         * modules/netdb (Makefile.am): Likewise.
20730         * modules/netinet_in (Makefile.am): Likewise.
20731         * modules/poll-h (Makefile.am): Likewise.
20732         * modules/pthread (Makefile.am): Likewise.
20733         * modules/pty (Makefile.am): Likewise.
20734         * modules/sched (Makefile.am): Likewise.
20735         * modules/search (Makefile.am): Likewise.
20736         * modules/selinux-h (Makefile.am): Likewise.
20737         * modules/signal (Makefile.am): Likewise.
20738         * modules/spawn (Makefile.am): Likewise.
20739         * modules/stdarg (Makefile.am): Likewise.
20740         * modules/stddef (Makefile.am): Likewise.
20741         * modules/stdint (Makefile.am): Likewise.
20742         * modules/stdio (Makefile.am): Likewise.
20743         * modules/stdlib (Makefile.am): Likewise.
20744         * modules/string (Makefile.am): Likewise.
20745         * modules/strings (Makefile.am): Likewise.
20746         * modules/sys_file (Makefile.am): Likewise.
20747         * modules/sys_ioctl (Makefile.am): Likewise.
20748         * modules/sys_select (Makefile.am): Likewise.
20749         * modules/sys_socket (Makefile.am): Likewise.
20750         * modules/sys_stat (Makefile.am): Likewise.
20751         * modules/sys_time (Makefile.am): Likewise.
20752         * modules/sys_times (Makefile.am): Likewise.
20753         * modules/sys_utsname (Makefile.am): Likewise.
20754         * modules/sys_wait (Makefile.am): Likewise.
20755         * modules/sysexits (Makefile.am): Likewise.
20756         * modules/termios (Makefile.am): Likewise.
20757         * modules/time (Makefile.am): Likewise.
20758         * modules/unistd (Makefile.am): Likewise.
20759         * modules/wchar (Makefile.am): Likewise.
20760         * modules/wctype (Makefile.am): Likewise.
20761
20762 2010-10-04  Bruno Haible  <bruno@clisp.org>
20763
20764         read-file tests: Avoid a test failure on NonStop Kernel.
20765         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
20766         a regular file.
20767         Reported by Joachim Schmitz <schmitz@hp.com>.
20768
20769 2010-10-03  Bruno Haible  <bruno@clisp.org>
20770
20771         gnulib-tool: Fixes for --create-testdir with --libtool.
20772         * gnulib-tool (func_get_automake_snippet): Don't augment
20773         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
20774         an executable.
20775         (func_create_testdir): Handle module 'alloca' like func_import.
20776         Reported by Bruce Korb <bruce.korb@gmail.com>.
20777
20778 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
20779
20780         Avoid some lines longer than 80 characters.
20781         * lib/stdint.in.h: Break long comment lines.
20782         * lib/math.in.h: Likewise.
20783         (_GL_NUM_UINT_WORDS): New macro, for readability.
20784         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
20785         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
20786         * lib/stdlib.in.h: Likewise.
20787         * lib/spawn.in.h: Likewise.
20788         * lib/sys_socket.in.h: Update an URL.
20789         * lib/sys_stat.in.h: Break long line.
20790
20791 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
20792
20793         Improve pmccabe2html.
20794         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
20795         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
20796         when the sources change. Remove the line in the HTML about "Used
20797         ranges" (which implied that there might be other unused ranges),
20798         rename "Resume" to "Summary" (easier to understand for more users).
20799         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
20800         styles, and some unnecessary blank lines.
20801
20802 2010-10-03  Bruno Haible  <bruno@clisp.org>
20803             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
20804
20805         acl: Add support for ACLs on NonStop Kernel.
20806         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
20807         Check whether the function aclsort() exists.
20808         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
20809         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
20810         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
20811         (acl_nontrivial [HAVE_ACLSORT]: New function.
20812         (file_has_acl): Implement for NonStop Kernel.
20813         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
20814         (qset_acl): Implement for NonStop Kernel.
20815         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
20816         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
20817         (main): Implement for NonStop Kernel.
20818         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
20819         Kernel. Handle this flavor.
20820         * tests/test-set-mode-acl.sh: Likewise.
20821         * tests/test-copy-acl.sh: Likewise.
20822         * tests/test-copy-file.sh: Likewise.
20823
20824 2010-10-03  Bruno Haible  <bruno@clisp.org>
20825
20826         Info about ACLs on NonStop Kernel.
20827         * doc/acl-resources.txt: Add info about NonStop Kernel.
20828         References by Joachim Schmitz <schmitz@hp.com>.
20829
20830 2010-10-02  Bruno Haible  <bruno@clisp.org>
20831
20832         Define missing EDQUOT on NonStop Kernel.
20833         * lib/errno.in.h (EDQUOT): Assign a value if missing.
20834         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
20835         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
20836         missing.
20837         * doc/posix-headers/errno.texi: Mention the NSK bug.
20838         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
20839         Reported by Joachim Schmitz <schmitz@hp.com>.
20840
20841 2010-10-02  Bruno Haible  <bruno@clisp.org>
20842
20843         Update doc for POSIX:2008.
20844         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
20845         Update URL of POSIX specification.
20846
20847 2010-10-02  Bruno Haible  <bruno@clisp.org>
20848
20849         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
20850         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
20851         from gnulib, not from Automake.
20852
20853 2010-10-02  Bruno Haible  <bruno@clisp.org>
20854
20855         New module 'system-posix'.
20856         * modules/system-posix: New file.
20857         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
20858         module is present.
20859         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
20860         GNULIB_SYSTEM_POSIX.
20861         * modules/stdlib (Depends-on): Remove sys_wait.
20862         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
20863         * doc/posix-functions/system.texi: Mention the new module.
20864         * doc/posix-headers/stdlib.texi: Likewise.
20865         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
20866         define test_sys_wait_macros to a no-op.
20867         Reported by Sam Steingold <sds@gnu.org>.
20868
20869 2010-09-30  Bruno Haible  <bruno@clisp.org>
20870
20871         More renaming from 'getdate' to 'get_date'.
20872         * doc/get_date.texi: Renamed from doc/getdate.texi.
20873         * modules/get_date (Files): Update.
20874         * MODULES.html.sh (Date and time <time.h>): Update.
20875         * DEPENDENCIES: Update.
20876         * gnulib-tool: Update comment.
20877         * m4/bison.m4 (gl_BISON): Likewise.
20878         * m4/get_date.m4 (gl_GET_DATE): Likewise.
20879
20880 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
20881
20882         bootstrap: support ACLOCAL_FLAGS during aclocal
20883         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
20884         can add additional -I dir for third-party .m4 files.
20885
20886 2010-09-30  Eric Blake  <eblake@redhat.com>
20887
20888         bootstrap: use glibtoolize on MacOS
20889         * build-aux/bootstrap (check_versions): Convert libtool into
20890         libtoolize.
20891         (tool search): Move libtool check earlier, and look for
20892         glibtoolize for MacOS.
20893         (gnulib_tool_options): Auto-add --libtool when appropriate.
20894         Reported by Justin Clift.
20895
20896         poll: fix typo that broke test on MacOS
20897         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
20898         Reported by Justin Clift.
20899
20900         getdate: rename to get_date
20901         Note: getdate.h is not renamed, to minimize client impact.
20902         * modules/getdate: Mark obsolete.  Move old contents...
20903         * modules/get_date: ...to new module name.
20904         * modules/getdate-tests: Move...
20905         * modules/get_date-tests: ...here.
20906         * m4/getdate.m4: Move...
20907         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
20908         * lib/getdate.y: Move...
20909         * lib/get_date.y: ...here.
20910         * tests/test-getdate.c: Move...
20911         * tests/test-get_date.c: ...here.
20912         * doc/posix-functions/getdate.texi (getdate): Update name.
20913         * NEWS: Mention the change.
20914
20915 2010-09-29  Bruno Haible  <bruno@clisp.org>
20916
20917         Separate the module 'waitpid' from the module 'sys_wait'.
20918         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
20919         present.
20920         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
20921         gl_MODULE_INDICATOR_FOR_TESTS.
20922         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
20923         * modules/sys_wait (Depends-on): Remove waitpid.
20924         (Makefile.am): Substitute GNULIB_WAITPID.
20925         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
20926         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
20927         signature only if the 'waitpid' module is present.
20928         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
20929         * NEWS: Mention the change.
20930         * modules/grantpt (Depends-on): Add waitpid.
20931         * modules/wait-process (Depends-on): Likewise.
20932
20933 2010-09-29  Bruno Haible  <bruno@clisp.org>
20934
20935         More tests for module 'sys_wait'.
20936         * modules/sys_wait-c++-tests: New file.
20937         * tests/test-sys_wait-c++.cc: New file.
20938         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
20939         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
20940
20941 2010-09-29  Bruno Haible  <bruno@clisp.org>
20942
20943         New module 'waitpid'.
20944         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
20945         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
20946         Don't include <process.h>.
20947         (waitpid): Declare only, using modern idiom.
20948         * m4/waitpid.m4: New file.
20949         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
20950         * modules/waitpid: New file.
20951         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
20952         (Makefile.am): Update.
20953         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
20954
20955 2010-09-28  Bruno Haible  <bruno@clisp.org>
20956
20957         poll: Assume ANSI C.
20958         * lib/poll.c (poll): Use an ANSI C declaration.
20959
20960 2010-09-28  Bruno Haible  <bruno@clisp.org>
20961
20962         poll-h: Create poll.h on all platforms.
20963         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
20964         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
20965         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
20966         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
20967         (gl_REPLACE_POLL_H): Don't set POLL_H.
20968         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
20969         * modules/poll-h (Depends-on): Add include_next.
20970         (Makefile.am): Create poll.h unconditionally. Substitute also
20971         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
20972
20973 2010-09-28  Bruno Haible  <bruno@clisp.org>
20974
20975         Tests for module 'poll-h'.
20976         * modules/poll-h-c++-tests: New file.
20977         * tests/test-poll-h-c++.cc: New file.
20978
20979         Tests for module 'poll-h'.
20980         * modules/poll-h-tests: New file.
20981         * tests/test-poll-h.c: New file.
20982
20983 2010-09-28  Bruno Haible  <bruno@clisp.org>
20984
20985         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
20986         * modules/poll-h (Depends-on): Add 'extensions'.
20987
20988 2010-09-28  Bruno Haible  <bruno@clisp.org>
20989
20990         New module 'poll-h'.
20991         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
20992         (poll): Use modern idiom.
20993         * modules/poll-h: New file.
20994         * modules/poll (Files): Remove lib/poll.in.h.
20995         (Depends-on): Add poll-h.
20996         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
20997         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
20998         * m4/poll_h.m4: New file.
20999         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
21000         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
21001         and invoke gl_REPLACE_POLL_H.
21002         * lib/poll.c: Use common idiom.
21003         * tests/test-poll.c: Likewise.
21004         * doc/posix-headers/poll.texi: Mention the poll-h module.
21005         Suggested by Eric Blake.
21006
21007 2010-09-26  Bruno Haible  <bruno@clisp.org>
21008
21009         sys_wait: Implement WSTOPSIG.
21010         * lib/sys_wait.in.h (WSTOPSIG): New macro.
21011         Reported by Simon Josefsson.
21012
21013 2010-09-26  Simon Josefsson  <simon@josefsson.org>
21014
21015         stdlib, sys_wait: Avoid compilation error on mingw.
21016         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
21017
21018 2010-09-26  Bruno Haible  <bruno@clisp.org>
21019
21020         stdlib tests: Avoid code duplication.
21021         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
21022         * modules/sys_wait-tests (Files): Likewise.
21023         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
21024         * tests/test-stdlib.c: Include test-sys_wait.h.
21025         (main): Invoke test_sys_wait_macros.
21026         * tests/test-sys_wait.c: Include test-sys_wait.h.
21027         (main): Invoke test_sys_wait_macros.
21028
21029 2010-09-25  Simon Josefsson  <simon@josefsson.org>
21030
21031         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
21032         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
21033         sure Windows sockets are working before calling getaddrinfo.
21034         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
21035         * doc/gnulib.texi (Windows sockets): Fix typo.
21036
21037 2010-09-25  Bruno Haible  <bruno@clisp.org>
21038
21039         Tests for module 'regex-quote'.
21040         * modules/regex-quote-tests: New file.
21041         * tests/test-regex-quote.c: New file.
21042
21043         New module 'regex-quote'.
21044         * lib/regex-quote.h: New file.
21045         * lib/regex-quote.c: New file.
21046         * modules/regex-quote: New file.
21047         Suggested by Reuben Thomas <rrt@sc3d.org>.
21048
21049 2010-09-24  Bruno Haible  <bruno@clisp.org>
21050
21051         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
21052         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
21053
21054 2010-09-23  Bruno Haible  <bruno@clisp.org>
21055
21056         setenv: Relax license.
21057         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
21058         Blake.
21059         Requested by Eric Blake.
21060
21061 2010-09-22  Bruno Haible  <bruno@clisp.org>
21062
21063         termios: Relax license.
21064         * modules/termios (License): Change to LGPLv2+.
21065         Requested by Eric Blake.
21066
21067 2010-09-22  Bruno Haible  <bruno@clisp.org>
21068
21069         threadlib: Allow the package to change the default to 'no'.
21070         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
21071         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
21072         Reported by Paul Eggert.
21073
21074 2010-09-22  Pádraig Brady  <P@draigbrady.com>
21075             Bruno Haible  <bruno@clisp.org>
21076
21077         Fix endless loop in mbmemcasecoll.
21078         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
21079         byte.
21080         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
21081
21082 2010-09-22  Bruno Haible  <bruno@clisp.org>
21083
21084         Tests for module 'memcoll'.
21085         * modules/memcoll-tests: New file.
21086         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
21087
21088         memcoll, xmemcoll: Clarify size vs. length.
21089         * modules/memcoll.c (memcoll0): Clarify specification.
21090         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
21091         passed to collate_error.
21092
21093 2010-09-22  Bruno Haible  <bruno@clisp.org>
21094
21095         Tests for module 'memcasecmp'.
21096         * modules/memcasecmp-tests: New file.
21097         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
21098
21099 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
21100
21101         * lib/pthread.in.h: Add split double-inclusion guard, and include
21102         system <pthread.h> if there is one.  Use @@-style as in other
21103         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
21104         pthread.h doesn't.
21105         (pthread_mutexattr_destroy, pthread_mutexattr_init):
21106         (pthread_mutexattr_settype, pthread_mutex_trylock):
21107         New static inline functions, if there's no system <pthread.h>.
21108         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
21109         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
21110         Approximate with mutexes if the system lacks spinlocks, as in
21111         MacOS.
21112         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
21113         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
21114         @@-style.  Check for spinlocks separately.
21115         (gl_PTHREAD_DEFAULTS): New macro.
21116         * modules/pthread: Redo to use a more typical style for in.h files.
21117
21118 2010-09-21  Eric Blake  <eblake@redhat.com>
21119
21120         net_if: enhance tests
21121         * tests/test-net_if.c (main): Move signature checks earlier.
21122         Print failures to stderr.
21123         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
21124         Document the bug that we do not yet fix.
21125
21126 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
21127
21128         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
21129         about gnulib, not GSS.
21130
21131 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
21132
21133         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
21134         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
21135         for Emacs.
21136         * build-aux/pmccabe2html: Make Makefile.am example code more
21137         cut-and-paste friendly.
21138
21139 2010-09-21  Simon Josefsson  <simon@josefsson.org>
21140
21141         * tests/test-net_if.c: New file.
21142         * modules/net_if-tests: New file.
21143
21144 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
21145
21146         pthread: add pthread_spin_destroy
21147         * lib/pthread.in.h (pthread_spin_destroy): New function.
21148
21149 2010-09-19  Bruno Haible  <bruno@clisp.org>
21150
21151         gnulib-tool: Fix --help output.
21152         * gnulib-tool (func_usage): Fix help message.
21153         Reported by Reuben Thomas <rrt@sc3d.org>.
21154
21155 2010-09-18  Jim Meyering  <meyering@redhat.com>
21156
21157         maint.mk: avoid unexpanded \n in two diagnostics
21158         * top/maint.mk (sc_prohibit_always_true_header_tests):
21159         Don't use a literal \n in a halt=... assignment.  It would not be
21160         expanded, and the two \n bytes would appear in the diagnostic output
21161         rather than the desired newline.  Use halt=$$(printf ... instead.
21162         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
21163
21164 2010-09-18  Bruno Haible  <bruno@clisp.org>
21165
21166         netinet_in: Doc tweak.
21167         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
21168         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
21169
21170 2010-09-18  Jim Meyering  <meyering@redhat.com>
21171
21172         init.sh: correct an outdated comment
21173         * tests/init.sh (create_exe_shims_):  s/function/alias/
21174
21175         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
21176         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
21177         a file named "*.exe" is removed between the glob expansion and the
21178         processing of that oddly named file.
21179
21180 2010-09-17  Eric Blake  <eblake@redhat.com>
21181
21182         mirbsd: add some more support
21183         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
21184         in BSD family.
21185         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
21186         devices as OpenBSD.
21187         * m4/host-os.m4 (mirbsd): Add MirBSD.
21188
21189         tests: fix unportable assumption on sys/wait.h
21190         * tests/test-sys_wait.c (main): Relax test.
21191         * tests/test-stdlib.c (main): Likewise.
21192
21193         init.sh: accomodate directory with no .exes
21194         * tests/init.sh: Accomodate directory containing only scripts.
21195
21196         tests: avoid compiler warning
21197         * tests/test-stdlib.c (main): Use the variable.
21198
21199         fdutimens, fdutimensat: update signature, again
21200         * lib/utimens.h (gl_futimens): Delete, and move signature...
21201         (fdutimens): ...here.
21202         (fdutimensat): Rearrange signature.
21203         (lutimensat): Rename variable for clarity.
21204         * lib/fdutimensat.c (fdutimensat): Update signature.
21205         * lib/utimens.c (fdutimens): Likewise.
21206         (gl_futimens): Delete.
21207         (utimens, lutimens): Update callers.
21208         * lib/futimens.c (futimens): Likewise.
21209         * tests/test-fdutimensat.c: Likewise.
21210         * tests/test-utimens.c: Likewise.
21211         * tests/test-futimens.h: Update comment.
21212         * NEWS: Mention this.
21213         Suggested by Paul Eggert.
21214
21215 2010-09-17  Bruno Haible  <bruno@clisp.org>
21216
21217         Take over the maintenance of some older macros from Autoconf.
21218         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
21219         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
21220         GNU Autoconf.
21221         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
21222         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
21223
21224 2010-09-17  Eric Blake  <eblake@redhat.com>
21225
21226         fdutimensat: drop atflag validation
21227         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
21228         with valid fd, to close a race scenario where futimens is
21229         unsupported and FILE was replaced by a symlink.
21230         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
21231         accordingly.
21232         Suggested by Paul Eggert.
21233
21234 2010-09-16  Bruno Haible  <bruno@clisp.org>
21235
21236         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
21237         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
21238
21239 2010-09-16  Bruno Haible  <bruno@clisp.org>
21240
21241         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
21242         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
21243         login_tty exists.
21244         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
21245
21246 2010-09-16  Bruno Haible  <bruno@clisp.org>
21247
21248         login_tty: Make the replacement code work on BSD systems.
21249         * lib/login_tty.c: Include <sys/ioctl.h>.
21250         (login_tty): Use ioctl TIOCSCTTY when available.
21251         * modules/login_tty (Depends-on): Add sys_ioctl.
21252         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
21253
21254 2010-09-16  Bruno Haible  <bruno@clisp.org>
21255
21256         login_tty: Stricter unit test.
21257         * modules/login_tty-tests (Depends-on): Add tcgetsid.
21258         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
21259         and tcgetsid() after login_tty.
21260         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
21261
21262 2010-09-16  Bruno Haible  <bruno@clisp.org>
21263
21264         New module 'tcgetsid'.
21265         * lib/tcgetsid.c: New file.
21266         * m4/tcgetsid.m4: New file.
21267         * modules/tcgetsid: New file.
21268         * modules/termios (Depends-on): Add c++defs, warn-on-use.
21269         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
21270         GNULIB_TCGETSID, HAVE_TCGETSID.
21271         * lib/termios.in.h: Include <sys/types.h>.
21272         (tcgetsid): New declaration.
21273         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
21274         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
21275         * doc/posix-functions/tcgetsid.texi: Mention the new module.
21276         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
21277
21278 2010-09-16  Bruno Haible  <bruno@clisp.org>
21279
21280         Tests for module 'termios'.
21281         * modules/termios-c++-tests: New file.
21282         * modules/termios-tests: New file.
21283         * tests/test-termios-c++.cc: New file.
21284         * tests/test-termios.c: New file.
21285
21286         New module 'termios'.
21287         * modules/termios: New file.
21288         * lib/termios.in.h: New file.
21289         * m4/termios_h.m4: New file.
21290         * doc/posix-headers/termios.texi: Mention the new module.
21291
21292 2010-09-16  Eric Blake  <eblake@redhat.com>
21293
21294         fdutimensat: add an atflag parameter
21295         * lib/fdutimensat.c (fdutimensat): Add new parameter.
21296         * lib/utimens.h (fdutimensat): Update prototype.
21297         * tests/test-fdutimensat.c: Adjust test to match.
21298         * NEWS: Document the change.
21299         Suggested by Paul Eggert.
21300
21301 2010-09-16  Bruno Haible  <bruno@clisp.org>
21302
21303         Fix typos in comments.
21304         * lib/striconveh.h: Fix typo in comment.
21305         * lib/login_tty.c (login_tty): Likewise.
21306
21307 2010-09-15  Bruno Haible  <bruno@clisp.org>
21308
21309         stdlib: clarify MirBSD WEXITSTATUS bug
21310         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
21311         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
21312
21313 2010-09-15  Eric Blake  <eblake@redhat.com>
21314
21315         stdlib: work around MirBSD WEXITSTATUS bug
21316         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
21317         * modules/stdlib (Depends-on): Add sys_wait.
21318         * tests/test-sys_wait.c (main): Enhance test.
21319         * tests/test-stdlib.c (main): Likewise.
21320         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
21321
21322         docs: mention MacOS issue with WEXITSTATUS(constant)
21323         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
21324         issue.
21325         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
21326
21327         strnlen: add tests
21328         * modules/strnlen-tests: New file.
21329         * tests/test-strnlen.c: Likewise.
21330
21331 2010-09-14  Bruno Haible  <bruno@clisp.org>
21332
21333         unistr/base: Avoid link errors when module 'libunistring' is also used.
21334         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
21335         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
21336         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
21337         Declare also when HAVE_LIBUNISTRING is set.
21338         Reported by Pádraig Brady <P@draigbrady.com>.
21339
21340 2010-09-14  Eric Blake  <eblake@redhat.com>
21341
21342         test-rawmemchr: make more robust
21343         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
21344         (Depends-on, configure.ac): Add needed prerequisites to use it.
21345         * modules/memchr-tests (Files, Depends-on, configure.ac):
21346         Likewise, to avoid implicit reliance on memchr module prereqs.
21347         * tests/test-memchr.c (main): Ensure proper masking.
21348         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
21349         reads.
21350
21351         memchr: detect glibc Alpha bug
21352         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
21353         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
21354         Alpha.
21355         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
21356         * tests/test-memchr.c (main): Enhance test.
21357         Reported by Nelson H. F. Beebe.
21358
21359 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21360
21361         fts, getcwd, glob: audit for dirfd returning -1
21362         * lib/fts.c (opendir): Remove #define; no longer used.
21363         (opendirat): New arg PDIR_FD.  All callers changed.
21364         (fts_build, _opendir2): Use new opendirat to avoid the need for
21365         dirfd, or for checking whether dirfd returns a negative value.
21366         Don't use opendir; always use openat followed by fdopendir.
21367         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
21368         it.
21369         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
21370         returns -1 here.
21371         * modules/fts (Depends-on): Remove dirfd.
21372         * modules/getcwd (Depends-on): Likewise.
21373
21374 2010-09-13  Eric Blake  <eblake@redhat.com>
21375
21376         float: fix broken MirBSD header
21377         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
21378         * doc/posix-headers/float.texi (float.h): Document it.
21379
21380 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21381
21382         fts: use O_NOFOLLOW to avoid race condition when opening a directory
21383         * lib/fts.c (opendirat): New arg extra_flags.
21384         (__opendir2): Use it to avoid following symlinks when opening
21385         a directory, if symlinks are not supposed to be followed.  See
21386         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
21387
21388         fdopendir: preserve argument fd before returning
21389         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
21390         (fdopendir_with_dup, fd_clone_opendir): New static functions.
21391         (fdopendir): Use them, arranging for FD to be open to the same
21392         directory that it was when it started.  (It might be temporarily
21393         closed while fdopendir is running, so this not thread- or
21394         signal-safe.)  Be careful to do the right thing even when file
21395         descriptors are scarce and dup fails with errno == EMFILE.  See
21396         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
21397
21398 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
21399
21400         regex: Pass the system regex if its only problem is 32-bit regoff_t.
21401         * NEWS: Document change.
21402         * m4/regex.m4: Disable test for regoff_t size.
21403
21404 2010-09-13  Jim Meyering  <meyering@redhat.com>
21405
21406         fts: don't operate on an invalid file descriptor after failed dup
21407         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
21408         negative file descriptor.
21409
21410 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
21411
21412         savedir: add streamsavedir, deprecate fdsavedir
21413         * NEWS: Mention deprecation of fdsavedir.
21414         * lib/savedir.c (streamsavedir): New extern function, whose name
21415         ends in "savedir" to be consistent with the others.  This differs
21416         from savedirstream in that it doesn't close its argument.  The
21417         next version of GNU tar will use this instead of fdsavedir, to
21418         avoid some race conditions and conserve file descriptors.
21419         (savedirstream): Reimplement as a wrapper around streamsavedir.
21420         (fdsavedir): Add a comment deprecating this function.  As far as
21421         I know, only GNU tar used it, and GNU tar doesn't need it any more.
21422         * lib/savedir.h (streamsavedir): New decl.
21423         (fdsavedir): Add a comment deprecating this.
21424
21425 2010-09-10  Bruno Haible  <bruno@clisp.org>
21426
21427         langinfo: Fix last commit.
21428         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
21429         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
21430         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21431
21432 2010-09-10  Bruno Haible  <bruno@clisp.org>
21433
21434         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
21435         * lib/progreloc.c (O_EXEC): Define fallback.
21436
21437 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
21438
21439         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
21440         * NEWS: Document recent changes to fcntl-h.
21441         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
21442         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
21443         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
21444         Similarly for O_SEARCH; this last was already true, but not documented.
21445         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
21446         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
21447         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
21448         Likewise.
21449         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
21450         is zero, not whether it is defined.
21451         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
21452         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
21453         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
21454
21455 2010-09-10  Bruno Haible  <bruno@clisp.org>
21456
21457         langinfo, nl_langinfo: Fix for IRIX 5.3.
21458         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
21459         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
21460         HAVE_LANGINFO_YESEXPR.
21461         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
21462         HAVE_LANGINFO_YESEXPR.
21463         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
21464         HAVE_LANGINFO_T_FMT_AMPM is 0.
21465         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
21466         HAVE_LANGINFO_YESEXPR is 0.
21467         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
21468         NOEXPR.
21469         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
21470         * doc/posix-functions/nl_langinfo.texi: Likewise.
21471         Reported by Eric Blake.
21472
21473 2010-09-10  Bruno Haible  <bruno@clisp.org>
21474
21475         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
21476         * doc/glibc-functions/login_tty.texi: Mention the include file problem
21477         on FreeBSD 8.0 and OpenBSD 4.6.
21478         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
21479         * m4/pty_h.m4 (gl_PTY_H): Likewise.
21480         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
21481         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
21482         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
21483         ac_includes_default.
21484         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
21485
21486 2010-09-09  Eric Blake  <eblake@redhat.com>
21487
21488         strsignal: work around NetBSD bug
21489         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
21490         * lib/string.in.h (includes): Likewise.
21491         * doc/posix-functions/strsignal.texi (strsignal): Document the
21492         bug.
21493         Reported by Nelson H. F. Beebe.
21494
21495         gnulib-tool: work with NetBSD /bin/sh
21496         * gnulib-tool (func_cache_var, func_cache_lookup_module)
21497         (func_get_description, func_get_comment, func_get_status)
21498         (func_get_notice, func_get_applicability, func_get_filelist)
21499         (func_get_dependencies, func_get_autoconf_early_snippet)
21500         (func_get_autoconf_snippet, func_get_automake_snippet)
21501         (func_get_include_directive, func_get_link_directive)
21502         (func_get_license, func_get_maintainer, func_import): Avoid
21503         shell syntax errors from parsing syntax extensions.
21504
21505 2010-09-09  Bruno Haible  <bruno@clisp.org>
21506
21507         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
21508         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
21509         a reliable way to determine whether the 'alias' command works.
21510
21511 2010-09-08  Jim Meyering  <meyering@redhat.com>
21512
21513         init.sh: penalize a set-x-impaired shell; don't disqualify it
21514         * tests/init.sh: Too many shells corrupt application stderr when
21515         you set -x, so we can't afford to disqualify them, since at least
21516         on Irix-6.5, that would disqualify all bourne shells.
21517         Instead, use a two-pass approach.
21518         On the first pass, try to find a shell that meets the stricter
21519         condition that set -x does not corrupt stderr.
21520         If no shell meets the stricter condition, retest each candidate
21521         shell, but without that extra condition.  Finally, when
21522         VERBOSE=yes is requested and set -x might cause trouble, simply
21523         issue a warning and refrain from enabling debug output.
21524
21525 2010-09-08  Eric Blake  <eblake@redhat.com>
21526
21527         unsetenv: fix OpenBSD bug
21528         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
21529         * doc/posix-functions/unsetenv.texi (unsetenv): Update
21530         documentation.
21531         Reported by Jim Meyering.
21532
21533         strtod: work around IRIX 6.5 bug
21534         * lib/strtod.c (strtod): Reparse number on shorter string if
21535         exponent parse was invalid.
21536         * tests/test-strtod.c (main): Add check for "0x1p 2".
21537         Reported by Tom G. Christensen.
21538
21539         getopt: optimize previous patch
21540         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
21541         empty variable.  Speed up awk script.
21542         Reported by Paolo Bonzini.
21543
21544 2010-09-08  Jim Meyering  <meyering@redhat.com>
21545
21546         test.sh: disqualify shells for which set -x corrupts stderr
21547         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
21548         and OpenBSD 4.7.  They make it so with "set -x", environment settings
21549         appear in stderr output.  For example, this command:
21550             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
21551         prints "P=1" on those two systems:
21552
21553 2010-09-08  Bruno Haible  <bruno@clisp.org>
21554
21555         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
21556         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
21557         commands, because some shells ignore redirections when there is an
21558         error in the command lookup.
21559         Reported by Eric Blake.
21560
21561 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
21562
21563         * lib/regex.h: Fix a mention of `regex_compile' (should be
21564         `re_compile_pattern').
21565         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
21566         (re_set_registers): Correct name of parameter in comment.
21567
21568         * doc/regex.texi: Add documentation for missing syntax flags.
21569         Remove commented-out documentation of defunct syntax option
21570         RE_NO_EMPTY_ALTS.
21571         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
21572         Add documentation of re_set_registers.
21573         Document trick to re-use a pattern buffer by setting fastmap manually.
21574         Update documentation of struct re_pattern_buffer per public members.
21575         Uncomment documentation of equivalence class operators and
21576         collating symbol operators, since they are now implemented,
21577         Explain leftmost-longest matching in relation to alternatives.
21578         Tidy documentation of substring matching.
21579         Remove POSIX documentation, which is done better in
21580         glibc, and refer the reader there. Keep BSD API documentation, as
21581         that is not readily available elsewhere.
21582
21583 2010-09-07  Eric Blake  <eblake@redhat.com>
21584
21585         getopt: handle POSIXLY_CORRECT set but not exported
21586         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
21587         export state of POSIXLY_CORRECT, due to bash set -o posix.
21588         Reported by Dustin J. Mitchell.
21589
21590 2010-09-05  Bruno Haible  <bruno@clisp.org>
21591
21592         gnulib-tool: Highlight the changed options.
21593         * gnulib-tool (func_usage): Display the --import, --add-import,
21594         --remove-import explanations in bold font.
21595
21596 2010-09-06  Karl Berry  <karl@gnu.org>
21597
21598         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
21599
21600 2010-09-05  Bruno Haible  <bruno@clisp.org>
21601
21602         uniwidth/width: Update comment.
21603         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
21604         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
21605
21606 2010-09-05  Bruno Haible  <bruno@clisp.org>
21607
21608         isinf, isnan: Relax license.
21609         * modules/isinf (License): Change from GPL to LGPL, with consent from
21610         Ben Pfaff.
21611         * modules/isnan (License): Likewise.
21612         Requested by Ludovic Courtès.
21613
21614 2010-09-04  Bruno Haible  <bruno@clisp.org>
21615
21616         gnulib-tool: Help migration from --import to --add-import or --update.
21617         * gnulib-tool: Emit a verbose error message when --import is used
21618         without any module name.
21619
21620 2010-09-04  Bruno Haible  <bruno@clisp.org>
21621
21622         Update doc about gnulib-tool.
21623         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
21624         'gnulib-tool --update' in more detail.
21625         Reported by Eric Blake.
21626
21627 2010-09-04  Bruno Haible  <bruno@clisp.org>
21628
21629         gnulib-tool: Change --import. New options --add/remove-import.
21630         * gnulib-tool: New options --add-import, --remove-import.
21631         (func_usage): Document them.
21632         (have_associative): Define always.
21633         (func_import): In import mode, don't merge the specified settings with
21634         the cached settings. Implement remove-import mode.
21635         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
21636         Explain when to use them versus --import.
21637         (Simple update): Use --add-import instead of --import.
21638         * NEWS: Mention the change.
21639
21640 2010-09-04  Bruno Haible  <bruno@clisp.org>
21641
21642         * doc/gnulib-tool.texi (Initial import): Update paragraph about
21643         separate gnulib.mk.
21644
21645 2010-09-04  Bruno Haible  <bruno@clisp.org>
21646
21647         gnulib-tool: Don't talk about CVS any more.
21648         * gnulib-tool (func_usage, func_import): Write "version control"
21649         instead of CVS.
21650
21651 2010-09-04  Jim Meyering  <meyering@redhat.com>
21652
21653         maint.mk: avoid obscure sc_copyright_check failure in coreutils
21654         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
21655         false positives (whose names may be ill-chosen) when searching
21656         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
21657         would cause a false-positive.
21658
21659         avoid coreutils "make distcheck" failure
21660         Coreutils tests with an absolute build directory name that contains
21661         a space.  Not quoting this directory name caused a failure.
21662         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
21663         * tests/test-vc-list-files-cvs.sh: Likewise.
21664
21665 2010-09-04  Bruno Haible  <bruno@clisp.org>
21666
21667         gnulib-tool: Avoid error when run in a package without Makefile.am.
21668         * gnulib-tool: When collecting the m4dirs in a package that does not
21669         have a Makefile.am, eliminate those directories that contain no
21670         gnulib-cache.m4. Fix expression that counts these directories.
21671
21672 2010-09-04  Bruno Haible  <bruno@clisp.org>
21673
21674         update-copyright test: Improve output when perl is missing or too old.
21675         * tests/test-update-copyright.sh: Move test of Perl version down after
21676         the test whether Perl exists. Provide an explanation relating Perl's
21677         error message to Automake's SKIP: message.
21678
21679 2010-09-04  Bruno Haible  <bruno@clisp.org>
21680
21681         Don't augment PATH in TESTS_ENVIRONMENT.
21682         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
21683         set abs_aux_dir instead of augmenting PATH.
21684         * modules/vc-list-files-tests (Makefile.am): Likewise.
21685         * tests/test-update-copyright.sh: Augment PATH here.
21686         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
21687         path_prepend_.
21688         * tests/test-vc-list-files-git.sh: Likewise.
21689
21690 2010-09-04  Jim Meyering  <meyering@redhat.com>
21691
21692         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
21693         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
21694
21695 2010-09-04  Bruno Haible  <bruno@clisp.org>
21696
21697         strdup: Fix compilation error in C++ mode.
21698         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
21699         the macro.
21700
21701 2010-09-04  Bruno Haible  <bruno@clisp.org>
21702
21703         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
21704         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
21705         macro into a function.
21706         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
21707
21708 2010-09-04  Bruno Haible  <bruno@clisp.org>
21709
21710         Set PATH_SEPARATOR the same way autoconf does.
21711         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
21712         the value of PATH_SEPARATOR the same way autoconf-generated configure
21713         scripts do.
21714         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
21715         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
21716
21717 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
21718
21719         Set PATH_SEPARATOR the same way autoconf does.
21720         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
21721         the same way autoconf-generated configure scripts do.
21722         * posix-modules: Likewise.
21723
21724 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21725
21726         hash: fix safe_hasher const typo
21727         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
21728         const; otherwise, there is a type error later.
21729
21730 2010-09-02  Jim Meyering  <meyering@redhat.com>
21731
21732         test-update-copyright.sh: require perl 5.8.0
21733         * tests/test-update-copyright.sh: Require 5.8.0,
21734         which Tom G. Christensen has confirmed is adequate,
21735         while 5.6.1 is not.
21736
21737 2010-09-02  Eric Blake  <eblake@redhat.com>
21738
21739         tests: init.sh improvements for re-exec'ing with zsh
21740         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
21741         -vx through shell re-exec.
21742         Reported by Tom G. Christensen.
21743
21744         wctype: fix typo in previous commit
21745         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
21746         Reported by Ludovic Courtès.
21747
21748 2010-09-02  Jim Meyering  <meyering@redhat.com>
21749
21750         test-update-copyright.sh: skip test if Perl is too old
21751         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
21752         Reported by Tom G. Christensen.
21753
21754 2010-09-02  Bruno Haible  <bruno@clisp.org>
21755
21756         wctype: Avoid compilation error on IRIX 6.5.30.
21757         * lib/wctype.in.h (iswblank): Declare with a replacement if
21758         REPLACE_ISWBLANK is set.
21759         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
21760         declared. Set REPLACE_ISWBLANK.
21761         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
21762         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
21763         * doc/posix-headers/wctype.texi: Likewise.
21764         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21765
21766 2010-09-01  Bruno Haible  <bruno@clisp.org>
21767
21768         New module 'socketlib'.
21769         * modules/socketlib: New file.
21770         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
21771         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
21772         * modules/sockets (Depends-on): Add socketlib.
21773         Suggested by Sam Steingold <sds@gnu.org>.
21774
21775 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
21776
21777         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
21778
21779         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
21780         when one needs search access to a directory but not read access.
21781         On systems where it is available, it works in some cases where
21782         O_RDONLY does not, namely on directories that are searchable but
21783         not readable, and which need only to be searchable.  If O_SEARCH
21784         is not available, fall back to the traditional method of using
21785         O_RDONLY.
21786
21787         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
21788         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
21789         when opening a directory that needs only to be searchable.
21790         * lib/chdir-safer.c (chdir_no_follow): Likewise.
21791         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
21792         * lib/openat-proc.c (openat_proc_name): Likewise.
21793         * lib/openat.c (openat_needs_fchdir): Likewise.
21794         * lib/save-cwd.c (save_cwd): Likewise.
21795         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
21796
21797 2010-08-28  Bruno Haible  <bruno@clisp.org>
21798
21799         New module 'host-cpu-c-abi'.
21800         * modules/host-cpu-c-abi: New file.
21801         * m4/host-cpu-c-abi.m4: New file, based on part of
21802         clisp/src/m4/general.m4.
21803         Requested by Sam Steingold <sds@gnu.org>.
21804
21805 2010-08-31  Eric Blake  <eblake@redhat.com>
21806         and Jim Meyering  <meyering@redhat.com>
21807
21808         hash: factor, and guard against misbehaving hasher function
21809         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
21810         of table->hasher's return value.  Also protect against a hash value
21811         so large that adding it to table->bucket results in a NULL pointer.
21812         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
21813         Use it in place of open-coded check-and-abort.
21814
21815 2010-08-30  Bruno Haible  <bruno@clisp.org>
21816
21817         hash: silence spurious clang warning
21818         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
21819         Reported by Eric Blake.
21820
21821 2010-08-30  Eric Blake  <eblake@redhat.com>
21822
21823         strstr, memmem, strcasestr: avoid leaked shell message
21824         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
21825         FreeBSD.
21826         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
21827         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
21828
21829         tests: silence clang warning
21830         * tests/test-malloca.c (do_allocation): Avoid dead store.
21831
21832 2010-08-29  Bruno Haible  <bruno@clisp.org>
21833
21834         gettext: Fix recent mistake.
21835         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
21836
21837 2010-08-29  Bruno Haible  <bruno@clisp.org>
21838
21839         selinux-h: Offer a --without-selinux option.
21840         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
21841         --without-selinux was specified, skip all tests and define
21842         HAVE_SELINUX_SELINUX_H to 0.
21843         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
21844         set LIB_SELINUX to empty.
21845         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
21846         gl_LIBSELINUX. If --without-selinux was specified, replace
21847         selinux/context.h.
21848         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
21849
21850 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
21851             Bruno Haible  <bruno@clisp.org>
21852
21853         Make the module 'realloc-gnu' work again on AIX and OSF/1.
21854         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
21855         of HAVE_REALLOC.
21856         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
21857         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
21858         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
21859         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
21860
21861 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
21862             Bruno Haible  <bruno@clisp.org>
21863
21864         Make the module 'calloc-gnu' work again on AIX and OSF/1.
21865         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
21866         HAVE_CALLOC.
21867         * lib/xmalloc.c: Update accordingly.
21868         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
21869         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
21870         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
21871
21872 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
21873             Bruno Haible  <bruno@clisp.org>
21874
21875         Make the module 'malloc-gnu' work again on AIX and OSF/1.
21876         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
21877         HAVE_MALLOC.
21878         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
21879         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
21880         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
21881
21882 2010-08-29  Bruno Haible  <bruno@clisp.org>
21883
21884         Update modules list.
21885         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
21886         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
21887         (String handling <string.h>): Add astrxfrm.
21888         (File system functions): Add readlinkat.
21889
21890 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21891
21892         Tests for module 'realloc-gnu'.
21893         * modules/realloc-gnu-tests: New file.
21894         * tests/test-realloc-gnu.c: New file.
21895
21896         Tests for module 'calloc-gnu'.
21897         * modules/calloc-gnu-tests: New file.
21898         * tests/test-calloc-gnu.c: New file.
21899
21900         Tests for module 'malloc-gnu'.
21901         * modules/malloc-gnu-tests: New file.
21902         * tests/test-malloc-gnu.c: New file.
21903
21904 2010-08-28  Bruno Haible  <bruno@clisp.org>
21905
21906         Rename module 'realloc' -> 'realloc-gnu'.
21907         * modules/realloc-gnu: New file, copied from modules/realloc.
21908         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
21909         obsolete.
21910         * modules/mgetgroups (Depends-on): Update.
21911         * doc/posix-functions/realloc.texi: Update.
21912         * NEWS: Mention the change.
21913
21914         Rename module 'calloc' -> 'calloc-gnu'.
21915         * modules/calloc-gnu: New file, copied from modules/calloc.
21916         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
21917         obsolete.
21918         * doc/posix-functions/calloc.texi: Update.
21919         * NEWS: Mention the change.
21920
21921         Rename module 'malloc' -> 'malloc-gnu'.
21922         * modules/malloc-gnu: New file, copied from modules/malloc.
21923         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
21924         obsolete.
21925         * modules/argp (Depends-on): Update.
21926         * modules/regex (Depends-on): Update.
21927         * doc/posix-functions/malloc.texi: Update.
21928         * NEWS: Mention the change.
21929
21930 2010-08-28  Eric Blake  <eblake@redhat.com>
21931
21932         pread, pwrite: add missing dependency
21933         * modules/pread (Depends-on): Add extensions.
21934         * modules/pwrite (Depends-on): Likewise.
21935
21936 2010-08-28  Bruno Haible  <bruno@clisp.org>
21937
21938         unistr/u*-strchr: Fix tests dependencies.
21939         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
21940         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
21941         Reported by Ian Beckwith <ianb@erislabs.net>.
21942
21943 2010-08-28  Bruno Haible  <bruno@clisp.org>
21944
21945         read-file: Don't occupy too much unused memory.
21946         * lib/read-file.c (fread_file): Shrink the buffer at the end.
21947
21948 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
21949             Eric Blake  <eblake@redhat.com>
21950             Bruno Haible  <bruno@clisp.org>
21951
21952         read-file: Avoid memory reallocations with regular files.
21953         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
21954         (fread_file): With regular files, use the remaining length as the
21955         initial buffer size.  Check against overflow.
21956         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
21957         sys_stat.
21958
21959 2010-08-28  Bruno Haible  <bruno@clisp.org>
21960
21961         ftello: Relax license.
21962         * modules/ftello (License): Relax to LGPLv2+.
21963         Reported by Eric Blake.
21964
21965 2010-08-28  Bruno Haible  <bruno@clisp.org>
21966
21967         Avoid relocwrapper link errors due to gnulib replacement functions.
21968         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
21969         function.
21970         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21971
21972 2010-08-28  Bruno Haible  <bruno@clisp.org>
21973
21974         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
21975         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
21976         defined.
21977         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
21978         Suggested by Eric Blake.
21979
21980 2010-08-28  Bruno Haible  <bruno@clisp.org>
21981
21982         sys_socket, netdb: Ensure socklen_t gets defined.
21983         * modules/sys_socket (Depends-on): Add socklen.
21984         * modules/netdb (Depends-on): Likewise.
21985         * modules/getaddrinfo (Depends-on): Remove socklen.
21986         * modules/getsockopt (Depends-on): Likewise.
21987         * modules/setsockopt (Depends-on): Likewise.
21988         * tests/test-sys_socket.c: Check that socklen_t is defined.
21989         * tests/test-netdb.c: Likewise.
21990         * m4/socklen.m4: Update comments.
21991         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
21992
21993 2010-08-27  Eric Blake  <eblake@redhat.com>
21994
21995         login_tty: add missing dependency
21996         * modules/login_tty (Depends-on): Add pty.
21997
21998 2010-08-26  Eric Blake  <eblake@redhat.com>
21999
22000         lib-symbol-versions: fix m4 quoting
22001         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
22002         format for AC_LINK_IFELSE.
22003
22004         glob: fix compile test
22005         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
22006
22007         btowc: fix missing file
22008         * modules/btowc (Files): Also ship locale-fr.m4.
22009
22010         lseek: fix link test
22011         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
22012         AC_LINK_IFELSE.
22013
22014         include_next: silence autoconf 2.68 warning
22015         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
22016         AC_COMPILE_IFELSE as special.
22017         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
22018         autoconf < 2.68.
22019
22020         acl: fix compilation test
22021         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
22022         AC_COMPILE_IFELSE.
22023
22024 2010-08-26  Bruno Haible  <bruno@clisp.org>
22025
22026         Modernize AC_TRY_RUN invocations.
22027         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
22028         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22029         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
22030         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
22031         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
22032         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
22033         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22034         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22035         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22036         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22037         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22038         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22039         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22040         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22041         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22042         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
22043         gl_MBRLEN_NUL_RETVAL): Likewise.
22044         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22045         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
22046         Likewise.
22047         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22048         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22049         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22050         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22051         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
22052         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
22053         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
22054         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
22055         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
22056         Likewise.
22057         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
22058         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
22059         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22060         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
22061         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22062         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22063         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22064         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
22065         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22066         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22067
22068 2010-08-26  Bruno Haible  <bruno@clisp.org>
22069
22070         Modernize AC_TRY_LINK invocations.
22071         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
22072         AC_TRY_LINK.
22073         * m4/argp.m4 (gl_ARGP): Likewise.
22074         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
22075         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
22076         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
22077         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
22078         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
22079         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
22080         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
22081         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22082         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
22083         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
22084         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
22085         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
22086         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
22087         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22088         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
22089         * m4/hostent.m4 (gl_HOSTENT): Likewise.
22090         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22091         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
22092         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
22093         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
22094         Likewise.
22095         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
22096         Likewise.
22097         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
22098         Likewise.
22099         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
22100         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
22101         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
22102         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
22103         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
22104         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
22105         * m4/servent.m4 (gl_SERVENT): Likewise.
22106         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
22107         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
22108         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
22109         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
22110         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
22111         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
22112         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
22113         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22114         * modules/tsearch-tests (configure.ac): Likewise.
22115
22116 2010-08-26  Bruno Haible  <bruno@clisp.org>
22117
22118         Modernize AC_TRY_COMPILE invocations.
22119         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
22120         AC_TRY_COMPILE.
22121         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
22122         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
22123         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
22124         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
22125         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
22126         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
22127         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
22128         * m4/lock.m4 (gl_LOCK): Likewise.
22129         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
22130         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
22131         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
22132         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
22133         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
22134         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
22135         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
22136         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
22137         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
22138         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
22139         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
22140         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
22141         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
22142         extraneous semicolon.
22143
22144 2010-08-26  Jim Meyering  <meyering@redhat.com>
22145
22146         stat-time: relax license LGPL
22147         * modules/stat-time (License): Change from GPL to LGPL,
22148         with consent from all contributors, for use in libguile.
22149         Requested by Ludovic Courtès.
22150
22151 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
22152
22153         poll: return immediately on POLLHUP.
22154         * lib/poll.c (poll): Always set timeout before wait_timeout is
22155         computed.
22156
22157 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22158
22159         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
22160         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
22161         rmdir ("dir/.//"), unlinkat.
22162
22163 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
22164
22165         stdbool: avoid spurious failure with modern xlc
22166         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
22167
22168 2010-08-24  Bruno Haible  <bruno@clisp.org>
22169
22170         getloadavg: simplify code
22171         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
22172         gl_have_func. Update comments.
22173
22174 2010-08-24  Eric Blake  <eblake@redhat.com>
22175
22176         getloadavg: don't define SVR4 on cygwin
22177         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
22178         only define SVR4 when -lkvm is required.
22179         Reported by Yaakov Selkowitz.
22180
22181 2010-08-24  Bruno Haible  <bruno@clisp.org>
22182
22183         priv-set: fix comment
22184         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
22185
22186 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
22187
22188         priv-set: fix comments
22189         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
22190         to match code, as suggested by David Bartley in:
22191         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
22192
22193 2010-08-23  Eric Blake  <eblake@redhat.com>
22194
22195         stdbool: avoid rejecting clang
22196         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
22197         * tests/test-stdbool.c: Enable more tests if using the system
22198         <stdbool.h> instead of the gnulib replacement.
22199         (main): Move xlc bug test to a runtime test for all compilers.
22200         Reported by Anders Kaseorg.
22201
22202         argz: fix shell quoting issue
22203         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
22204         Reported by Charles Wilson.
22205
22206 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
22207             Erik Faye-Lund <kusmabite@gmail.com>
22208
22209         poll, select: handle ERROR_BROKEN_PIPE.
22210         * lib/poll.c (win32_compute_revents): Return POLLHUP when
22211         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
22212         * lib/select.c (win32_compute_revents): Do not mark a pipe
22213         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
22214
22215 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
22216
22217         fts: allow compilation with C++
22218         * lib/fts_.h: Specify extern "C" linkage with C++.
22219
22220 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22221
22222         Fix gnulib-tool sed script de-commentation for AIX sed.
22223         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
22224         sed.
22225
22226 2010-08-17  Eric Blake  <eblake@redhat.com>
22227
22228         test-stddef: test for (some) offsetof bugs
22229         * tests/test-stddef.c: Enhance test to ensure correct type of
22230         offsetof.
22231         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
22232         that we are not fixing at this time.
22233
22234 2010-08-15  Bruno Haible  <bruno@clisp.org>
22235
22236         stpncpy: Allow stpncpy to be defined as a macro.
22237         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
22238         if it's already correctly declared.
22239         * lib/string.in.h (stpncpy): Undefine before redefining.
22240         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
22241
22242 2010-08-14  Bruno Haible  <bruno@clisp.org>
22243
22244         Rename module 'memxfrm' to 'amemxfrm'.
22245         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
22246         (amemxfrm): Renamed from memxfrm.
22247         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
22248         (amemxfrm): Renamed from memxfrm.
22249         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
22250         * NEWS: Mention the change.
22251         * MODULES.html.sh (String handling <string.h>): Update.
22252         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
22253         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
22254         * lib/unicase/u16-casexfrm.c: Likewise.
22255         * lib/unicase/u32-casexfrm.c: Likewise.
22256         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
22257         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
22258         * lib/uninorm/u16-normxfrm.c: Likewise.
22259         * lib/uninorm/u32-normxfrm.c: Likewise.
22260         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
22261         memxfrm.
22262         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
22263         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
22264         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
22265         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
22266         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
22267         Suggested by Paul Eggert.
22268
22269 2010-08-14  Bruno Haible  <bruno@clisp.org>
22270
22271         Tests for module 'astrxfrm'.
22272         * modules/astrxfrm-tests: New file.
22273         * tests/test-astrxfrm.c: New file.
22274
22275         New module 'astrxfrm'.
22276         * lib/astrxfrm.h: New file.
22277         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
22278         * modules/astrxfrm: New file.
22279
22280 2010-08-14  Reuben Thomas <rrt@sc3d.org>
22281
22282         regex: Tweak doc.
22283         * doc/regex.texi (Overview): Don't mention regex.c.
22284         (GNU Regular Expression Compiling): Likewise.
22285         (Match-end-of-line Operator): Mention 'not_eol'.
22286
22287 2010-08-14  Brian Gough  <bjg@gnu.org>
22288             Bruno Haible  <bruno@clisp.org>
22289
22290         git-merge-changelog: add doc relating to use with bzr and hg.
22291         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
22292
22293 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
22294
22295         pthread: fix pthread.h creation for srcdir != builddir
22296         * modules/pthread (Makefile.am): Fix the rule to work also in a
22297         non-srcdir build.
22298
22299 2010-08-13  Karl Berry  <karl@gnu.org>
22300
22301         * doc/regex.texi (Predefined Syntaxes): @smallexample.
22302         * doc/posix-*/*: force line break before @url of POSIX
22303         specifications.
22304         Suggested by Werner Lemberg.
22305
22306 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
22307
22308         strtod: fix const diagnostic
22309         * lib/strtod.c (strtod): Don't assign const char * to char *,
22310         as this elicits a warning from GCC when warnings are enabled.
22311
22312 2010-08-10  Pádraig Brady <P@draigbrady.com>
22313         and Eric Blake  <eblake@redhat.com>
22314
22315         copy-acl: ignore ENOTSUP on HP-UX
22316         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
22317         so that it is available for HP-UX.
22318         * lib/copy-acl.c (qcopy_acl): Use it.
22319         Reported by Patrick M. Callahan.
22320
22321 2010-08-10  Eric Blake  <eblake@redhat.com>
22322
22323         open, chown: relax license
22324         * modules/open (License): Change to LGPLv2+, with consent by all
22325         authors, for use in augeas.
22326         * modules/chown (License): Likewise.
22327         * modules/lchown (Likewise): Likewise.
22328         Requested by Adam Stokes.
22329
22330 2010-08-09  Karl Berry  <karl@gnu.org>
22331
22332         * build-aux/ar-lib: new file, import from Automake.
22333         * config/srclist.txt: autocheck for updates.
22334
22335 2010-08-09  Eric Blake  <eblake@redhat.com>
22336
22337         readlinkat: adjust client modules
22338         * modules/areadlinkat (Depends-on): Use readlinkat, not
22339         symlinkat.
22340         * modules/areadlinkat-with-size (Depends-on): Likewise.
22341
22342         mknod: be more vocal about danger of running tests as root
22343         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
22344         root, since that is just asking for problems.
22345         Suggested by Bruno Haible, based on a report by Rainer Tammer.
22346
22347         readlinkat: split into its own module
22348         * modules/symlinkat: Split readlinkat...
22349         * modules/readlinkat: ...into separate module.
22350         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
22351         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
22352         * lib/symlinkat.c (readlinkat): Move...
22353         * lib/readlinkat.c: ...into new file.
22354         * modules/symlinkat-tests: Split readlinkat test...
22355         * modules/readlinkat-tests: ...into separate module.
22356         * tests/test-symlinkat.c: Split...
22357         * tests/test-readlinkat.c: ...into new file.
22358         * NEWS: Document the split.
22359         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
22360         * lib/unistd.in.h (readlinkat): Likewise.
22361         Suggested by Bruno Haible.
22362
22363 2010-08-08  Bruno Haible  <bruno@clisp.org>
22364
22365         memxfrm: Speed up.
22366         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
22367         that usually only one call to strxfrm is necessary for each string
22368         part.
22369         Reported by Paul Eggert <eggert@cs.ucla.edu>.
22370
22371 2010-08-07  Karl Berry  <karl@gnu.org>
22372
22373         * doc/posix-headers/limits.texi,
22374         * doc/posix-functions/malloc.texi,
22375         * doc/posix-functions/strsignal.texi: missing @item.
22376         * doc/ld-version-script.texi: spurious leading i.
22377         * doc/regex.texi (Interval Operators): no commas inside @var.
22378
22379 2010-08-01  Bruno Haible  <bruno@clisp.org>
22380
22381         Integrate the regex documentation.
22382         * doc/gnulib.texi: Define 'cn' index.
22383         (Regular expressions): New a chapter that includes regex.texi and
22384         regexprops-generic.texi.
22385         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
22386         syntax.
22387
22388         Whitespace cleanup.
22389         * doc/regex.texi: Remove trailing spaces.
22390
22391         Add regex documentation.
22392         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
22393         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
22394         Written by Kathy A. Hargreaves and Karl Berry.
22395
22396 2010-08-01  Bruno Haible  <bruno@clisp.org>
22397
22398         link: Update documentation.
22399         * doc/posix-functions/link.texi: Update regarding Solaris.
22400
22401 2010-07-31  Bruno Haible  <bruno@clisp.org>
22402
22403         Update modules list.
22404         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
22405         (String handling <string.h>): Add memcmp2, memxfrm.
22406         (Container data structures): Add xlist, xsublist, xoset.
22407         (Core language properties): Add alignof, unused-parameter.
22408         (Process control, Numeric conversion functions <stdlib.h>): Renamed
22409         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
22410         (Unibyte characters <ctype.h>): New section.
22411         (String handling <string.h>): New section.
22412         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
22413         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
22414         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
22415         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
22416         tan, tanh, tanl, y0, y1, yn.
22417         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
22418         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
22419         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
22420         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
22421         unlockpt, vdprintf, vdprintf-posix.
22422         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
22423         (File system functions): Add concat-filename, sys_file, sys_ioctl,
22424         xconcat-filename.
22425         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
22426         getdtablesize, pipe2, pipe2-safer.
22427         (Security): New section.
22428         (Networking functions): Add accept4.
22429         (Signal handling): Add sigpipe.
22430         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
22431         mbmemcasecoll.
22432         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
22433         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
22434         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
22435         pipe-filter-ii.
22436         (Misc): Add argp-version-etc, login_tty, parse-duration.
22437
22438 2010-07-31  Bruno Haible  <bruno@clisp.org>
22439
22440         Improve doc in MODULES.html.
22441         * modules/linkat (Description): Add the word "function".
22442         * modules/mkfifo (Description): Likewise.
22443         * modules/mknod (Description): Likewise.
22444         * modules/remove (Description): Likewise.
22445         * modules/renameat (Description): Likewise.
22446         * modules/stat (Description): Likewise.
22447         * modules/symlink (Description): Likewise.
22448         * modules/unlink (Description): Likewise.
22449
22450 2010-07-31  Bruno Haible  <bruno@clisp.org>
22451
22452         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
22453         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
22454         option --enable/disable-c++ instead of --enable/disable-cxx.
22455         * NEWS: Mention the change.
22456
22457 2010-07-31  Bruno Haible  <bruno@clisp.org>
22458
22459         readlink, areadlink: Relax test a bit.
22460         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
22461         alternative to ENOTDIR.
22462         * tests/test-areadlink.h (test_areadlink): Likewise.
22463         Reported by Rainer Tammer.
22464
22465 2010-07-31  Bruno Haible  <bruno@clisp.org>
22466
22467         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
22468         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
22469         character, perform the search using U_STRCHR.
22470         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
22471         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
22472         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
22473         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
22474         Suggested by Paolo Bonzini.
22475
22476 2010-07-31  Bruno Haible  <bruno@clisp.org>
22477
22478         unistr/u*-strstr: Fix dependencies.
22479         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
22480         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
22481         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
22482
22483 2010-07-31  Bruno Haible  <bruno@clisp.org>
22484
22485         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
22486         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
22487         the beginning of the loop.
22488         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
22489         cases in 'switch' statement.
22490
22491         unistr/u8-strchr: Fix several bugs.
22492         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
22493         the string. When not found, return NULL, not a pointer near the end.
22494
22495         More tests for unistr/u8-strchr.
22496         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
22497         that the function does not read past the first occurrence of the byte
22498         being searched.
22499         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
22500         * tests/unistr/test-u16-strchr.c (main): New function.
22501         * tests/unistr/test-u32-strchr.c (main): New function.
22502
22503 2010-07-31  Bruno Haible  <bruno@clisp.org>
22504
22505         posix-modules: Ignore backup files of documentation files.
22506         * posix-modules: grep only through files named *.texi.
22507
22508 2010-07-31  Bruno Haible  <bruno@clisp.org>
22509
22510         symlinkat: Fix documentation.
22511         * doc/posix-functions/readlinkat.texi: Fix module name.
22512
22513 2010-07-31  Bruno Haible  <bruno@clisp.org>
22514
22515         fchownat: Replace also when chown has the trailing slash bug.
22516         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
22517         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
22518         introduced on 2010-04-10.
22519         Reported by Rainer Tammer.
22520
22521 2010-07-31  Bruno Haible  <bruno@clisp.org>
22522
22523         linkat: Work around AIX 7.1 bug.
22524         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
22525         whether linkat handles trailing slash correctly. If not, replace linkat
22526         and define LINKAT_TRAILING_SLASH_BUG.
22527         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
22528         check whether (fd1,file1) points to a directory if file1 or file2 ends
22529         in a slash. Code taken from lib/link.c.
22530         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
22531         Reported by Rainer Tammer.
22532
22533 2010-07-31  Bruno Haible  <bruno@clisp.org>
22534
22535         Correctly determine whether pow is available in libc on AIX 7 with xlc.
22536         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
22537         This disables an xlc optimization that was causing wrong test results.
22538         Reported by Rainer Tammer.
22539
22540 2010-07-31  Bruno Haible  <bruno@clisp.org>
22541
22542         iconv: Work around AIX 6.1..7.1 bug.
22543         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
22544         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
22545         cross-compiling, guess no on all versions of AIX.
22546         Reported by Rainer Tammer.
22547
22548 2010-07-31  Bruno Haible  <bruno@clisp.org>
22549
22550         readlink: Relax test a bit.
22551         * tests/test-readlink.h (test_readlink): Allow different errno value
22552         when readlink is called with a file name that ends in / and refers to
22553         a file.
22554         Suggested by Eric Blake.
22555         Reported by Rainer Tammer.
22556
22557 2010-07-31  Bruno Haible  <bruno@clisp.org>
22558
22559         copysign: Does not require -lm on glibc systems.
22560         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
22561         gl_COMMON_DOUBLE_MATHFUNC.
22562         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
22563
22564 2010-07-31  Bruno Haible  <bruno@clisp.org>
22565
22566         duplocale: Work around AIX 7.1 bug.
22567         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
22568         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
22569         * lib/duplocale.c (rpl_duplocale): Update comment.
22570         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
22571         Reported by Rainer Tammer.
22572
22573 2010-07-30  Bruno Haible  <bruno@clisp.org>
22574
22575         dirfd: Avoid link error on AIX 7.1.
22576         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
22577         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
22578         exist, set REPLACE_DIRFD.
22579         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
22580         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
22581         * doc/posix-functions/dirfd.texi: Update.
22582         Reported by Rainer Tammer.
22583
22584 2010-07-30  Eric Blake  <eblake@redhat.com>
22585
22586         strtod: next round of AIX fixes
22587         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
22588         exponent.
22589         * tests/test-strtod.c (main): Enhance tests.
22590         * doc/posix-functions/strtod.texi (strtod): Document next bug.
22591         Reported by Rainer Tammer.
22592
22593         futimens: fix configure check
22594         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
22595         Reported by Bruno Haible.
22596
22597 2010-07-30  Bruno Haible  <bruno@clisp.org>
22598
22599         getline: Update regarding AIX.
22600         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
22601         Reported by Rainer Tammer.
22602
22603 2010-07-30  Bruno Haible  <bruno@clisp.org>
22604
22605         wcwidth: Drop replacement on AIX 7.
22606         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
22607         AIX 7.
22608         Reported by Rainer Tammer.
22609
22610 2010-07-30  Bruno Haible  <bruno@clisp.org>
22611
22612         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
22613         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
22614         a 'char *'.
22615         Reported by Rainer Tammer.
22616
22617 2010-07-30  Bruno Haible  <bruno@clisp.org>
22618
22619         unlink: Update regarding AIX.
22620         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
22621         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
22622         Reported by Rainer Tammer.
22623
22624 2010-07-30  Bruno Haible  <bruno@clisp.org>
22625
22626         symlink: Update regarding AIX.
22627         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
22628         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
22629         Reported by Rainer Tammer.
22630
22631 2010-07-30  Bruno Haible  <bruno@clisp.org>
22632
22633         strndup: Update regarding AIX.
22634         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
22635         AIX 7.
22636         Reported by Rainer Tammer.
22637
22638 2010-07-30  Bruno Haible  <bruno@clisp.org>
22639
22640         stat: Update regarding AIX.
22641         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
22642         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
22643         Reported by Rainer Tammer.
22644
22645 2010-07-30  Bruno Haible  <bruno@clisp.org>
22646
22647         truncl: Fix autoconf test.
22648         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
22649         whether truncl works.
22650         Reported by Rainer Tammer.
22651
22652 2010-07-30  Bruno Haible  <bruno@clisp.org>
22653
22654         round: Update regarding AIX.
22655         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
22656         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
22657         Reported by Rainer Tammer.
22658
22659 2010-07-30  Bruno Haible  <bruno@clisp.org>
22660
22661         rename: Update regarding AIX.
22662         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
22663         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
22664         Reported by Rainer Tammer.
22665
22666 2010-07-30  Bruno Haible  <bruno@clisp.org>
22667
22668         printf.m4: Update regarding AIX.
22669         * m4/printf.m4: Update comments regarding AIX.
22670         Reported by Rainer Tammer.
22671
22672 2010-07-30  Bruno Haible  <bruno@clisp.org>
22673
22674         iconv: Update regarding AIX.
22675         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
22676         AIX 7.
22677         Reported by Rainer Tammer.
22678
22679 2010-07-30  Bruno Haible  <bruno@clisp.org>
22680
22681         getopt: Update regarding AIX.
22682         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
22683         no on AIX.
22684         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
22685         Reported by Rainer Tammer.
22686
22687 2010-07-30  Bruno Haible  <bruno@clisp.org>
22688
22689         ldexpl; Update regarding AIX.
22690         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
22691         on AIX 7.
22692         Reported by Rainer Tammer.
22693
22694 2010-07-30  Bruno Haible  <bruno@clisp.org>
22695
22696         frexpl: Update regarding AIX.
22697         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
22698         on AIX 7.
22699         Reported by Rainer Tammer.
22700
22701 2010-07-30  Bruno Haible  <bruno@clisp.org>
22702
22703         open, fopen: Update regarding AIX.
22704         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
22705         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
22706         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
22707         * doc/posix-functions/fopen.texi: Likewise.
22708         Reported by Rainer Tammer.
22709
22710 2010-07-30  Bruno Haible  <bruno@clisp.org>
22711
22712         chown: Update doc regarding AIX.
22713         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
22714         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
22715         Reported by Rainer Tammer.
22716
22717 2010-07-30  Eric Blake  <eblake@redhat.com>
22718
22719         strtod: fix bug in replacement function on AIX
22720         * lib/strtod.c (strtod): Special case broken "0x" parse in
22721         underlying strtod.
22722         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
22723         * doc/posix-functions/strtod.texi (strtod): Likewise.
22724         Reported by Rainer Tammer.
22725
22726 2010-07-30  Bruno Haible  <bruno@clisp.org>
22727
22728         mbrlen: Fix cross-compilation guess for AIX.
22729         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
22730         guess. Leftover from 2008-12-22.
22731
22732 2010-07-30  Bruno Haible  <bruno@clisp.org>
22733
22734         mbrtowc: Fix cross-compilation guess for AIX.
22735         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
22736         guess. Leftover from 2008-12-21.
22737
22738 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
22739
22740         init.sh: work around trap limitation of some shells
22741         * tests/init.sh (setup_): Move exit trap outside of shell function.
22742
22743 2010-07-29  Eric Blake  <eblake@redhat.com>
22744
22745         strtod: aid debugging
22746         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
22747         understanding why strtod is rejected.
22748
22749 2010-07-28  Bruno Haible  <bruno@clisp.org>
22750
22751         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
22752         * lib/unistr/u8-chr.c: Include <string.h>.
22753         * tests/unistr/test-u8-chr.c: Likewise.
22754         * tests/unistr/test-u16-chr.c: Likewise.
22755         * tests/unistr/test-u32-chr.c: Likewise.
22756         * tests/unistr/test-u8-strchr.c: Likewise.
22757         * tests/unistr/test-u16-strchr.c: Likewise.
22758         * tests/unistr/test-u32-strchr.c: Likewise.
22759         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
22760         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
22761         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
22762         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
22763
22764 2010-07-28  Bruno Haible  <bruno@clisp.org>
22765
22766         Use spaces for indentation, not tabs.
22767         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
22768
22769 2010-07-27  Bruno Haible  <bruno@clisp.org>
22770
22771         mbspcasecmp: Fix function specification.
22772         * lib/string.in.h (mbspcasecmp): Fix specification comment.
22773         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
22774         Reported by Eric Blake <eblake@redhat.com>.
22775
22776 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
22777
22778         timespec: use cast and not conditional, as truncation isn't possible
22779         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
22780         instead of a conditional.  Comment about the situation in more detail.
22781         This undoes most of the 2009-10-29 patch.
22782
22783 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
22784
22785         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
22786         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
22787         * lib/unistr/u8-strchr.c: Likewise.
22788         * modules/unistr/u8-chr: Depend on memchr.
22789
22790         unistr/u*-strchr: add tests
22791         * modules/unistr/u8-strchr-tests: New file.
22792         * modules/unistr/u16-strchr-tests: New file.
22793         * modules/unistr/u32-strchr-tests: New file.
22794         * tests/unistr/test-strchr.h: New file.
22795         * tests/unistr/test-u8-strchr.c: New file.
22796         * tests/unistr/test-u16-strchr.c: New file.
22797         * tests/unistr/test-u32-strchr.c: New file.
22798
22799         unistr/u*-chr: test multibyte sequences more
22800         * tests/unistr/test-chr.h: Do complete testing of the characters in the
22801         test vector.
22802         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
22803         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
22804         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
22805
22806         unistr/u*-chr: test multibyte sequences
22807         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
22808
22809         unistr/u*-chr: prepare for multibyte tests
22810         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
22811         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
22812         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
22813         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
22814         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
22815         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
22816
22817 2010-07-18  Bruno Haible  <bruno@clisp.org>
22818
22819         unistr/u8-strchr: Optimize non-ASCII argument case.
22820         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
22821         because the first byte often matches anyway.
22822         Reported by Pádraig Brady <P@draigbrady.com>.
22823
22824 2010-07-15  Karl Berry  <karl@gnu.org>
22825
22826         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
22827
22828 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
22829
22830         getcwd: on Solaris, work better if ancestors are inaccessible
22831         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
22832         buffer and size, try again with a large buffer.  This works better
22833         on Solaris, since its getcwd succeeds even if the path to the root
22834         is inaccessible, and this is helpful in common cases such as .zfs
22835         hidden directories.  Problem reported by J Chapman Flack in
22836         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
22837         Use system getcwd if it's declared, not merely if it's partly
22838         working; use the partly-working test only to avoid needless effort
22839         if the system getcwd fails.
22840         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
22841         comment that was already obsolete and is now even more obsolete.
22842         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
22843         now might call strdup.
22844
22845 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
22846
22847         pthread: Add enough so that coreutils/src/sort.c compiles.
22848         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
22849         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
22850         gnulib. Include <sched.h> and <time.h>, as per POSIX.
22851         Include <sys/types.h>, in case it defines pthread_t.
22852         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
22853         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
22854         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
22855         (pthread_rwlockattr_t, pthread_spinlock_t):
22856         New typedefs, if HAVE_PTHREAD_T is not defined.
22857         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
22858         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
22859         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
22860         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
22861         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
22862         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
22863         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
22864         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
22865         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
22866         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
22867         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
22868         New macros.
22869         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
22870         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
22871         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
22872         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
22873         (pthread_spin_unlock): New dummy functions.
22874         (pthread_create): Return EAGAIN; don't set errno.
22875         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
22876         require AC_C_INLINE.
22877         * modules/pthread (Depends-on): Add sched, time.
22878         (pthread.h): Use AM_V_GEN.
22879
22880 2010-07-13  Bruno Haible  <bruno@clisp.org>
22881
22882         striconveh: Don't malloc memory if the result buffer is sufficient.
22883         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
22884         buffer if its size is sufficient.
22885         Reported by Ludovic Courtès <ludo@gnu.org>.
22886
22887 2010-07-13  Bruno Haible  <bruno@clisp.org>
22888
22889         strtod: Add safety check.
22890         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
22891
22892 2010-07-12  Bruno Haible  <bruno@clisp.org>
22893
22894         Unify tests that set gl_cv_func_ldexpl_no_libm.
22895         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
22896         gl_FUNC_LDEXPL.
22897         (gl_FUNC_LDEXPL): Invoke it.
22898         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
22899
22900 2010-07-12  Bruno Haible  <bruno@clisp.org>
22901
22902         Unify tests that set gl_cv_func_ldexp_no_libm.
22903         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
22904         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
22905         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
22906         (configure.ac): Simply invoke gl_FUNC_LDEXP.
22907         * modules/strtod (Files): Add m4/ldexp.m4.
22908
22909 2010-07-12  Bruno Haible  <bruno@clisp.org>
22910
22911         Unify tests that set gl_cv_func_frexpl_no_libm.
22912         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
22913         gl_FUNC_FREXPL_NO_LIBM.
22914         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
22915         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
22916
22917 2010-07-12  Bruno Haible  <bruno@clisp.org>
22918
22919         Unify tests that set gl_cv_func_frexp_no_libm.
22920         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
22921         gl_FUNC_FREXP_NO_LIBM.
22922         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
22923         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
22924
22925 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
22926
22927         memcoll: clarify sizes versus lengths, document better, and tweak perf
22928         * lib/memcoll.c (strcoll_loop, memcoll0):
22929         Improve quality of descriptive comments.  Name variables
22930         consistently as to whether they are lengths (which do not include
22931         terminating null) versus sizes (which do).
22932         * lib/xmemcoll.c (xmemcoll0): Likewise.
22933         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
22934         returned when s1size == 0; this is easier to compile and saves
22935         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
22936
22937 2010-07-12  Bruno Haible  <bruno@clisp.org>
22938
22939         Tests for module '_Exit'.
22940         * modules/_Exit-tests: New file.
22941         * tests/test-_Exit.sh: New file.
22942         * tests/test-_Exit.c: New file.
22943
22944         New module '_Exit'.
22945         * lib/stdlib.in.h (__attribute__): New macro.
22946         (_Exit): New declaration.
22947         * lib/_Exit.c: New file.
22948         * m4/_Exit.m4: New file.
22949         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
22950         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
22951         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
22952         * modules/_Exit: New file.
22953         * tests/test-stdlib-c++.cc (_Exit): Check signature.
22954         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
22955
22956 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
22957
22958         strtod: make it more-accurate typically, and don't require libm
22959         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
22960         Include limits.h.  Don't include string.h.
22961         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
22962         (locale_isspace): New function, so that no casts are needed to
22963         check whether *s is a space.
22964         (ldexp): Provide an unused dummy if not available.
22965         (scale_radix_exp, parse_number, underlying_strtod): New functions.
22966         (strtod): Use them.  This implementation prefers to use the
22967         underlying strtod if available, falling back on our own code
22968         only to fix known bugs.  This is more likely to produce an
22969         accurate result.  Also, it avoids the use of libm functions.
22970         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
22971         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
22972         was absent, but it caused a test failure with coreutils.
22973         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
22974         with libm.
22975         * modules/strtod (Makefile.am, Link): libm is no longer needed.
22976         * modules/strtod-tests (Makefile.am): Likewise.
22977
22978 2010-07-11  Pádraig Brady  <P@draigBrady.com>
22979             Bruno Haible  <bruno@clisp.org>
22980
22981         unistr/u8-strchr: Optimize ASCII argument case.
22982         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
22983
22984 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
22985
22986         (x)memcoll: minor tweaks
22987         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
22988         is after the type that it qualifies.
22989         (memcoll0): Likewise.
22990         * lib/memcoll.h (memcoll0): Likewise.
22991         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
22992         * lib/xmemcoll.h (xmemcoll0): Likewise.
22993         * lib/memcoll.c (memcoll0): Correct the comment.  This function
22994         differs from memcoll in that the NUL byte is part of the argument.
22995         Omit the abort-checks, as performance is a real issue here.  Plus,
22996         the checks were wrong anyway (an off-by-one error).  Omit local
22997         variable 'diff', as it's a bit clearer that way.
22998         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
22999         no longer needed.
23000
23001 2010-07-08  Chen Guo <chenguo4@yahoo.com>
23002
23003         (x)memcoll: speedup when input is known to be NUL delimited
23004         * lib/memcoll.c: Include stdlib.
23005         (memcoll0): New function.
23006         (strcoll_loop): New function, refactored for use in both memcoll
23007         and memcoll0.
23008         * lib/memcoll.h (memcoll0): Add prototype.
23009         * lib/xmemcoll.c (xmemcoll0): New function.
23010         (collate_error): New function, refactored for use in both xmemcoll
23011         and xmemcoll0.
23012         * lib/xmemcoll.h (xmemcoll0): Add prototype.
23013         * m4/memcoll.m4: add inline invocation.
23014
23015 2010-07-06  Pádraig Brady  <P@draigBrady.com>
23016
23017         * build-aux/bootstrap: Remove any local translations
23018         from the translation project synchronization directory,
23019         so that local only translations are not distributed.
23020
23021 2010-07-04  Bruno Haible  <bruno@clisp.org>
23022
23023         fsusage: Clarify which code applies to which platforms.
23024         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
23025         platform.
23026         * lib/fsusage.c (get_fs_usage): Likewise.
23027
23028 2010-07-04  Bruno Haible  <bruno@clisp.org>
23029
23030         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
23031         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
23032         Reported by Martin Lambers <marlam@marlam.de>.
23033
23034 2010-07-04  Jim Meyering  <meyering@redhat.com>
23035
23036         hash: once again explicitly disallow insertion of NULL
23037         * lib/hash.c (hash_insert0): Reinstate just-removed test:
23038         inserting a NULL pointer cannot work with these functions.
23039         Add a comment with details.
23040         This reverts part of the 2010-07-01 commit, 5bef1a35
23041         "hash: extend module to deal with non-pointer keys".
23042
23043 2010-07-01  Bruno Haible  <bruno@clisp.org>
23044
23045         stdbool: Update doc.
23046         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
23047         Info from Christian Weisgerber <naddy@mips.inka.de>.
23048
23049 2010-07-01  Jim Meyering  <meyering@redhat.com>
23050
23051         hash: extend module to deal with non-pointer keys
23052         * lib/hash.c (hash_insert0): New interface, much like hash_insert
23053         but that allows insertion of non-pointer entries.
23054         Do not disallow an ENTRY value of NULL.
23055         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
23056         * lib/hash.h (hash_insert0): Declare.
23057
23058 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
23059
23060         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
23061         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
23062         not present (i.e. with autoconf 2.59 and when using gettextize, not
23063         gnulib), require AC_GNU_SOURCE instead.
23064
23065 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
23066
23067         idpriv-drop: Fix tests.
23068         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
23069         not to the test-idpriv-droptemp program.
23070
23071 2010-06-29  Bruno Haible  <bruno@clisp.org>
23072
23073         string: Fix syntax error with g++ 2.96.
23074         * lib/string.in.h (__pure__): Remove definition.
23075         (_GL_ATTRIBUTE_PURE): New macro.
23076         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
23077         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
23078         Reported by Christian Weisgerber <naddy@mips.inka.de>.
23079
23080 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
23081
23082         unitypes: Fix bug introduced on 2010-05-18.
23083         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
23084
23085 2010-06-22  Eric Blake  <eblake@redhat.com>
23086
23087         memmem: slight optimization
23088         * lib/str-two-way.h (critical_factorization): Update comments.
23089         Reduce work during factorization phase.
23090         Reported by Carlos Bueno <carlos@bueno.org>.
23091
23092 2010-06-21  Bruno Haible  <bruno@clisp.org>
23093
23094         Fix HAVE_CALLOC_POSIX misnomer.
23095         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
23096         !HAVE_CALLOC_POSIX.
23097         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
23098         HAVE_CALLOC_POSIX.
23099         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
23100         instead of HAVE_CALLOC_POSIX.
23101         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
23102         HAVE_CALLOC_POSIX.
23103
23104         Use modern idiom for calloc() replacement.
23105         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
23106         AC_FUNC_CALLOC.
23107         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
23108         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
23109         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
23110         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
23111         (gl_REPLACE_CALLOC): New macro.
23112
23113 2010-06-21  Bruno Haible  <bruno@clisp.org>
23114
23115         Fix HAVE_REALLOC_POSIX misnomer.
23116         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
23117         !HAVE_REALLOC_POSIX.
23118         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
23119         HAVE_REALLOC_POSIX.
23120         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
23121         instead of HAVE_REALLOC_POSIX.
23122         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
23123         HAVE_REALLOC_POSIX.
23124
23125         Use modern idiom for realloc() replacement.
23126         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
23127         AC_FUNC_REALLOC.
23128         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
23129         Autoconf's AC_FUNC_REALLOC.
23130         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
23131         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
23132         (gl_REPLACE_REALLOC): New macro.
23133         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
23134
23135 2010-06-21  Bruno Haible  <bruno@clisp.org>
23136
23137         Fix HAVE_MALLOC_POSIX misnomer.
23138         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
23139         !HAVE_MALLOC_POSIX.
23140         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
23141         HAVE_MALLOC_POSIX.
23142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
23143         instead of HAVE_MALLOC_POSIX.
23144         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
23145         HAVE_MALLOC_POSIX.
23146
23147         Use modern idiom for malloc() replacement.
23148         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
23149         AC_FUNC_MALLOC.
23150         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
23151         Autoconf's AC_FUNC_MALLOC.
23152         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
23153         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
23154         (gl_REPLACE_MALLOC): New macro.
23155         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
23156
23157 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
23158
23159         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
23160         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
23161         This macro takes 3 arguments, not 4.
23162
23163 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
23164
23165         ipv6: fix detection under mingw
23166         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
23167         in6_addr.
23168
23169 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
23170
23171         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
23172         that strtod() works when cross-compiling to a glibc version known
23173         to work.
23174
23175 2010-06-15  Bruno Haible  <bruno@clisp.org>
23176
23177         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
23178
23179 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
23180
23181         select: Correct timeout.
23182         * lib/select.c (rpl_select): Compute wait_timeout correctly.
23183
23184 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
23185
23186         git-version-gen: init shell var to avoid env var influence
23187         * build-aux/git-version-gen (v): Init shell var to empty.
23188
23189 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
23190
23191         priv-set: Don't assume that priv.h exists merely because getppriv does.
23192         See Jan Andersen's bug report about AIX 5L in
23193         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
23194         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
23195         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
23196         * lib/priv-set.h: Likewise.
23197         * tests/test-priv-set.c: Likewise.
23198
23199 2010-06-13  Bruno Haible  <bruno@clisp.org>
23200
23201         relocatable: Make it easier to test whether to install wrappers.
23202         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
23203         RELOCATABLE_VIA_WRAPPER.
23204
23205 2010-06-13  Bruno Haible  <bruno@clisp.org>
23206
23207         gnulib-tool: Display specified modules and dependencies differently.
23208         * gnulib-tool (func_show_module_list): New function.
23209         (func_import, func_create_testdir): Invoke it.
23210         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
23211
23212 2010-06-13  Bruno Haible  <bruno@clisp.org>
23213
23214         gnulib-tool: Align code of func_import and func_create_testdir.
23215         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
23216         specified_modules.
23217
23218 2010-06-12  Jim Meyering  <meyering@redhat.com>
23219
23220         test-inttostr: avoid spurious failure on Solaris 9
23221         * tests/test-inttostr.c (main): Skip the test when snprintf fails
23222         to accept "%ju".  Reported by Bruno Haible.
23223
23224 2010-06-11  Jim Meyering  <meyering@redhat.com>
23225
23226         test-sys_socket: mark variables as used more readably
23227         * tests/test-sys_socket.c (main): Mark otherwise unused variables
23228         as "used" explicitly via (void) statement casts.  This is more
23229         readable than using them in an artificial return expression.
23230         Suggestion from Bruno Haible.
23231
23232 2010-06-11  Bruno Haible  <bruno@clisp.org>
23233
23234         Avoid some more warnings from "gcc -Wwrite-strings".
23235         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
23236         to 'const char *'.
23237         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
23238         * tests/test-c-strcasestr.c (main): Likewise.
23239         * tests/test-mbscasestr1.c (main): Likewise.
23240         * tests/test-mbscasestr2.c (main): Likewise.
23241         * tests/test-memmem.c (main): Likewise.
23242         * tests/test-strstr.c (main): Likewise.
23243         * tests/test-strcasestr.c (main): Likewise.
23244
23245 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23246
23247         init.sh: change framework_failure_ to fail with status 99, not 1
23248         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
23249         automake's parallel-tests rule that this is an unexpected failure,
23250         even if the test is listed in XFAIL_TESTS.
23251
23252 2010-06-11  Jim Meyering  <meyering@redhat.com>
23253
23254         test-inttostr: avoid warnings about 4-6KB literal strings
23255         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
23256         Include "macros.h", for its definition of ASSERT.
23257         (CK): s/assert/ASSERT/
23258         * modules/inttostr-tests (Files): Add macros.h.
23259
23260         init.sh: don't use $ME_ or skip_ before they are defined
23261         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
23262         their first uses.  Also hoist their companions: warn_, fail_,
23263         framework_failure_, $stderr_fileno.  Prompted by a patch from
23264         Stefano Lattarini.
23265
23266         test-sys_socket: avoid set-but-not-used warnings from gcc
23267         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
23268         avoid warning about set-but-not-used variables.
23269
23270         test-xvasprintf: avoid 'const' discard warnings
23271         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
23272         "const" when assigning from literal strings.
23273         (test_xasprintf): Add "void" in function argument list to placate
23274         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
23275
23276         tests: avoid compilation warnings in argmatch and exclude tests...
23277         in packages that define ARGMATCH_DIE_DECL, like coreutils.
23278         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
23279         Since it always exits, declare with the "noreturn" attribute.
23280         * tests/test-argmatch.c: Likewise.
23281
23282         tests: avoid 'const' discard warnings in mbsstr tests
23283         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
23284         * tests/test-mbsstr2.c (main): Likewise.
23285
23286         test-verify: avoid warning from gcc's -Wmissing-declarations
23287         * tests/test-verify.c (function): Declare to be static.
23288
23289         test-inttostr.c: include <string.h> for use of strcmp
23290         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
23291
23292         test-linkat: avoid failed assertion on "other" architectures
23293         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
23294         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
23295         sparc: https://bugs.launchpad.net/bugs/591968
23296
23297 2010-06-11  Jim Meyering  <meyering@redhat.com>
23298
23299         printf.m4: avoid autoconf's "Expanded Before Required" warning
23300         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
23301         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
23302         autoconf warning.
23303
23304 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
23305
23306         Replacement header templates are now named with ".in", not "_".
23307         * doc/gnulib-intro.texi: Correct.
23308
23309 2010-06-10  Jim Meyering  <meyering@redhat.com>
23310
23311         inttostr-tests: depend on snprintf, not snprintf-posix
23312         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
23313         snprintf-posix, to avoid this aclocal failure:
23314           missing file gnulib-tests/vasnprintf.c
23315           configure.ac:45: error: expected source file, required through \
23316           AC_LIBSOURCES, not found
23317
23318 2010-06-10  Jim Meyering  <meyering@redhat.com>
23319
23320         inttostr: add a new function, inttostr, and tests
23321         The namesake function was not available.  The existence of the
23322         template file, inttostr.c makes its addition nontrivial.
23323         * lib/anytostr.c: Rename from inttostr.c.
23324         (anytostr): Rename from inttostr.
23325         * lib/inttostr.c: New file.
23326         * modules/inttostr (Files): Add anytostr.c.
23327         (Makefile.am): Set lib_SOURCES instead of ...
23328         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
23329         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
23330         * lib/offtostr.c: Likewise.
23331         * lib/uinttostr.c: Likewise.
23332         * lib/umaxtostr.c: Likewise.
23333         * modules/inttostr-tests: New file.
23334         * tests/test-inttostr.c: New file.  Test these functions.
23335
23336 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
23337             Bruno Haible  <bruno@clisp.org>
23338
23339         Add "Extending Gnulib" chapter to manual.
23340         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
23341         chapter.
23342         (Extending Gnulib): New chapter.
23343         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
23344         chapter.
23345
23346 2010-06-09  Bruno Haible  <bruno@clisp.org>
23347
23348         Avoid relocwrapper link errors due to gnulib replacement functions.
23349         * lib/areadlink.c: Use the system's malloc, realloc functions.
23350         (areadlink): Set errno to ENOMEM explicitly.
23351         * modules/areadlink (Depends-on): Remove malloc-posix.
23352         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23353
23354 2010-06-09  Bruno Haible  <bruno@clisp.org>
23355
23356         Avoid relocwrapper link errors due to gnulib replacement functions.
23357         * lib/canonicalize-lgpl.c: Use the system's malloc function.
23358         * lib/malloca.c: Likewise.
23359         * lib/relocatable.c: Likewise.
23360         * lib/progreloc.c: Use the system's malloc, sprintf functions.
23361         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
23362         * lib/setenv.c: Use the system's malloc, realloc functions.
23363         * lib/strerror.c: Use the system's sprintf function.
23364         Reported by Ben Pfaff <blp@cs.stanford.edu>.
23365
23366 2010-06-04  Bruno Haible  <bruno@clisp.org>
23367
23368         Prefer documented low-level autoconf macro names.
23369         * m4/lib-link.m4: Use m4_translit instead of translit.
23370         * m4/environ.m4: Likewise.
23371         * m4/mathfunc.m4: Likewise.
23372         * m4/onceonly.m4: Likewise.
23373         * m4/stdint.m4: Likewise.
23374         Suggested by Eric Blake.
23375
23376 2010-06-04  Martin Lambers  <marlam@marlam.de>
23377             Bruno Haible  <bruno@clisp.org>
23378
23379         havelib: Allow library names with '+' characters.
23380         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
23381         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
23382
23383 2010-06-09  Bruno Haible  <bruno@clisp.org>
23384
23385         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
23386         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
23387         realloc failed.
23388
23389 2010-06-08  Peter Simons  <simons@cryp.to>
23390
23391         maint.mk: make the news-check rule more configurable
23392         * top/maint.mk (news-check-lines-spec): New variable.
23393         (news-check): Use "sed -n 1,10p" in place of "head".
23394
23395 2010-06-07  Jim Meyering  <meyering@redhat.com>
23396
23397         do-release-commit-and-tag: fix typo in --help
23398         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
23399
23400         regex: avoid new dead-code warning with gcc-4.6.0
23401         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
23402         if-block containing a while-loop.  It's been unused for at least
23403         5 years.
23404
23405 2010-06-05  Bruno Haible  <bruno@clisp.org>
23406
23407         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
23408         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
23409
23410 2010-06-04  Bruno Haible  <bruno@clisp.org>
23411
23412         Update to GNU gettext 0.18.1.
23413         * modules/gettext (configure.ac): Require gettext infrastructure from
23414         version 0.18.1.
23415
23416 2010-06-03  Bruno Haible  <bruno@clisp.org>
23417
23418         Don't use AC_LIBOBJ with file names in subdirectories.
23419         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
23420         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
23421         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
23422         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
23423         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
23424         gl_LIBUNISTRING_LIBSOURCE.
23425         (Makefile.am): Augment lib_SOURCES here, conditionally.
23426         * NEWS: Drop requirement for Automake option 'subdir-objects'.
23427
23428 2010-06-03  Bruno Haible  <bruno@clisp.org>
23429
23430         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
23431         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
23432         expansion does not end with a newline.
23433         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
23434         unnecessary newline.
23435
23436 2010-06-03  Bruno Haible  <bruno@clisp.org>
23437
23438         Reduce dependencies.
23439         * tests/test-quotearg.h: New file, extracted from
23440         tests/test-quotearg.c.
23441         * tests/test-quotearg-simple.c: New file, extracted from
23442         tests/test-quotearg.c.
23443         * tests/test-quotearg.c: Don't include <ctype.h>.
23444         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
23445         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
23446         use_quote_double_quotes, use_quotearg_colon): Moved to
23447         tests/test-quotearg.h.
23448         (results_g, flag_results, custom_quotes, custom_results): Moved
23449         to tests/test-quotearg-simple.c.
23450         (main): Moved the part that does not depend on gettext to
23451         tests/test-quotearg-simple.c. Return 77 if the test cannot be
23452         performed.
23453         * modules/quotearg-simple: New file.
23454         * modules/quotearg-simple-tests: New file.
23455         * modules/quotearg (Depends-on): Add quotearg-simple.
23456         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
23457         (Files): Add tests/test-quotearg.h.
23458         Reported by Paolo Bonzini.
23459
23460 2010-06-03  Bruno Haible  <bruno@clisp.org>
23461
23462         Reduce dependencies.
23463         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
23464
23465 2010-06-03  Bruno Haible  <bruno@clisp.org>
23466
23467         time: Undefine more broken macros.
23468         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
23469         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
23470         Reported by Eric Blake.
23471
23472 2010-06-03  Bruno Haible  <bruno@clisp.org>
23473
23474         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
23475         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
23476         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
23477         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
23478         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
23479         Reported by Ludovic Courtès <ludo@gnu.org>.
23480
23481 2010-06-02  Eric Blake  <eblake@redhat.com>
23482
23483         time: work with mingw + pthreads-win32 library
23484         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
23485         if timespec is defined only in pthread.h.
23486         * modules/time (Makefile.am): Substitute it.
23487         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
23488         <pthread.h>, when needed.
23489         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
23490         from the library.
23491
23492 2010-05-31  Bruno Haible  <bruno@clisp.org>
23493
23494         Avoid expanding two macros in the wrong order.
23495         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
23496         gl_LIBUNISTRING if it is defined.
23497         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
23498         autoconf >= 2.64.
23499         Reported by Ludovic Courtès <ludo@gnu.org>.
23500
23501 2010-05-27  Jim Meyering  <meyering@redhat.com>
23502
23503         maint.mk: also prohibit "#undef" of always-defined symbols
23504         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
23505         Allow more than one space before the symbol name.
23506         (sc_prohibit_always-defined_macros): Use grep's -E, now that
23507         the regexp uses alternation.
23508
23509 2010-05-26  Eric Blake  <eblake@redhat.com>
23510
23511         maint.mk: avoid echo -e
23512         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
23513         Convert all uses of echo -* to printf.
23514         Reported by Matthias Bolte.
23515
23516 2010-05-25  Bruno Haible  <bruno@clisp.org>
23517
23518         Update to GNU gettext 0.18, part 2.
23519         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
23520         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
23521
23522 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23523
23524         Add missing include in test-pwrite.c.
23525         * tests/test-pwrite.c: Include string.h, for strcmp.
23526
23527 2010-05-24  Bruno Haible  <bruno@clisp.org>
23528
23529         * NEWS: Mention requirement for Automake option 'subdir-objects'.
23530
23531 2010-05-24  Bruno Haible  <bruno@clisp.org>
23532
23533         Don't use conversion with transliteration in u{8,16,32}_strcoll.
23534         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
23535         iconveh_error argument.
23536         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
23537         U_STRCONV_TO_LOCALE.
23538         * lib/unistr/u16-strcoll.c: Likewise.
23539         * lib/unistr/u32-strcoll.c: Likewise.
23540         * modules/unistr/u8-strcoll (Depends-on): Add
23541         uniconv/u8-strconv-to-enc, localcharset. Remove
23542         uniconv/u8-strconv-to-locale.
23543         (configure.ac): Bump version number.
23544         * modules/unistr/u16-strcoll (Depends-on): Add
23545         uniconv/u16-strconv-to-enc, localcharset. Remove
23546         uniconv/u16-strconv-to-locale.
23547         (configure.ac): Bump version number.
23548         * modules/unistr/u32-strcoll (Depends-on): Add
23549         uniconv/u32-strconv-to-enc, localcharset. Remove
23550         uniconv/u32-strconv-to-locale.
23551         (configure.ac): Bump version number.
23552
23553 2010-05-24  Bruno Haible  <bruno@clisp.org>
23554
23555         Avoid a test failure on NetBSD 5.0.
23556         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
23557         an iconv() bug.
23558
23559 2010-05-24  Bruno Haible  <bruno@clisp.org>
23560
23561         Adjust #include directive style.
23562         * modules/regex (Includes): Recommend to write <regex.h>.
23563
23564 2010-05-24  Bruno Haible  <bruno@clisp.org>
23565
23566         regex: Don't require alloca.
23567         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
23568         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
23569         only inside if (0).
23570
23571 2010-05-23  Jim Meyering  <meyering@redhat.com>
23572
23573         test-renameat.c: include <sys/stat.h>
23574         * tests/test-renameat.c: Include <sys/stat.h>; required for
23575         definition of S_IS* macros.
23576
23577 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
23578
23579         Update maintainer documentation for 'relocatable-prog' module.
23580         * doc/relocatable-maint.texi: Update.
23581         Comments by Bruno Haible.
23582
23583 2010-05-23  Bruno Haible  <bruno@clisp.org>
23584
23585         git-merge-changelog: Enable --split-merged-entry by default.
23586         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
23587         (usage): Don't mention this option any more.
23588         Reported by Ralf Wildenhues.
23589
23590 2010-05-23  Jim Meyering  <meyering@redhat.com>
23591
23592         test-pwrite: do not leave behind a test file named "out"
23593         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
23594         The trivial-looking use of init.sh is really necessary.
23595         It ensures that the temporary file, "out", is created in
23596         a temporary directory, and removed upon termination.
23597         * tests/test-pwrite.sh: Re-add file.
23598         * modules/pwrite-tests: Reference it.
23599
23600 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23601
23602         Fix output redirection buglet in init.sh.
23603         * tests/init.sh: Fix redirection of stderr.
23604
23605 2010-05-20  Simon Josefsson  <simon@josefsson.org>
23606
23607         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
23608
23609 2010-05-17  Simon Josefsson  <simon@josefsson.org>
23610
23611         * modules/valgrind-tests: New file.
23612         * m4/valgrind-tests.m4: New file.
23613         * doc/valgrind-tests.texi: New file.
23614         * doc/gnulib.texi (Running self-tests under valgrind): New
23615         section.
23616
23617 2010-05-19  Bruno Haible  <bruno@clisp.org>
23618
23619         Clean up dead code in recent commit.
23620         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
23621         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
23622         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
23623         Suggested by Paolo Bonzini.
23624
23625 2010-05-19  Bruno Haible  <bruno@clisp.org>
23626
23627         Avoid valgrind error reports from libunistring.
23628         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
23629         * modules/libunistring (Files): Add it.
23630         * modules/libunistring-optional (Files): Likewise.
23631
23632 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
23633             Bruno Haible  <bruno@clisp.org>
23634
23635         New module 'libunistring-optional'.
23636         * modules/libunistring-optional: New file.
23637         * m4/libunistring-base.m4: New file.
23638         * m4/libunistring-optional.m4: New file.
23639         * lib/unicase.in.h: Renamed from lib/unicase.h.
23640         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
23641         * lib/unictype.in.h: Renamed from lib/unictype.h.
23642         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
23643         * lib/uniname.in.h: Renamed from lib/uniname.h.
23644         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
23645         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
23646         * lib/unistr.in.h: Renamed from lib/unistr.h.
23647         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
23648         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
23649         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
23650         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
23651         gl_LIBUNISTRING. If the library was found, determine the installed
23652         version and set LIBUNISTRING_VERSION.
23653         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
23654         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
23655         handle a configuration option --with-included-libunistring.
23656         * modules/libunistring (Files): Add m4/absolute-header.m4.
23657         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
23658         Add m4/libunistring-base.m4.
23659         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23660         (Makefile.am): Build unicase.h from unicase.in.h.
23661         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
23662         Add m4/libunistring-base.m4.
23663         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23664         (Makefile.am): Build uniconv.h from uniconv.in.h.
23665         * modules/unictype/base (Files): Use unictype.in.h instead of
23666         unictype.h. Add m4/libunistring-base.m4.
23667         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23668         (Makefile.am): Build unictype.h from unictype.in.h.
23669         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
23670         Add m4/libunistring-base.m4.
23671         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23672         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
23673         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
23674         Add m4/libunistring-base.m4.
23675         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23676         (Makefile.am): Build uniname.h from uniname.in.h.
23677         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
23678         Add m4/libunistring-base.m4.
23679         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23680         (Makefile.am): Build uninorm.h from uninorm.in.h.
23681         * modules/unistdio/base (Files): Use unistdio.in.h instead of
23682         unistdio.h. Add m4/libunistring-base.m4.
23683         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23684         (Makefile.am): Build unistdio.h from unistdio.in.h.
23685         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
23686         Add m4/libunistring-base.m4.
23687         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23688         (Makefile.am): Build unistr.h from unistr.in.h.
23689         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
23690         Add m4/libunistring-base.m4.
23691         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23692         (Makefile.am): Build unitypes.h from unitypes.in.h.
23693         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
23694         Add m4/libunistring-base.m4.
23695         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23696         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
23697         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
23698         uniwidth.h. Add m4/libunistring-base.m4.
23699         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
23700         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
23701         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
23702         instead of augmenting lib_SOURCES.
23703         * modules/unicase/empty-suffix-context: Likewise.
23704         * modules/unicase/locale-language: Likewise.
23705         * modules/unicase/tolower: Likewise.
23706         * modules/unicase/totitle: Likewise.
23707         * modules/unicase/toupper: Likewise.
23708         * modules/unicase/u8-casecmp: Likewise.
23709         * modules/unicase/u8-casecoll: Likewise.
23710         * modules/unicase/u8-casefold: Likewise.
23711         * modules/unicase/u8-casexfrm: Likewise.
23712         * modules/unicase/u8-ct-casefold: Likewise.
23713         * modules/unicase/u8-ct-tolower: Likewise.
23714         * modules/unicase/u8-ct-totitle: Likewise.
23715         * modules/unicase/u8-ct-toupper: Likewise.
23716         * modules/unicase/u8-is-cased: Likewise.
23717         * modules/unicase/u8-is-casefolded: Likewise.
23718         * modules/unicase/u8-is-lowercase: Likewise.
23719         * modules/unicase/u8-is-titlecase: Likewise.
23720         * modules/unicase/u8-is-uppercase: Likewise.
23721         * modules/unicase/u8-prefix-context: Likewise.
23722         * modules/unicase/u8-suffix-context: Likewise.
23723         * modules/unicase/u8-tolower: Likewise.
23724         * modules/unicase/u8-totitle: Likewise.
23725         * modules/unicase/u8-toupper: Likewise.
23726         * modules/unicase/u16-casecmp: Likewise.
23727         * modules/unicase/u16-casecoll: Likewise.
23728         * modules/unicase/u16-casefold: Likewise.
23729         * modules/unicase/u16-casexfrm: Likewise.
23730         * modules/unicase/u16-ct-casefold: Likewise.
23731         * modules/unicase/u16-ct-tolower: Likewise.
23732         * modules/unicase/u16-ct-totitle: Likewise.
23733         * modules/unicase/u16-ct-toupper: Likewise.
23734         * modules/unicase/u16-is-cased: Likewise.
23735         * modules/unicase/u16-is-casefolded: Likewise.
23736         * modules/unicase/u16-is-lowercase: Likewise.
23737         * modules/unicase/u16-is-titlecase: Likewise.
23738         * modules/unicase/u16-is-uppercase: Likewise.
23739         * modules/unicase/u16-prefix-context: Likewise.
23740         * modules/unicase/u16-suffix-context: Likewise.
23741         * modules/unicase/u16-tolower: Likewise.
23742         * modules/unicase/u16-totitle: Likewise.
23743         * modules/unicase/u16-toupper: Likewise.
23744         * modules/unicase/u32-casecmp: Likewise.
23745         * modules/unicase/u32-casecoll: Likewise.
23746         * modules/unicase/u32-casefold: Likewise.
23747         * modules/unicase/u32-casexfrm: Likewise.
23748         * modules/unicase/u32-ct-casefold: Likewise.
23749         * modules/unicase/u32-ct-tolower: Likewise.
23750         * modules/unicase/u32-ct-totitle: Likewise.
23751         * modules/unicase/u32-ct-toupper: Likewise.
23752         * modules/unicase/u32-is-cased: Likewise.
23753         * modules/unicase/u32-is-casefolded: Likewise.
23754         * modules/unicase/u32-is-lowercase: Likewise.
23755         * modules/unicase/u32-is-titlecase: Likewise.
23756         * modules/unicase/u32-is-uppercase: Likewise.
23757         * modules/unicase/u32-prefix-context: Likewise.
23758         * modules/unicase/u32-suffix-context: Likewise.
23759         * modules/unicase/u32-tolower: Likewise.
23760         * modules/unicase/u32-totitle: Likewise.
23761         * modules/unicase/u32-toupper: Likewise.
23762         * modules/unicase/ulc-casecmp: Likewise.
23763         * modules/unicase/ulc-casecoll: Likewise.
23764         * modules/unicase/ulc-casexfrm: Likewise.
23765         * modules/uniconv/u8-conv-from-enc: Likewise.
23766         * modules/uniconv/u8-conv-to-enc: Likewise.
23767         * modules/uniconv/u8-strconv-from-enc: Likewise.
23768         * modules/uniconv/u8-strconv-from-locale: Likewise.
23769         * modules/uniconv/u8-strconv-to-enc: Likewise.
23770         * modules/uniconv/u8-strconv-to-locale: Likewise.
23771         * modules/uniconv/u16-conv-from-enc: Likewise.
23772         * modules/uniconv/u16-conv-to-enc: Likewise.
23773         * modules/uniconv/u16-strconv-from-enc: Likewise.
23774         * modules/uniconv/u16-strconv-from-locale: Likewise.
23775         * modules/uniconv/u16-strconv-to-enc: Likewise.
23776         * modules/uniconv/u16-strconv-to-locale: Likewise.
23777         * modules/uniconv/u32-conv-from-enc: Likewise.
23778         * modules/uniconv/u32-conv-to-enc: Likewise.
23779         * modules/uniconv/u32-strconv-from-enc: Likewise.
23780         * modules/uniconv/u32-strconv-from-locale: Likewise.
23781         * modules/uniconv/u32-strconv-to-enc: Likewise.
23782         * modules/uniconv/u32-strconv-to-locale: Likewise.
23783         * modules/unictype/bidicategory-byname: Likewise.
23784         * modules/unictype/bidicategory-name: Likewise.
23785         * modules/unictype/bidicategory-of: Likewise.
23786         * modules/unictype/bidicategory-test: Likewise.
23787         * modules/unictype/block-list: Likewise.
23788         * modules/unictype/block-test: Likewise.
23789         * modules/unictype/category-C: Likewise.
23790         * modules/unictype/category-Cc: Likewise.
23791         * modules/unictype/category-Cf: Likewise.
23792         * modules/unictype/category-Cn: Likewise.
23793         * modules/unictype/category-Co: Likewise.
23794         * modules/unictype/category-Cs: Likewise.
23795         * modules/unictype/category-L: Likewise.
23796         * modules/unictype/category-Ll: Likewise.
23797         * modules/unictype/category-Lm: Likewise.
23798         * modules/unictype/category-Lo: Likewise.
23799         * modules/unictype/category-Lt: Likewise.
23800         * modules/unictype/category-Lu: Likewise.
23801         * modules/unictype/category-M: Likewise.
23802         * modules/unictype/category-Mc: Likewise.
23803         * modules/unictype/category-Me: Likewise.
23804         * modules/unictype/category-Mn: Likewise.
23805         * modules/unictype/category-N: Likewise.
23806         * modules/unictype/category-Nd: Likewise.
23807         * modules/unictype/category-Nl: Likewise.
23808         * modules/unictype/category-No: Likewise.
23809         * modules/unictype/category-P: Likewise.
23810         * modules/unictype/category-Pc: Likewise.
23811         * modules/unictype/category-Pd: Likewise.
23812         * modules/unictype/category-Pe: Likewise.
23813         * modules/unictype/category-Pf: Likewise.
23814         * modules/unictype/category-Pi: Likewise.
23815         * modules/unictype/category-Po: Likewise.
23816         * modules/unictype/category-Ps: Likewise.
23817         * modules/unictype/category-S: Likewise.
23818         * modules/unictype/category-Sc: Likewise.
23819         * modules/unictype/category-Sk: Likewise.
23820         * modules/unictype/category-Sm: Likewise.
23821         * modules/unictype/category-So: Likewise.
23822         * modules/unictype/category-Z: Likewise.
23823         * modules/unictype/category-Zl: Likewise.
23824         * modules/unictype/category-Zp: Likewise.
23825         * modules/unictype/category-Zs: Likewise.
23826         * modules/unictype/category-and: Likewise.
23827         * modules/unictype/category-and-not: Likewise.
23828         * modules/unictype/category-byname: Likewise.
23829         * modules/unictype/category-name: Likewise.
23830         * modules/unictype/category-none: Likewise.
23831         * modules/unictype/category-of: Likewise.
23832         * modules/unictype/category-or: Likewise.
23833         * modules/unictype/category-test: Likewise.
23834         * modules/unictype/combining-class: Likewise.
23835         * modules/unictype/ctype-alnum: Likewise.
23836         * modules/unictype/ctype-alpha: Likewise.
23837         * modules/unictype/ctype-blank: Likewise.
23838         * modules/unictype/ctype-cntrl: Likewise.
23839         * modules/unictype/ctype-digit: Likewise.
23840         * modules/unictype/ctype-graph: Likewise.
23841         * modules/unictype/ctype-lower: Likewise.
23842         * modules/unictype/ctype-print: Likewise.
23843         * modules/unictype/ctype-punct: Likewise.
23844         * modules/unictype/ctype-space: Likewise.
23845         * modules/unictype/ctype-upper: Likewise.
23846         * modules/unictype/ctype-xdigit: Likewise.
23847         * modules/unictype/decimal-digit: Likewise.
23848         * modules/unictype/digit: Likewise.
23849         * modules/unictype/mirror: Likewise.
23850         * modules/unictype/numeric: Likewise.
23851         * modules/unictype/property-alphabetic: Likewise.
23852         * modules/unictype/property-ascii-hex-digit: Likewise.
23853         * modules/unictype/property-bidi-arabic-digit: Likewise.
23854         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
23855         * modules/unictype/property-bidi-block-separator: Likewise.
23856         * modules/unictype/property-bidi-boundary-neutral: Likewise.
23857         * modules/unictype/property-bidi-common-separator: Likewise.
23858         * modules/unictype/property-bidi-control: Likewise.
23859         * modules/unictype/property-bidi-embedding-or-override: Likewise.
23860         * modules/unictype/property-bidi-eur-num-separator: Likewise.
23861         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
23862         * modules/unictype/property-bidi-european-digit: Likewise.
23863         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
23864         * modules/unictype/property-bidi-left-to-right: Likewise.
23865         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
23866         * modules/unictype/property-bidi-other-neutral: Likewise.
23867         * modules/unictype/property-bidi-pdf: Likewise.
23868         * modules/unictype/property-bidi-segment-separator: Likewise.
23869         * modules/unictype/property-bidi-whitespace: Likewise.
23870         * modules/unictype/property-byname: Likewise.
23871         * modules/unictype/property-combining: Likewise.
23872         * modules/unictype/property-composite: Likewise.
23873         * modules/unictype/property-currency-symbol: Likewise.
23874         * modules/unictype/property-dash: Likewise.
23875         * modules/unictype/property-decimal-digit: Likewise.
23876         * modules/unictype/property-default-ignorable-code-point: Likewise.
23877         * modules/unictype/property-deprecated: Likewise.
23878         * modules/unictype/property-diacritic: Likewise.
23879         * modules/unictype/property-extender: Likewise.
23880         * modules/unictype/property-format-control: Likewise.
23881         * modules/unictype/property-grapheme-base: Likewise.
23882         * modules/unictype/property-grapheme-extend: Likewise.
23883         * modules/unictype/property-grapheme-link: Likewise.
23884         * modules/unictype/property-hex-digit: Likewise.
23885         * modules/unictype/property-hyphen: Likewise.
23886         * modules/unictype/property-id-continue: Likewise.
23887         * modules/unictype/property-id-start: Likewise.
23888         * modules/unictype/property-ideographic: Likewise.
23889         * modules/unictype/property-ids-binary-operator: Likewise.
23890         * modules/unictype/property-ids-trinary-operator: Likewise.
23891         * modules/unictype/property-ignorable-control: Likewise.
23892         * modules/unictype/property-iso-control: Likewise.
23893         * modules/unictype/property-join-control: Likewise.
23894         * modules/unictype/property-left-of-pair: Likewise.
23895         * modules/unictype/property-line-separator: Likewise.
23896         * modules/unictype/property-logical-order-exception: Likewise.
23897         * modules/unictype/property-lowercase: Likewise.
23898         * modules/unictype/property-math: Likewise.
23899         * modules/unictype/property-non-break: Likewise.
23900         * modules/unictype/property-not-a-character: Likewise.
23901         * modules/unictype/property-numeric: Likewise.
23902         * modules/unictype/property-other-alphabetic: Likewise.
23903         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
23904         * modules/unictype/property-other-grapheme-extend: Likewise.
23905         * modules/unictype/property-other-id-continue: Likewise.
23906         * modules/unictype/property-other-id-start: Likewise.
23907         * modules/unictype/property-other-lowercase: Likewise.
23908         * modules/unictype/property-other-math: Likewise.
23909         * modules/unictype/property-other-uppercase: Likewise.
23910         * modules/unictype/property-paired-punctuation: Likewise.
23911         * modules/unictype/property-paragraph-separator: Likewise.
23912         * modules/unictype/property-pattern-syntax: Likewise.
23913         * modules/unictype/property-pattern-white-space: Likewise.
23914         * modules/unictype/property-private-use: Likewise.
23915         * modules/unictype/property-punctuation: Likewise.
23916         * modules/unictype/property-quotation-mark: Likewise.
23917         * modules/unictype/property-radical: Likewise.
23918         * modules/unictype/property-sentence-terminal: Likewise.
23919         * modules/unictype/property-soft-dotted: Likewise.
23920         * modules/unictype/property-space: Likewise.
23921         * modules/unictype/property-terminal-punctuation: Likewise.
23922         * modules/unictype/property-test: Likewise.
23923         * modules/unictype/property-titlecase: Likewise.
23924         * modules/unictype/property-unassigned-code-value: Likewise.
23925         * modules/unictype/property-unified-ideograph: Likewise.
23926         * modules/unictype/property-uppercase: Likewise.
23927         * modules/unictype/property-variation-selector: Likewise.
23928         * modules/unictype/property-white-space: Likewise.
23929         * modules/unictype/property-xid-continue: Likewise.
23930         * modules/unictype/property-xid-start: Likewise.
23931         * modules/unictype/property-zero-width: Likewise.
23932         * modules/unictype/scripts: Likewise.
23933         * modules/unictype/syntax-c-ident: Likewise.
23934         * modules/unictype/syntax-c-whitespace: Likewise.
23935         * modules/unictype/syntax-java-ident: Likewise.
23936         * modules/unictype/syntax-java-whitespace: Likewise.
23937         * modules/unilbrk/u8-possible-linebreaks: Likewise.
23938         * modules/unilbrk/u8-width-linebreaks: Likewise.
23939         * modules/unilbrk/u16-possible-linebreaks: Likewise.
23940         * modules/unilbrk/u16-width-linebreaks: Likewise.
23941         * modules/unilbrk/u32-possible-linebreaks: Likewise.
23942         * modules/unilbrk/u32-width-linebreaks: Likewise.
23943         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
23944         * modules/unilbrk/ulc-width-linebreaks: Likewise.
23945         * modules/uniname/uniname: Likewise.
23946         * modules/uninorm/canonical-decomposition: Likewise.
23947         * modules/uninorm/composition: Likewise.
23948         * modules/uninorm/decomposing-form: Likewise.
23949         * modules/uninorm/decomposition: Likewise.
23950         * modules/uninorm/filter: Likewise.
23951         * modules/uninorm/nfc: Likewise.
23952         * modules/uninorm/nfd: Likewise.
23953         * modules/uninorm/nfkc: Likewise.
23954         * modules/uninorm/nfkd: Likewise.
23955         * modules/uninorm/u8-normalize: Likewise.
23956         * modules/uninorm/u8-normcmp: Likewise.
23957         * modules/uninorm/u8-normcoll: Likewise.
23958         * modules/uninorm/u8-normxfrm: Likewise.
23959         * modules/uninorm/u16-normalize: Likewise.
23960         * modules/uninorm/u16-normcmp: Likewise.
23961         * modules/uninorm/u16-normcoll: Likewise.
23962         * modules/uninorm/u16-normxfrm: Likewise.
23963         * modules/uninorm/u32-normalize: Likewise.
23964         * modules/uninorm/u32-normcmp: Likewise.
23965         * modules/uninorm/u32-normcoll: Likewise.
23966         * modules/uninorm/u32-normxfrm: Likewise.
23967         * modules/unistdio/u8-asnprintf: Likewise.
23968         * modules/unistdio/u8-asprintf: Likewise.
23969         * modules/unistdio/u8-snprintf: Likewise.
23970         * modules/unistdio/u8-sprintf: Likewise.
23971         * modules/unistdio/u8-u8-asnprintf: Likewise.
23972         * modules/unistdio/u8-u8-asprintf: Likewise.
23973         * modules/unistdio/u8-u8-snprintf: Likewise.
23974         * modules/unistdio/u8-u8-sprintf: Likewise.
23975         * modules/unistdio/u8-u8-vasnprintf: Likewise.
23976         * modules/unistdio/u8-u8-vasprintf: Likewise.
23977         * modules/unistdio/u8-u8-vsnprintf: Likewise.
23978         * modules/unistdio/u8-u8-vsprintf: Likewise.
23979         * modules/unistdio/u8-vasnprintf: Likewise.
23980         * modules/unistdio/u8-vasprintf: Likewise.
23981         * modules/unistdio/u8-vsnprintf: Likewise.
23982         * modules/unistdio/u8-vsprintf: Likewise.
23983         * modules/unistdio/u16-asnprintf: Likewise.
23984         * modules/unistdio/u16-asprintf: Likewise.
23985         * modules/unistdio/u16-snprintf: Likewise.
23986         * modules/unistdio/u16-sprintf: Likewise.
23987         * modules/unistdio/u16-u16-asnprintf: Likewise.
23988         * modules/unistdio/u16-u16-asprintf: Likewise.
23989         * modules/unistdio/u16-u16-snprintf: Likewise.
23990         * modules/unistdio/u16-u16-sprintf: Likewise.
23991         * modules/unistdio/u16-u16-vasnprintf: Likewise.
23992         * modules/unistdio/u16-u16-vasprintf: Likewise.
23993         * modules/unistdio/u16-u16-vsnprintf: Likewise.
23994         * modules/unistdio/u16-u16-vsprintf: Likewise.
23995         * modules/unistdio/u16-vasnprintf: Likewise.
23996         * modules/unistdio/u16-vasprintf: Likewise.
23997         * modules/unistdio/u16-vsnprintf: Likewise.
23998         * modules/unistdio/u16-vsprintf: Likewise.
23999         * modules/unistdio/u32-asnprintf: Likewise.
24000         * modules/unistdio/u32-asprintf: Likewise.
24001         * modules/unistdio/u32-snprintf: Likewise.
24002         * modules/unistdio/u32-sprintf: Likewise.
24003         * modules/unistdio/u32-u32-asnprintf: Likewise.
24004         * modules/unistdio/u32-u32-asprintf: Likewise.
24005         * modules/unistdio/u32-u32-snprintf: Likewise.
24006         * modules/unistdio/u32-u32-sprintf: Likewise.
24007         * modules/unistdio/u32-u32-vasnprintf: Likewise.
24008         * modules/unistdio/u32-u32-vasprintf: Likewise.
24009         * modules/unistdio/u32-u32-vsnprintf: Likewise.
24010         * modules/unistdio/u32-u32-vsprintf: Likewise.
24011         * modules/unistdio/u32-vasnprintf: Likewise.
24012         * modules/unistdio/u32-vasprintf: Likewise.
24013         * modules/unistdio/u32-vsnprintf: Likewise.
24014         * modules/unistdio/u32-vsprintf: Likewise.
24015         * modules/unistdio/ulc-asnprintf: Likewise.
24016         * modules/unistdio/ulc-asprintf: Likewise.
24017         * modules/unistdio/ulc-fprintf: Likewise.
24018         * modules/unistdio/ulc-snprintf: Likewise.
24019         * modules/unistdio/ulc-sprintf: Likewise.
24020         * modules/unistdio/ulc-vasnprintf: Likewise.
24021         * modules/unistdio/ulc-vasprintf: Likewise.
24022         * modules/unistdio/ulc-vfprintf: Likewise.
24023         * modules/unistdio/ulc-vsnprintf: Likewise.
24024         * modules/unistdio/ulc-vsprintf: Likewise.
24025         * modules/unistr/u8-check: Likewise.
24026         * modules/unistr/u8-chr: Likewise.
24027         * modules/unistr/u8-cmp: Likewise.
24028         * modules/unistr/u8-cmp2: Likewise.
24029         * modules/unistr/u8-cpy: Likewise.
24030         * modules/unistr/u8-cpy-alloc: Likewise.
24031         * modules/unistr/u8-endswith: Likewise.
24032         * modules/unistr/u8-mblen: Likewise.
24033         * modules/unistr/u8-mbsnlen: Likewise.
24034         * modules/unistr/u8-mbtouc: Likewise.
24035         * modules/unistr/u8-mbtouc-unsafe: Likewise.
24036         * modules/unistr/u8-mbtoucr: Likewise.
24037         * modules/unistr/u8-move: Likewise.
24038         * modules/unistr/u8-next: Likewise.
24039         * modules/unistr/u8-prev: Likewise.
24040         * modules/unistr/u8-set: Likewise.
24041         * modules/unistr/u8-startswith: Likewise.
24042         * modules/unistr/u8-stpcpy: Likewise.
24043         * modules/unistr/u8-stpncpy: Likewise.
24044         * modules/unistr/u8-strcat: Likewise.
24045         * modules/unistr/u8-strchr: Likewise.
24046         * modules/unistr/u8-strcmp: Likewise.
24047         * modules/unistr/u8-strcoll: Likewise.
24048         * modules/unistr/u8-strcpy: Likewise.
24049         * modules/unistr/u8-strcspn: Likewise.
24050         * modules/unistr/u8-strdup: Likewise.
24051         * modules/unistr/u8-strlen: Likewise.
24052         * modules/unistr/u8-strmblen: Likewise.
24053         * modules/unistr/u8-strmbtouc: Likewise.
24054         * modules/unistr/u8-strncat: Likewise.
24055         * modules/unistr/u8-strncmp: Likewise.
24056         * modules/unistr/u8-strncpy: Likewise.
24057         * modules/unistr/u8-strnlen: Likewise.
24058         * modules/unistr/u8-strpbrk: Likewise.
24059         * modules/unistr/u8-strrchr: Likewise.
24060         * modules/unistr/u8-strspn: Likewise.
24061         * modules/unistr/u8-strstr: Likewise.
24062         * modules/unistr/u8-strtok: Likewise.
24063         * modules/unistr/u8-to-u16: Likewise.
24064         * modules/unistr/u8-to-u32: Likewise.
24065         * modules/unistr/u8-uctomb: Likewise.
24066         * modules/unistr/u16-check: Likewise.
24067         * modules/unistr/u16-chr: Likewise.
24068         * modules/unistr/u16-cmp: Likewise.
24069         * modules/unistr/u16-cmp2: Likewise.
24070         * modules/unistr/u16-cpy: Likewise.
24071         * modules/unistr/u16-cpy-alloc: Likewise.
24072         * modules/unistr/u16-endswith: Likewise.
24073         * modules/unistr/u16-mblen: Likewise.
24074         * modules/unistr/u16-mbsnlen: Likewise.
24075         * modules/unistr/u16-mbtouc: Likewise.
24076         * modules/unistr/u16-mbtouc-unsafe: Likewise.
24077         * modules/unistr/u16-mbtoucr: Likewise.
24078         * modules/unistr/u16-move: Likewise.
24079         * modules/unistr/u16-next: Likewise.
24080         * modules/unistr/u16-prev: Likewise.
24081         * modules/unistr/u16-set: Likewise.
24082         * modules/unistr/u16-startswith: Likewise.
24083         * modules/unistr/u16-stpcpy: Likewise.
24084         * modules/unistr/u16-stpncpy: Likewise.
24085         * modules/unistr/u16-strcat: Likewise.
24086         * modules/unistr/u16-strchr: Likewise.
24087         * modules/unistr/u16-strcmp: Likewise.
24088         * modules/unistr/u16-strcoll: Likewise.
24089         * modules/unistr/u16-strcpy: Likewise.
24090         * modules/unistr/u16-strcspn: Likewise.
24091         * modules/unistr/u16-strdup: Likewise.
24092         * modules/unistr/u16-strlen: Likewise.
24093         * modules/unistr/u16-strmblen: Likewise.
24094         * modules/unistr/u16-strmbtouc: Likewise.
24095         * modules/unistr/u16-strncat: Likewise.
24096         * modules/unistr/u16-strncmp: Likewise.
24097         * modules/unistr/u16-strncpy: Likewise.
24098         * modules/unistr/u16-strnlen: Likewise.
24099         * modules/unistr/u16-strpbrk: Likewise.
24100         * modules/unistr/u16-strrchr: Likewise.
24101         * modules/unistr/u16-strspn: Likewise.
24102         * modules/unistr/u16-strstr: Likewise.
24103         * modules/unistr/u16-strtok: Likewise.
24104         * modules/unistr/u16-to-u32: Likewise.
24105         * modules/unistr/u16-to-u8: Likewise.
24106         * modules/unistr/u16-uctomb: Likewise.
24107         * modules/unistr/u32-check: Likewise.
24108         * modules/unistr/u32-chr: Likewise.
24109         * modules/unistr/u32-cmp: Likewise.
24110         * modules/unistr/u32-cmp2: Likewise.
24111         * modules/unistr/u32-cpy: Likewise.
24112         * modules/unistr/u32-cpy-alloc: Likewise.
24113         * modules/unistr/u32-endswith: Likewise.
24114         * modules/unistr/u32-mblen: Likewise.
24115         * modules/unistr/u32-mbsnlen: Likewise.
24116         * modules/unistr/u32-mbtouc: Likewise.
24117         * modules/unistr/u32-mbtouc-unsafe: Likewise.
24118         * modules/unistr/u32-mbtoucr: Likewise.
24119         * modules/unistr/u32-move: Likewise.
24120         * modules/unistr/u32-next: Likewise.
24121         * modules/unistr/u32-prev: Likewise.
24122         * modules/unistr/u32-set: Likewise.
24123         * modules/unistr/u32-startswith: Likewise.
24124         * modules/unistr/u32-stpcpy: Likewise.
24125         * modules/unistr/u32-stpncpy: Likewise.
24126         * modules/unistr/u32-strcat: Likewise.
24127         * modules/unistr/u32-strchr: Likewise.
24128         * modules/unistr/u32-strcmp: Likewise.
24129         * modules/unistr/u32-strcoll: Likewise.
24130         * modules/unistr/u32-strcpy: Likewise.
24131         * modules/unistr/u32-strcspn: Likewise.
24132         * modules/unistr/u32-strdup: Likewise.
24133         * modules/unistr/u32-strlen: Likewise.
24134         * modules/unistr/u32-strmblen: Likewise.
24135         * modules/unistr/u32-strmbtouc: Likewise.
24136         * modules/unistr/u32-strncat: Likewise.
24137         * modules/unistr/u32-strncmp: Likewise.
24138         * modules/unistr/u32-strncpy: Likewise.
24139         * modules/unistr/u32-strnlen: Likewise.
24140         * modules/unistr/u32-strpbrk: Likewise.
24141         * modules/unistr/u32-strrchr: Likewise.
24142         * modules/unistr/u32-strspn: Likewise.
24143         * modules/unistr/u32-strstr: Likewise.
24144         * modules/unistr/u32-strtok: Likewise.
24145         * modules/unistr/u32-to-u16: Likewise.
24146         * modules/unistr/u32-to-u8: Likewise.
24147         * modules/unistr/u32-uctomb: Likewise.
24148         * modules/uniwbrk/u8-wordbreaks: Likewise.
24149         * modules/uniwbrk/u16-wordbreaks: Likewise.
24150         * modules/uniwbrk/u32-wordbreaks: Likewise.
24151         * modules/uniwbrk/ulc-wordbreaks: Likewise.
24152         * modules/uniwbrk/wordbreak-property: Likewise.
24153         * modules/uniwidth/u8-strwidth: Likewise.
24154         * modules/uniwidth/u8-width: Likewise.
24155         * modules/uniwidth/u16-strwidth: Likewise.
24156         * modules/uniwidth/u16-width: Likewise.
24157         * modules/uniwidth/u32-strwidth: Likewise.
24158         * modules/uniwidth/u32-width: Likewise.
24159         * modules/uniwidth/width: Likewise.
24160         * modules/unicase/cased-tests (Makefile.am): Link all test programs
24161         with $(LIBUNISTRING).
24162         * modules/unicase/ignorable-tests: Likewise.
24163         * modules/unicase/locale-language-tests: Likewise.
24164         * modules/unicase/tolower-tests: Likewise.
24165         * modules/unicase/totitle-tests: Likewise.
24166         * modules/unicase/toupper-tests: Likewise.
24167         * modules/unicase/u8-casecmp-tests: Likewise.
24168         * modules/unicase/u8-casecoll-tests: Likewise.
24169         * modules/unicase/u8-casefold-tests: Likewise.
24170         * modules/unicase/u8-is-cased-tests: Likewise.
24171         * modules/unicase/u8-is-casefolded-tests: Likewise.
24172         * modules/unicase/u8-is-lowercase-tests: Likewise.
24173         * modules/unicase/u8-is-titlecase-tests: Likewise.
24174         * modules/unicase/u8-is-uppercase-tests: Likewise.
24175         * modules/unicase/u8-tolower-tests: Likewise.
24176         * modules/unicase/u8-totitle-tests: Likewise.
24177         * modules/unicase/u8-toupper-tests: Likewise.
24178         * modules/unicase/u16-casecmp-tests: Likewise.
24179         * modules/unicase/u16-casecoll-tests: Likewise.
24180         * modules/unicase/u16-casefold-tests: Likewise.
24181         * modules/unicase/u16-is-cased-tests: Likewise.
24182         * modules/unicase/u16-is-casefolded-tests: Likewise.
24183         * modules/unicase/u16-is-lowercase-tests: Likewise.
24184         * modules/unicase/u16-is-titlecase-tests: Likewise.
24185         * modules/unicase/u16-is-uppercase-tests: Likewise.
24186         * modules/unicase/u16-tolower-tests: Likewise.
24187         * modules/unicase/u16-totitle-tests: Likewise.
24188         * modules/unicase/u16-toupper-tests: Likewise.
24189         * modules/unicase/u32-casecmp-tests: Likewise.
24190         * modules/unicase/u32-casecoll-tests: Likewise.
24191         * modules/unicase/u32-casefold-tests: Likewise.
24192         * modules/unicase/u32-is-cased-tests: Likewise.
24193         * modules/unicase/u32-is-casefolded-tests: Likewise.
24194         * modules/unicase/u32-is-lowercase-tests: Likewise.
24195         * modules/unicase/u32-is-titlecase-tests: Likewise.
24196         * modules/unicase/u32-is-uppercase-tests: Likewise.
24197         * modules/unicase/u32-tolower-tests: Likewise.
24198         * modules/unicase/u32-totitle-tests: Likewise.
24199         * modules/unicase/u32-toupper-tests: Likewise.
24200         * modules/unicase/ulc-casecmp-tests: Likewise.
24201         * modules/unicase/ulc-casecoll-tests: Likewise.
24202         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
24203         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
24204         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
24205         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
24206         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
24207         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
24208         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
24209         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
24210         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
24211         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
24212         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
24213         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
24214         * modules/unictype/bidicategory-byname-tests: Likewise.
24215         * modules/unictype/bidicategory-name-tests: Likewise.
24216         * modules/unictype/bidicategory-of-tests: Likewise.
24217         * modules/unictype/bidicategory-test-tests: Likewise.
24218         * modules/unictype/block-list-tests: Likewise.
24219         * modules/unictype/block-of-tests: Likewise.
24220         * modules/unictype/block-test-tests: Likewise.
24221         * modules/unictype/category-C-tests: Likewise.
24222         * modules/unictype/category-Cc-tests: Likewise.
24223         * modules/unictype/category-Cf-tests: Likewise.
24224         * modules/unictype/category-Cn-tests: Likewise.
24225         * modules/unictype/category-Co-tests: Likewise.
24226         * modules/unictype/category-Cs-tests: Likewise.
24227         * modules/unictype/category-L-tests: Likewise.
24228         * modules/unictype/category-Ll-tests: Likewise.
24229         * modules/unictype/category-Lm-tests: Likewise.
24230         * modules/unictype/category-Lo-tests: Likewise.
24231         * modules/unictype/category-Lt-tests: Likewise.
24232         * modules/unictype/category-Lu-tests: Likewise.
24233         * modules/unictype/category-M-tests: Likewise.
24234         * modules/unictype/category-Mc-tests: Likewise.
24235         * modules/unictype/category-Me-tests: Likewise.
24236         * modules/unictype/category-Mn-tests: Likewise.
24237         * modules/unictype/category-N-tests: Likewise.
24238         * modules/unictype/category-Nd-tests: Likewise.
24239         * modules/unictype/category-Nl-tests: Likewise.
24240         * modules/unictype/category-No-tests: Likewise.
24241         * modules/unictype/category-P-tests: Likewise.
24242         * modules/unictype/category-Pc-tests: Likewise.
24243         * modules/unictype/category-Pd-tests: Likewise.
24244         * modules/unictype/category-Pe-tests: Likewise.
24245         * modules/unictype/category-Pf-tests: Likewise.
24246         * modules/unictype/category-Pi-tests: Likewise.
24247         * modules/unictype/category-Po-tests: Likewise.
24248         * modules/unictype/category-Ps-tests: Likewise.
24249         * modules/unictype/category-S-tests: Likewise.
24250         * modules/unictype/category-Sc-tests: Likewise.
24251         * modules/unictype/category-Sk-tests: Likewise.
24252         * modules/unictype/category-Sm-tests: Likewise.
24253         * modules/unictype/category-So-tests: Likewise.
24254         * modules/unictype/category-Z-tests: Likewise.
24255         * modules/unictype/category-Zl-tests: Likewise.
24256         * modules/unictype/category-Zp-tests: Likewise.
24257         * modules/unictype/category-Zs-tests: Likewise.
24258         * modules/unictype/category-and-not-tests: Likewise.
24259         * modules/unictype/category-and-tests: Likewise.
24260         * modules/unictype/category-byname-tests: Likewise.
24261         * modules/unictype/category-name-tests: Likewise.
24262         * modules/unictype/category-none-tests: Likewise.
24263         * modules/unictype/category-of-tests: Likewise.
24264         * modules/unictype/category-or-tests: Likewise.
24265         * modules/unictype/category-test-withtable-tests: Likewise.
24266         * modules/unictype/combining-class-tests: Likewise.
24267         * modules/unictype/ctype-alnum-tests: Likewise.
24268         * modules/unictype/ctype-alpha-tests: Likewise.
24269         * modules/unictype/ctype-blank-tests: Likewise.
24270         * modules/unictype/ctype-cntrl-tests: Likewise.
24271         * modules/unictype/ctype-digit-tests: Likewise.
24272         * modules/unictype/ctype-graph-tests: Likewise.
24273         * modules/unictype/ctype-lower-tests: Likewise.
24274         * modules/unictype/ctype-print-tests: Likewise.
24275         * modules/unictype/ctype-punct-tests: Likewise.
24276         * modules/unictype/ctype-space-tests: Likewise.
24277         * modules/unictype/ctype-upper-tests: Likewise.
24278         * modules/unictype/ctype-xdigit-tests: Likewise.
24279         * modules/unictype/decimal-digit-tests: Likewise.
24280         * modules/unictype/digit-tests: Likewise.
24281         * modules/unictype/mirror-tests: Likewise.
24282         * modules/unictype/numeric-tests: Likewise.
24283         * modules/unictype/property-alphabetic-tests: Likewise.
24284         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
24285         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
24286         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
24287         * modules/unictype/property-bidi-block-separator-tests: Likewise.
24288         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
24289         * modules/unictype/property-bidi-common-separator-tests: Likewise.
24290         * modules/unictype/property-bidi-control-tests: Likewise.
24291         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
24292         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
24293         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
24294         * modules/unictype/property-bidi-european-digit-tests: Likewise.
24295         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
24296         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
24297         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
24298         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
24299         * modules/unictype/property-bidi-pdf-tests: Likewise.
24300         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
24301         * modules/unictype/property-bidi-whitespace-tests: Likewise.
24302         * modules/unictype/property-byname-tests: Likewise.
24303         * modules/unictype/property-combining-tests: Likewise.
24304         * modules/unictype/property-composite-tests: Likewise.
24305         * modules/unictype/property-currency-symbol-tests: Likewise.
24306         * modules/unictype/property-dash-tests: Likewise.
24307         * modules/unictype/property-decimal-digit-tests: Likewise.
24308         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
24309         * modules/unictype/property-deprecated-tests: Likewise.
24310         * modules/unictype/property-diacritic-tests: Likewise.
24311         * modules/unictype/property-extender-tests: Likewise.
24312         * modules/unictype/property-format-control-tests: Likewise.
24313         * modules/unictype/property-grapheme-base-tests: Likewise.
24314         * modules/unictype/property-grapheme-extend-tests: Likewise.
24315         * modules/unictype/property-grapheme-link-tests: Likewise.
24316         * modules/unictype/property-hex-digit-tests: Likewise.
24317         * modules/unictype/property-hyphen-tests: Likewise.
24318         * modules/unictype/property-id-continue-tests: Likewise.
24319         * modules/unictype/property-id-start-tests: Likewise.
24320         * modules/unictype/property-ideographic-tests: Likewise.
24321         * modules/unictype/property-ids-binary-operator-tests: Likewise.
24322         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
24323         * modules/unictype/property-ignorable-control-tests: Likewise.
24324         * modules/unictype/property-iso-control-tests: Likewise.
24325         * modules/unictype/property-join-control-tests: Likewise.
24326         * modules/unictype/property-left-of-pair-tests: Likewise.
24327         * modules/unictype/property-line-separator-tests: Likewise.
24328         * modules/unictype/property-logical-order-exception-tests: Likewise.
24329         * modules/unictype/property-lowercase-tests: Likewise.
24330         * modules/unictype/property-math-tests: Likewise.
24331         * modules/unictype/property-non-break-tests: Likewise.
24332         * modules/unictype/property-not-a-character-tests: Likewise.
24333         * modules/unictype/property-numeric-tests: Likewise.
24334         * modules/unictype/property-other-alphabetic-tests: Likewise.
24335         * modules/unictype/property-other-default-ignorable-code-point-tests:
24336         Likewise.
24337         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
24338         * modules/unictype/property-other-id-continue-tests: Likewise.
24339         * modules/unictype/property-other-id-start-tests: Likewise.
24340         * modules/unictype/property-other-lowercase-tests: Likewise.
24341         * modules/unictype/property-other-math-tests: Likewise.
24342         * modules/unictype/property-other-uppercase-tests: Likewise.
24343         * modules/unictype/property-paired-punctuation-tests: Likewise.
24344         * modules/unictype/property-paragraph-separator-tests: Likewise.
24345         * modules/unictype/property-pattern-syntax-tests: Likewise.
24346         * modules/unictype/property-pattern-white-space-tests: Likewise.
24347         * modules/unictype/property-private-use-tests: Likewise.
24348         * modules/unictype/property-punctuation-tests: Likewise.
24349         * modules/unictype/property-quotation-mark-tests: Likewise.
24350         * modules/unictype/property-radical-tests: Likewise.
24351         * modules/unictype/property-sentence-terminal-tests: Likewise.
24352         * modules/unictype/property-soft-dotted-tests: Likewise.
24353         * modules/unictype/property-space-tests: Likewise.
24354         * modules/unictype/property-terminal-punctuation-tests: Likewise.
24355         * modules/unictype/property-test-tests: Likewise.
24356         * modules/unictype/property-titlecase-tests: Likewise.
24357         * modules/unictype/property-unassigned-code-value-tests: Likewise.
24358         * modules/unictype/property-unified-ideograph-tests: Likewise.
24359         * modules/unictype/property-uppercase-tests: Likewise.
24360         * modules/unictype/property-variation-selector-tests: Likewise.
24361         * modules/unictype/property-white-space-tests: Likewise.
24362         * modules/unictype/property-xid-continue-tests: Likewise.
24363         * modules/unictype/property-xid-start-tests: Likewise.
24364         * modules/unictype/property-zero-width-tests: Likewise.
24365         * modules/unictype/scripts-tests: Likewise.
24366         * modules/unictype/syntax-c-ident-tests: Likewise.
24367         * modules/unictype/syntax-c-whitespace-tests: Likewise.
24368         * modules/unictype/syntax-java-ident-tests: Likewise.
24369         * modules/unictype/syntax-java-whitespace-tests: Likewise.
24370         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
24371         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
24372         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
24373         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
24374         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
24375         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
24376         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
24377         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
24378         * modules/uniname/uniname-tests: Likewise.
24379         * modules/uninorm/canonical-decomposition-tests: Likewise.
24380         * modules/uninorm/compat-decomposition-tests: Likewise.
24381         * modules/uninorm/composition-tests: Likewise.
24382         * modules/uninorm/decomposing-form-tests: Likewise.
24383         * modules/uninorm/decomposition-tests: Likewise.
24384         * modules/uninorm/filter-tests: Likewise.
24385         * modules/uninorm/nfc-tests: Likewise.
24386         * modules/uninorm/nfd-tests: Likewise.
24387         * modules/uninorm/nfkc-tests: Likewise.
24388         * modules/uninorm/nfkd-tests: Likewise.
24389         * modules/uninorm/u8-normcmp-tests: Likewise.
24390         * modules/uninorm/u8-normcoll-tests: Likewise.
24391         * modules/uninorm/u16-normcmp-tests: Likewise.
24392         * modules/uninorm/u16-normcoll-tests: Likewise.
24393         * modules/uninorm/u32-normcmp-tests: Likewise.
24394         * modules/uninorm/u32-normcoll-tests: Likewise.
24395         * modules/unistdio/u8-asnprintf-tests: Likewise.
24396         * modules/unistdio/u8-vasnprintf-tests: Likewise.
24397         * modules/unistdio/u8-vasprintf-tests: Likewise.
24398         * modules/unistdio/u8-vsnprintf-tests: Likewise.
24399         * modules/unistdio/u8-vsprintf-tests: Likewise.
24400         * modules/unistdio/u16-asnprintf-tests: Likewise.
24401         * modules/unistdio/u16-vasnprintf-tests: Likewise.
24402         * modules/unistdio/u16-vasprintf-tests: Likewise.
24403         * modules/unistdio/u16-vsnprintf-tests: Likewise.
24404         * modules/unistdio/u16-vsprintf-tests: Likewise.
24405         * modules/unistdio/u32-asnprintf-tests: Likewise.
24406         * modules/unistdio/u32-vasnprintf-tests: Likewise.
24407         * modules/unistdio/u32-vasprintf-tests: Likewise.
24408         * modules/unistdio/u32-vsnprintf-tests: Likewise.
24409         * modules/unistdio/u32-vsprintf-tests: Likewise.
24410         * modules/unistdio/ulc-asnprintf-tests: Likewise.
24411         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
24412         * modules/unistdio/ulc-vasprintf-tests: Likewise.
24413         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
24414         * modules/unistdio/ulc-vsprintf-tests: Likewise.
24415         * modules/unistr/u8-check-tests: Likewise.
24416         * modules/unistr/u8-chr-tests: Likewise.
24417         * modules/unistr/u8-cmp-tests: Likewise.
24418         * modules/unistr/u8-cmp2-tests: Likewise.
24419         * modules/unistr/u8-cpy-alloc-tests: Likewise.
24420         * modules/unistr/u8-cpy-tests: Likewise.
24421         * modules/unistr/u8-mblen-tests: Likewise.
24422         * modules/unistr/u8-mbsnlen-tests: Likewise.
24423         * modules/unistr/u8-mbtouc-tests: Likewise.
24424         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
24425         * modules/unistr/u8-mbtoucr-tests: Likewise.
24426         * modules/unistr/u8-move-tests: Likewise.
24427         * modules/unistr/u8-next-tests: Likewise.
24428         * modules/unistr/u8-prev-tests: Likewise.
24429         * modules/unistr/u8-set-tests: Likewise.
24430         * modules/unistr/u8-stpcpy-tests: Likewise.
24431         * modules/unistr/u8-stpncpy-tests: Likewise.
24432         * modules/unistr/u8-strcat-tests: Likewise.
24433         * modules/unistr/u8-strcmp-tests: Likewise.
24434         * modules/unistr/u8-strcoll-tests: Likewise.
24435         * modules/unistr/u8-strcpy-tests: Likewise.
24436         * modules/unistr/u8-strdup-tests: Likewise.
24437         * modules/unistr/u8-strlen-tests: Likewise.
24438         * modules/unistr/u8-strmblen-tests: Likewise.
24439         * modules/unistr/u8-strmbtouc-tests: Likewise.
24440         * modules/unistr/u8-strncat-tests: Likewise.
24441         * modules/unistr/u8-strncmp-tests: Likewise.
24442         * modules/unistr/u8-strncpy-tests: Likewise.
24443         * modules/unistr/u8-strnlen-tests: Likewise.
24444         * modules/unistr/u8-to-u16-tests: Likewise.
24445         * modules/unistr/u8-to-u32-tests: Likewise.
24446         * modules/unistr/u8-uctomb-tests: Likewise.
24447         * modules/unistr/u16-check-tests: Likewise.
24448         * modules/unistr/u16-chr-tests: Likewise.
24449         * modules/unistr/u16-cmp-tests: Likewise.
24450         * modules/unistr/u16-cmp2-tests: Likewise.
24451         * modules/unistr/u16-cpy-alloc-tests: Likewise.
24452         * modules/unistr/u16-cpy-tests: Likewise.
24453         * modules/unistr/u16-mblen-tests: Likewise.
24454         * modules/unistr/u16-mbsnlen-tests: Likewise.
24455         * modules/unistr/u16-mbtouc-tests: Likewise.
24456         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
24457         * modules/unistr/u16-mbtoucr-tests: Likewise.
24458         * modules/unistr/u16-move-tests: Likewise.
24459         * modules/unistr/u16-next-tests: Likewise.
24460         * modules/unistr/u16-prev-tests: Likewise.
24461         * modules/unistr/u16-set-tests: Likewise.
24462         * modules/unistr/u16-stpcpy-tests: Likewise.
24463         * modules/unistr/u16-stpncpy-tests: Likewise.
24464         * modules/unistr/u16-strcat-tests: Likewise.
24465         * modules/unistr/u16-strcmp-tests: Likewise.
24466         * modules/unistr/u16-strcoll-tests: Likewise.
24467         * modules/unistr/u16-strcpy-tests: Likewise.
24468         * modules/unistr/u16-strdup-tests: Likewise.
24469         * modules/unistr/u16-strlen-tests: Likewise.
24470         * modules/unistr/u16-strmblen-tests: Likewise.
24471         * modules/unistr/u16-strmbtouc-tests: Likewise.
24472         * modules/unistr/u16-strncat-tests: Likewise.
24473         * modules/unistr/u16-strncmp-tests: Likewise.
24474         * modules/unistr/u16-strncpy-tests: Likewise.
24475         * modules/unistr/u16-strnlen-tests: Likewise.
24476         * modules/unistr/u16-to-u32-tests: Likewise.
24477         * modules/unistr/u16-to-u8-tests: Likewise.
24478         * modules/unistr/u16-uctomb-tests: Likewise.
24479         * modules/unistr/u32-check-tests: Likewise.
24480         * modules/unistr/u32-chr-tests: Likewise.
24481         * modules/unistr/u32-cmp-tests: Likewise.
24482         * modules/unistr/u32-cmp2-tests: Likewise.
24483         * modules/unistr/u32-cpy-alloc-tests: Likewise.
24484         * modules/unistr/u32-cpy-tests: Likewise.
24485         * modules/unistr/u32-mblen-tests: Likewise.
24486         * modules/unistr/u32-mbsnlen-tests: Likewise.
24487         * modules/unistr/u32-mbtouc-tests: Likewise.
24488         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
24489         * modules/unistr/u32-mbtoucr-tests: Likewise.
24490         * modules/unistr/u32-move-tests: Likewise.
24491         * modules/unistr/u32-next-tests: Likewise.
24492         * modules/unistr/u32-prev-tests: Likewise.
24493         * modules/unistr/u32-set-tests: Likewise.
24494         * modules/unistr/u32-stpcpy-tests: Likewise.
24495         * modules/unistr/u32-stpncpy-tests: Likewise.
24496         * modules/unistr/u32-strcat-tests: Likewise.
24497         * modules/unistr/u32-strcmp-tests: Likewise.
24498         * modules/unistr/u32-strcoll-tests: Likewise.
24499         * modules/unistr/u32-strcpy-tests: Likewise.
24500         * modules/unistr/u32-strdup-tests: Likewise.
24501         * modules/unistr/u32-strlen-tests: Likewise.
24502         * modules/unistr/u32-strmblen-tests: Likewise.
24503         * modules/unistr/u32-strmbtouc-tests: Likewise.
24504         * modules/unistr/u32-strncat-tests: Likewise.
24505         * modules/unistr/u32-strncmp-tests: Likewise.
24506         * modules/unistr/u32-strncpy-tests: Likewise.
24507         * modules/unistr/u32-strnlen-tests: Likewise.
24508         * modules/unistr/u32-to-u16-tests: Likewise.
24509         * modules/unistr/u32-to-u8-tests: Likewise.
24510         * modules/unistr/u32-uctomb-tests: Likewise.
24511         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
24512         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
24513         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
24514         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
24515         * modules/uniwidth/u8-strwidth-tests: Likewise.
24516         * modules/uniwidth/u8-width-tests: Likewise.
24517         * modules/uniwidth/u16-strwidth-tests: Likewise.
24518         * modules/uniwidth/u16-width-tests: Likewise.
24519         * modules/uniwidth/u32-strwidth-tests: Likewise.
24520         * modules/uniwidth/u32-width-tests: Likewise.
24521         * modules/uniwidth/width-tests: Likewise.
24522
24523 2010-05-18  Richard Jones  <rjones@redhat.com>
24524
24525         doc: users.txt: list hivex
24526         * users.txt: Add hivex.
24527
24528 2010-05-18  Richard Jones  <rjones@redhat.com>
24529
24530         doc: users.txt: list febootstrap
24531         * users.txt: Add febootstrap.
24532
24533 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
24534
24535         bootstrap: fix an error when gnulib is not used as a git submodule
24536         * build-aux/bootstrap (gnulib_path): If its length is zero then
24537         assign "gnulib" to it.
24538         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
24539
24540 2010-05-16  Bruno Haible  <bruno@clisp.org>
24541
24542         Avoid autoconf warnings about AM_ICONV.
24543         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
24544         2.64.
24545
24546 2010-05-16  Bruno Haible  <bruno@clisp.org>
24547
24548         absolute-header: Make the macro usable in more situations.
24549         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
24550         from gl_ABSOLUTE_HEADER.
24551         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
24552
24553 2010-05-16  James Youngman  <jay@gnu.org>
24554
24555         doc: update users.txt
24556         * users.txt: Add CSSC.
24557
24558 2010-05-16  Jim Meyering  <meyering@redhat.com>
24559
24560         init.sh: fix an error in the previous change; add more comments
24561         * tests/init.sh: Compare exit code in loop against 9, not 2.
24562         Patch by Bruno Haible.
24563         Make the two tests more similar by adding an empty "then" clause.
24564         Add comments.
24565
24566         init.sh: avoid unnecessary shell re-exec
24567         * tests/init.sh: Improve the re-exec-required check to first test the
24568         current shell.  If it passes the test, do not search for a shell that
24569         does pass, and do not re-exec.  This test is particularly contorted to
24570         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
24571         of $(...) evokes a syntax error and causes immediate shell exit with
24572         status 2.  Bruno Haible reported that the re-exec made it impossible
24573         to single-step through any init.sh-using script.
24574
24575 2010-05-16  Bruno Haible  <bruno@clisp.org>
24576
24577         Fix collision between gnulib's and libintl's printf replacements.
24578         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
24579         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
24580         (printf): When using GNU C, map the __printf__ function to rpl_printf
24581         via __asm__. When not using GNU C, define rpl_printf instead of
24582         __printf__.
24583         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
24584         commit.
24585         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
24586         commit.
24587         * m4/asm-underscore.m4: New file.
24588         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
24589         * modules/stdio (Files): Add m4/asm-underscore.m4.
24590         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
24591         Reported by Ben Pfaff.
24592
24593 2010-05-16  Bruno Haible  <bruno@clisp.org>
24594
24595         verify: Avoid skipping the test on openSUSE 11.0.
24596         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
24597
24598 2010-05-13  Bruno Haible  <bruno@clisp.org>
24599
24600         Avoid useless warnings from G++.
24601         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
24602         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
24603         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24604
24605 2010-05-11  Jim Meyering  <meyering@redhat.com>
24606
24607         maint.mk: tweak preceding change
24608         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
24609         regexps tighter by anchoring at EOL, and make the new group "shy"
24610         for slightly decreased overhead.
24611
24612 2010-05-11  Eric Blake  <eblake@redhat.com>
24613
24614         maint.mk: gnulib doesn't guarantee NSIG
24615         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
24616
24617 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
24618
24619         test-pwrite.c: Remove unused variable declaration.
24620         * tests/test-pwrite.c (main): Remove read_buf declaration.
24621
24622         Remove useless test-pwrite.sh file.
24623         * tests/test-pwrite.sh: Delete file.
24624         * modules/pwrite-tests: Remove references.
24625         Reported by Bruno Haible.
24626
24627 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
24628
24629         init.sh: fix a typo
24630         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
24631
24632 2010-05-10  Jim Meyering  <meyering@redhat.com>
24633
24634         maint.mk: avoid using a temporary file in the always-defined-macros check
24635         * top/maint.mk (.re-defmac): Remove rule.
24636         (gl_trap_): Remove definition.
24637         (sc_prohibit_always-defined_macros): Rewrite not to create and
24638         depend on a temporary file.  Instead, depend on GNU grep's ability
24639         to read a list of regular expressions from stdin when given "-f -".
24640
24641 2010-05-09  Bruno Haible  <bruno@clisp.org>
24642
24643         Update to GNU gettext 0.18, part 1.
24644         * m4/gettext.m4: Update to GNU gettext 0.18.
24645         * m4/intl.m4: Likewise.
24646         * m4/po.m4: Likewise.
24647         * modules/gettext (Files): Add m4/fcntl-o.m4.
24648         (configure.ac): Require gettext infrastructure from version 0.18.
24649
24650 2010-05-09  Jim Meyering  <meyering@redhat.com>
24651
24652         init.sh: enable MALLOC_PERTURB_
24653         * tests/init.sh: Enable glibc's malloc-perturbing option.
24654
24655         maint.mk: improve sc_cross_check_PATH_usage_in_tests
24656         With my recent change in init.sh from the two-line form:
24657             -#   : ${srcdir=.}
24658             -#   . "$srcdir/init.sh"; path_prepend_ .
24659             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
24660         I noticed that using the one-line form would cause this test
24661         to fail with a false-positive, or to stop working altogether,
24662         depending on whether help-version changed or all the tests did.
24663         * top/maint.mk (_hv_regex): Remove this definition.
24664         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
24665         (_hv_regex_strong): Use a stronger regex to check for conformance.
24666         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
24667         Give a separate diagnostic for lack of conforming use.
24668
24669         maint.mk: prohibit definition of symbols defined by gnulib
24670         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
24671         definition of symbols defined by gnulib.
24672
24673 2010-05-09  Bruno Haible  <bruno@clisp.org>
24674
24675         acl: Avoid test failure on Cygwin-hosted mingw.
24676         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
24677
24678 2010-05-09  Bruno Haible  <bruno@clisp.org>
24679
24680         error: Use system's fcntl function.
24681         * lib/error.c (fcntl): Undefine.
24682
24683 2010-05-09  Jim Meyering  <meyering@redhat.com>
24684
24685         verify: adjust formatting to be more consistent
24686         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
24687         argument-list '('s, and after one comma.
24688
24689 2010-05-09  Bruno Haible  <bruno@clisp.org>
24690
24691         error: More reliable output on mingw.
24692         * lib/error.c: Include <windows.h>.
24693         (is_open): New function.
24694         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
24695         defined.
24696
24697 2010-05-09  Bruno Haible  <bruno@clisp.org>
24698
24699         vasnprintf: Fix syntax errors in libintl build on mingw.
24700         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
24701         pad_ourselves and prec_ourselves after use.
24702
24703 2010-05-08  Bruno Haible  <bruno@clisp.org>
24704
24705         * lib/config.charset: Update comments for Cygwin 1.7.
24706         * lib/localcharset.c: Likewise.
24707
24708 2010-05-07  Jim Meyering  <meyering@redhat.com>
24709
24710         init.sh: improve comments
24711         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
24712         . "${srcdir=.}/init.sh"; path_prepend_ .
24713         Add a note about path_prepend_ and the alternative of using
24714         TESTS_ENVIRONMENT.
24715
24716 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
24717
24718         exclude: Unescape hashed patterns in wildcard mode.
24719         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
24720         to the hash list.
24721         * tests/test-exclude8.sh: New test case.
24722         * modules/exclude-tests: Add new test.
24723
24724 2010-05-05  Eric Blake  <eblake@redhat.com>
24725
24726         verify: automate tests
24727         * modules/verify-tests: New module.
24728         * tests/test-verify.sh: New file.
24729         * tests/test-verify.c: Guard each negative test with a unique id.
24730         Also avoid warning about unused left hand of comma expressions.
24731
24732 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
24733
24734         Further improvements to verify.h, suggested by Eric Blake.
24735         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
24736         the GL_* versions, to avoid collision with OpenGL.
24737         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
24738         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
24739         than testing merely whether it's defined.
24740
24741         Modify verify.h to pacify gcc -Wredundant_decls.
24742         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
24743         These use the prefix "GL_" since they're likely to be useful elsewhere.
24744         We may need to break them out into a different .h file.
24745         (__COUNTER__): Define to 0 if the compiler doesn't support it.
24746         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
24747         of verify_function__.
24748
24749 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
24750
24751         Tests for module pwrite.
24752         * modules/pwrite-tests: New file.
24753         * tests/test-pwrite.sh: New file.
24754         * tests/test-pwrite.c: New file.
24755
24756         New module pwrite.
24757         * lib/unistd.in.h (pwrite): New declaration.
24758         * lib/pwrite.c: New file, from glibc with modifications.
24759         * m4/pwrite.m4: New file.
24760         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
24761         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
24762         REPLACE_PWRITE.
24763         * modules/pwrite: New file.
24764         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
24765         REPLACE_PWRITE.
24766         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
24767         * doc/posix-functions/pwrite.texi: Mention the new module.
24768
24769 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
24770
24771         pread: Update documentation.
24772         * doc/posix-functions/pread.texi: Mention the 'pread' module.
24773
24774 2010-05-04  Eric Blake  <eblake@redhat.com>
24775
24776         docs: update cygwin progress
24777         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
24778         this bug.
24779         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
24780         Added in cygwin 1.7.2.
24781         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
24782         Likewise.
24783         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
24784         Likewise.
24785         * doc/glibc-functions/dup3.texi (dup3): Likewise.
24786         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
24787         * doc/glibc-functions/accept4.texi (accept4): Likewise.
24788         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
24789         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
24790         Mention nproc module.
24791         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
24792         bug in cygwin 1.7.5 addition.
24793         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
24794         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
24795         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
24796         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
24797         1.7.5.
24798         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
24799         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
24800         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
24801         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
24802         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
24803         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
24804         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
24805         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
24806         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
24807         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
24808         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
24809         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
24810         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
24811         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
24812         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
24813         Likewise.
24814         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
24815         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
24816         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
24817         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
24818         Likewise.
24819         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
24820         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
24821         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
24822         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
24823         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
24824         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
24825         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
24826         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
24827         Likewise.
24828         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
24829         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
24830         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
24831         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
24832         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
24833         Likewise.
24834         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
24835         Likewise.
24836         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
24837         Likewise.
24838         * doc/glibc-functions/xdrrec_endofrecord.texi
24839         (xdrrec_endofrecord): Likewise.
24840         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
24841         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
24842         Likewise.
24843         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
24844         Likewise.
24845
24846 2010-05-04  Jim Meyering  <meyering@redhat.com>
24847
24848         gendocs.sh: make its "-s FILE" option more useful
24849         * build-aux/gendocs.sh: When honoring the -s FILE option, update
24850         $PACKAGE to reflect the probably-different basename of "FILE".
24851
24852 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
24853
24854         bootstrap: don't ignore download_po_files failure
24855         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
24856         failure.
24857
24858 2010-05-03  Jim Meyering  <meyering@redhat.com>
24859
24860         maint.mk: allow to pass options to gendocs.sh
24861         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
24862         (gendocs_options_): New overridable variable.
24863
24864         gnu-web-doc-update: don't ignore configure or build failure
24865         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
24866
24867         announce-gen: backslash-escape '@'s in --help output
24868         * build-aux/announce-gen: Fix syntax errors.
24869
24870         maint.mk, announce-gen: allow project-specific announcement mail headers
24871         * top/maint.mk (translation_project_): Define default.
24872         (announcement_Cc_, announcement_mail_headers_): Likewise.
24873         (announcement): Invoke announce-gen with new --mail-headers option.
24874         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
24875
24876         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
24877         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
24878         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
24879         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
24880         line in the "err2" output file when running "make check" in verbose
24881         mode (i.e., with set -x enabled).
24882
24883 2010-05-03  Bruno Haible  <bruno@clisp.org>
24884
24885         wctob: Fix for weird platforms.
24886         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
24887         argument value.
24888
24889 2010-05-03  Jim Meyering  <meyering@redhat.com>
24890
24891         maint.mk: prohibit unwarranted use of <strings.h>
24892         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
24893         strings.h in a file that does not also use strcasecmp, strncasecmp,
24894         ffs or ffsll.
24895
24896         maint.mk: remove obsolete comments
24897         * top/maint.mk: Remove stale, commented-out rules.
24898
24899 2010-05-02  Bruno Haible  <bruno@clisp.org>
24900
24901         wcwidth: Declare also when it's aliased.
24902         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
24903         macro.
24904
24905 2010-05-02  Bruno Haible  <bruno@clisp.org>
24906
24907         Fix regression from 2010-04-25.
24908         * gnulib-tool (func_modules_transitive_closure): Check the status of
24909         all modules, not only of the tests that are of the form foo-tests where
24910         foo is a module.
24911
24912 2010-05-02  Bruno Haible  <bruno@clisp.org>
24913
24914         wctob: Work around nasty Cygwin 1.7.2 bug.
24915         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
24916         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
24917
24918 2010-05-01  Bruno Haible  <bruno@clisp.org>
24919
24920         fpurge: Sharper test.
24921         * tests/test-fpurge.c (main): Add one more ftell check.
24922         * modules/fpurge-tests (Depends-on): Add ftell.
24923         Suggested by Eric Blake.
24924
24925 2010-05-01  Bruno Haible  <bruno@clisp.org>
24926
24927         ftello: Another test.
24928         * tests/test-ftello3.c: New file.
24929         * modules/ftello-tests (Files): Add it.
24930         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
24931         MOSTLYCLEANFILES.
24932
24933         ftell: Another test.
24934         * tests/test-ftell3.c: New file.
24935         * modules/ftell-tests (Files): Add it.
24936         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
24937         MOSTLYCLEANFILES.
24938
24939 2010-05-01  Bruno Haible  <bruno@clisp.org>
24940
24941         ftell, ftello: Work around Solaris bug.
24942         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
24943         * lib/ftello.c: Include stdio-impl.h.
24944         (ftello): On Solaris, when _IOWRT is set, compute the result without
24945         looking at _IOREAD.
24946         * modules/ftello (Files): Add lib/stdio-impl.h.
24947         * doc/posix-functions/ftell.texi: Mention Solaris bug.
24948         * doc/posix-functions/ftello.texi: Likewise.
24949         Reported by Eric Blake.
24950
24951 2010-05-01  Bruno Haible  <bruno@clisp.org>
24952
24953         freading: Adapt to special meaning of _IOREAD flag on Solaris.
24954         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
24955         the _IOWRT flag is also set.
24956
24957 2010-05-01  Bruno Haible  <bruno@clisp.org>
24958
24959         Fix doc about a HP-UX stdio bug.
24960         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
24961         * doc/posix-functions/ftello.texi: Likewise.
24962
24963 2010-05-01  Bruno Haible  <bruno@clisp.org>
24964
24965         lseek test: Fix failure on Solaris.
24966         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
24967         output.
24968
24969 2010-04-30  Jim Meyering  <meyering@redhat.com>
24970
24971         bootstrap: don't ignore failure to generate po*/Makevars
24972         * build-aux/bootstrap (with_gettext): Don't ignore failure
24973         to create po/Makevars or runtime-po/Makevars.
24974
24975 2010-04-29  Eric Blake  <eblake@redhat.com>
24976
24977         headers: relax license to LGPLv2+
24978         * modules/fcntl-h (License): Relax license.
24979         * modules/getopt-posix (License): Likewise.
24980         * modules/locale (License): Likewise.
24981         * modules/math (License): Likewise.
24982         * modules/pty (License): Likewise.
24983         * modules/sched (License): Likewise.
24984         * modules/search (License): Likewise.
24985         * modules/spawn (License): Likewise.
24986         * modules/stdarg (License): Likewise.
24987         * modules/sysexits (License): Likewise.
24988
24989 2010-04-29  Jim Meyering  <meyering@redhat.com>
24990
24991         inttypes: relax license to LGPLv2+
24992         * modules/inttypes (License): Relax license.
24993
24994 2010-04-29  Simon Josefsson  <simon@josefsson.org>
24995
24996         * top/maint.mk (indent): Run twice to produce idempotent results.
24997
24998 2010-04-28  Bruno Haible  <bruno@clisp.org>
24999
25000         getdate: Generate getdate.c in the source directory.
25001         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
25002         MOSTLYCLEANFILES.
25003         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
25004
25005 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
25006
25007         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
25008         is not declared as a const *; avoid warnings in that case.
25009
25010 2010-04-28  Eric Blake  <eblake@redhat.com>
25011
25012         canonicalize-lgpl: avoid compiler warning
25013         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
25014         declaration' / 'extraneous semicolon' warning with some compilers.
25015         Reported by Andreas Gruenbacher.
25016
25017 2010-04-28  Jim Meyering  <meyering@redhat.com>
25018
25019         init.sh: ensure a more reliable exit status when exiting via trap
25020         * tests/init.sh (setup_): Don't rely on $? in signal handler.
25021         Inspired by patches from Dmitry V. Levin.
25022         Also trap on signal 3 (SIGQUIT).
25023
25024 2010-04-27  Bruno Haible  <bruno@clisp.org>
25025
25026         Update doc about utimes().
25027         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
25028         'utimens' module.
25029         Reported by Andreas Gruenbacher <agruen@suse.de>.
25030
25031 2010-04-27  Eric Blake  <eblake@redhat.com>
25032
25033         full-read, full-write: relax license
25034         * modules/full-read (License): Drop to LGPLv2+.
25035         * modules/full-write (License): Likewise.
25036         * modules/safe-read (License): Likewise.
25037         * modules/safe-write (License): Likewise.
25038
25039         pthread: mention library for linking
25040         * modules/pthread (Link): Mention $(LIB_PTHREAD).
25041
25042 2010-04-27  Jim Meyering  <meyering@redhat.com>
25043
25044         maint.mk: fix a bug introduced in last change
25045         * top/maint.mk (gl_assured_headers_): Now that all names are on
25046         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
25047         is not anchored to end of word, it should be adequate.
25048
25049         maint.mk: avoid side-effect in latest syntax-check
25050         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
25051         to run commands via $(shell...), and hence to incur cost only when
25052         the new rule is actually run.
25053
25054         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
25055         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
25056         and use that to create a regexp used to detect all #if HAVE_..._H uses.
25057         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
25058         (gl_assured_headers_, az_, AZ_): Define.
25059         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
25060
25061 2010-04-26  Jim Meyering  <jim@meyering.net>
25062             Bruno Haible  <bruno@clisp.org>
25063
25064         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
25065         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
25066         Prompted by an exchange with Gilles Espinasse.
25067
25068 2010-04-26  Jim Meyering  <meyering@redhat.com>
25069
25070         git-version-gen: aesthetic tweak
25071         * build-aux/git-version-gen: Use "$nl" rather than a literal,
25072         so that the command remains on a single line.
25073
25074 2010-04-26  Eric Blake  <eblake@redhat.com>
25075
25076         git-version-gen: allow use on EBCDIC hosts
25077         * build-aux/git-version-gen (dirty): Use literal rather than tying
25078         ourselves to ascii.
25079         Reported by Steve Goetze.
25080
25081 2010-04-25  Bruno Haible  <bruno@clisp.org>
25082
25083         netdb: Add support for GNULIB_POSIXCHECK.
25084         * lib/netdb.in.h: Include warn-on-use.h.
25085         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
25086         functions are used when GNULIB_POSIXCHECK is defined and the
25087         getaddrinfo module is not in use.
25088         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
25089         freeaddrinfo, gai_strerror, getnameinfo are declared.
25090         * modules/netdb (Depends-on): Add warn-on-use.
25091         (Makefile.am): Include warn-on-use.h in netdb.h.
25092
25093 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
25094
25095         build: avoid "make check" failure without .git/ directory
25096         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
25097         there is no .git/ directory.
25098
25099 2010-04-25  Bruno Haible  <bruno@clisp.org>
25100
25101         ptsname: Fix misuse of ttyname_r.
25102         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
25103         of errno.
25104
25105 2010-04-25  Bruno Haible  <bruno@clisp.org>
25106
25107         ttyname_r: Make it work on Solaris 10.
25108         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
25109         if the system function has the POSIX declaration. Test whether the
25110         function fails if the buffer is less than 128 bytes large.
25111         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
25112         system's ttyname_r function. Provide a reasonably large buffer.
25113         * modules/ttyname_r (Depends-on): Add extensions.
25114         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
25115
25116 2010-04-25  Bruno Haible  <bruno@clisp.org>
25117
25118         Use the 'extensions' module for some more functions on Solaris.
25119         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
25120         module.
25121         * doc/posix-functions/ctime_r.texi: Likewise.
25122         * doc/posix-functions/getgrgid_r.texi: Likewise.
25123         * doc/posix-functions/getgrnam_r.texi: Likewise.
25124         * doc/posix-functions/getpwnam_r.texi: Likewise.
25125         * doc/posix-functions/getpwuid_r.texi: Likewise.
25126         * doc/posix-functions/readdir_r.texi: Likewise.
25127         * doc/posix-functions/sigwait.texi: Likewise.
25128         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
25129         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
25130
25131 2010-04-25  Bruno Haible  <bruno@clisp.org>
25132
25133         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
25134         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
25135         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
25136         * lib/ttyname_r.c: Include <limits.h>.
25137         (ttyname_r): Define using the system's ttyname_r function, if it exists
25138         and not on Solaris.
25139         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
25140         set.
25141         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
25142         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
25143         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
25144         Reported by Simon Josefsson.
25145
25146 2010-04-25  Bruno Haible  <bruno@clisp.org>
25147
25148         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
25149         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
25150         * doc/posix-functions/ctime_r.texi: Likewise.
25151         * doc/posix-functions/getgrgid_r.texi: Likewise.
25152         * doc/posix-functions/getgrnam_r.texi: Likewise.
25153         * doc/posix-functions/getlogin_r.texi: Likewise.
25154         * doc/posix-functions/getpwnam_r.texi: Likewise.
25155         * doc/posix-functions/getpwuid_r.texi: Likewise.
25156         * doc/posix-functions/readdir_r.texi: Likewise.
25157         * doc/posix-functions/sigwait.texi: Likewise.
25158         * doc/posix-functions/ttyname_r.texi: Likewise.
25159         Reported by Simon Josefsson.
25160
25161 2010-04-25  Bruno Haible  <bruno@clisp.org>
25162
25163         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
25164         * gnulib-tool (func_usage): Document that --with-*-tests options apply
25165         also to --create-testdir.
25166         (func_acceptable): Don't consider the status of *-tests modules here.
25167         (func_modules_transitive_closure): Consider it here, before including a
25168         test module.
25169         (func_import, func_create_testdir): Set inc_all_direct_tests,
25170         inc_all_indirect_tests.
25171         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
25172         --create-testdir and --create-megatestdir.
25173
25174 2010-04-25  Bruno Haible  <bruno@clisp.org>
25175
25176         gnulib-tool: Add --without-*-tests options.
25177         * gnulib-tool (func_usage): Document the --without-*-tests options.
25178         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
25179         excl_unportable_tests): New variables.
25180         Fail if they are specified with --import or --update.
25181         (func_acceptable): Respect the excl_*_tests variables.
25182         (func_import): Set the excl_*_tests variables to empty.
25183
25184 2010-04-25  Simon Josefsson  <simon@josefsson.org>
25185             Bruno Haible  <bruno@clisp.org>
25186
25187         Work around a MacOS X 10.4 bug with openpty.
25188         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
25189         * tests/test-openpty.c (main): Close the master side explicitly.
25190
25191 2010-04-25  Bruno Haible  <bruno@clisp.org>
25192
25193         strnlen: Fix a C++ test error on MacOS X and Solaris.
25194         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
25195         the function is not declared.
25196         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
25197         Simon Josefsson.
25198
25199 2010-04-24  Bruno Haible  <bruno@clisp.org>
25200
25201         Avoid a gcc warning.
25202         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
25203         of correct type for %08lx directive.
25204         Reported by Eric Blake.
25205
25206 2010-04-24  Bruno Haible  <bruno@clisp.org>
25207
25208         vasnprintf: Correct errno value in case of out-of-memory.
25209         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
25210         or sprintf. Use the errno value from SNPRINTF or sprintf.
25211         Reported by Ian Beckwith <ianb@erislabs.net>.
25212
25213 2010-04-24  Bruno Haible  <bruno@clisp.org>
25214
25215         ansi-c++-opt: Find correct compiler when cross-compiling.
25216         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
25217         AC_CHECK_PROGS.
25218         Reported by Simon Josefsson.
25219
25220 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
25221
25222         vc-list-files: Add support for subversion
25223         * build-aux/vc-list-files: Use "svn list" to generate the list of
25224         files controlled by subversion.
25225
25226 2010-04-23  Jim Meyering  <meyering@redhat.com>
25227
25228         vc-list-files tests: convert to use init.sh
25229         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
25230         path_prepend_.
25231         Use Exit, not exit.
25232         Use skip_ rather than open coding it.
25233         Remove trap set-up and compare definitions.
25234         * tests/test-vc-list-files-git.sh: Likewise.
25235         * modules/vc-list-files-tests (Files): Add tests/init.sh.
25236
25237 2010-04-22  Simon Josefsson  <simon@josefsson.org>
25238
25239         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
25240         backup files.
25241
25242 2010-04-21  Simon Josefsson  <simon@josefsson.org>
25243
25244         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
25245
25246 2010-04-20  Eric Blake  <eblake@redhat.com>
25247
25248         tests: be robust to ignored SIGPIPE
25249         * tests/test-select-in.sh: Consume all output.
25250         * tests/test-lseek.sh: Check correct exit status, while avoiding
25251         EPIPE.
25252
25253 2010-04-20  Simon Josefsson  <simon@josefsson.org>
25254             Bruno Haible  <bruno@clisp.org>
25255
25256         visibility: Don't use -fvisibility if it leads to a warning.
25257         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
25258         yes, don't pretend that visibility works if it leads to a warning.
25259         Reported by Mike Gran <spk121@yahoo.com>.
25260
25261 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
25262
25263         * build-aux/bootstrap: Use "git -h" for testing for supported options
25264         instead of "git --help".  The short-form option only shows a summary,
25265         and doesn't layout the full man page.  Grep for the full option name
25266         in the summary, too.
25267
25268 2010-04-19  Bruno Haible  <bruno@clisp.org>
25269
25270         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
25271         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
25272         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
25273         mention of RELOCATABLE_STRIP.
25274         Reported by Sylvain Beucler <beuc@beuc.net>.
25275
25276 2010-04-19  Bruno Haible  <bruno@clisp.org>
25277
25278         * lib/diffseq.h: Fix typo in comment.
25279         Reported by Eric Blake.
25280
25281 2010-04-19  Bruno Haible  <bruno@clisp.org>
25282
25283         ioctl: Move autoconf macro to a .m4 file.
25284         * m4/ioctl.m4: New file, extracted from modules/ioctl.
25285         * modules/ioctl (Files): Add it.
25286         (configure.ac): Simply invoke gl_FUNC_IOCTL.
25287         Reported by Ian Beckwith <ianb@erislabs.net>.
25288
25289 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
25290             Bruno Haible  <bruno@clisp.org>
25291
25292         diffseq: Accommodate use-case with abstract arrays.
25293         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
25294         is not defined.
25295         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
25296         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
25297
25298 2010-04-18  Bruno Haible  <bruno@clisp.org>
25299
25300         * doc/posix-headers/stdbool.texi: More precise wording.
25301
25302 2010-04-17  Jim Meyering  <meyering@redhat.com>
25303
25304         maint.mk: use gnu-style indentation in an embedded perl script
25305         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
25306         Rename variable: s/two/last_two_bytes/
25307
25308 2010-04-16  Eric Blake  <eblake@redhat.com>
25309
25310         test-stdbool: skip test that fails with Solaris CC
25311         * tests/test-stdbool.c (f): Skip test that causes compilation
25312         error under buggy C++ compiler.
25313         * lib/stdbool.in.h: Document the limitation.
25314         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
25315
25316         setenv: allow compilation with C++
25317         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
25318         register keyword.
25319
25320         stdint: allow test to pass with C++
25321         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
25322
25323         getopt: allow compilation with C++
25324         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
25325         struct.
25326         * lib/getopt.c (_getopt_internal_r): Use correct type.
25327         Reported by Dagobert Michelson, via Joel E. Denny.
25328
25329 2010-04-16  Bruno Haible  <bruno@clisp.org>
25330
25331         Override netdb.h always.
25332         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
25333         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
25334         Reported by Ludovic Courtès <ludo@gnu.org>.
25335
25336 2010-04-15  Bruno Haible  <bruno@clisp.org>
25337
25338         openpty: Fix mistake from 2010-03-21.
25339         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
25340         Reported by Simon Josefsson.
25341
25342 2010-04-15  Eric Blake  <eblake@redhat.com>
25343
25344         test-forkpty: fix expected signature
25345         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
25346         Reported by Simon Josefsson.
25347
25348 2010-04-15  Jim Meyering  <meyering@redhat.com>
25349
25350         maint.mk: texinfo_suffix_re_: correct the default regexp
25351         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
25352
25353         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
25354         make it configurable via texinfo_suffix_re_.
25355
25356 2010-04-14  Eric Blake  <eblake@redhat.com>
25357
25358         strtok_r: relax license to LGPLv2+
25359         * modules/strtok_r (License): Relax license.
25360         Reported by Matthias Bolte.
25361
25362 2010-04-14  Simon Josefsson  <simon@josefsson.org>
25363
25364         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
25365         version 1.4.4 by default instead of requiring the libgcrypt
25366         version used during build.  This makes it possible to use the
25367         application with older but still binary compatible libgcrypt
25368         versions.
25369
25370 2010-04-13  Eric Blake  <eblake@redhat.com>
25371
25372         getopt-gnu: match recent glibc fixes and posix ruling
25373         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
25374         '+' handling, when requesting extensions.
25375         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
25376         'W;' handling.
25377         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
25378         * doc/posix-functions/getopt.texi (getopt): Document this.
25379         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
25380         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
25381         Likewise.
25382
25383         getopt: merge bug fixes from glibc
25384         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
25385         diagnostics.  Honor '+:' correctly.  Reject ';'.
25386
25387         getopt-posix: detect MacOS bug
25388         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
25389         optind when missing a required argument.
25390         * doc/posix-functions/getopt.texi (getopt): Document the bug.
25391         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
25392         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
25393         Likewise.
25394
25395         getopt-posix: avoid spurious failure on Solaris
25396         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
25397         an indicator that setting optind=1 is sufficient for reset.
25398
25399         getopt-posix: avoid spurious failure on FreeBSD
25400         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
25401         in POSIX mode, since the m4 test uses it.
25402
25403         gnulib-tool: silence warning on BSD sh
25404         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
25405
25406 2010-04-13  Jim Meyering  <meyering@redhat.com>
25407
25408         doc: users.txt: GNU patch now uses gnulib
25409         * users.txt: Add patch.
25410
25411 2010-04-12  Jim Meyering  <meyering@redhat.com>
25412
25413         maint.mk: generate more concise timing data for syntax-check rules
25414         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
25415         " done" from each line that reports a syntax-check test duration.
25416
25417 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
25418
25419         git-version-gen: use "git update-index..." rather than "git status"
25420         * build-aux/git-version-gen: Use git update-index --refresh, not
25421         "git status".  With some versions of git, "git status" would fail
25422         to update the index and result in an unwarranted "-dirty" suffix.
25423
25424 2010-04-11  Jim Meyering  <meyering@redhat.com>
25425
25426         openat: correct formatting (no semantic change)
25427         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
25428         Suggested by Bruno Haible.
25429
25430 2010-04-11  Bruno Haible  <bruno@clisp.org>
25431
25432         Stricter declaration checking in testdirs.
25433         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
25434         If for_tests is true, augment AM_CPPFLAGS to define
25435         GNULIB_STRICT_CHECKING.
25436         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
25437         GNULIB_STRICT_CHECKING is defined, verify that the function is
25438         declared.
25439
25440 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
25441             Bruno Haible  <bruno@clisp.org>
25442
25443         libunistring: Improve configure output.
25444         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
25445         Don't say "consider installing GNU libunistring" when checking again
25446         with libiconv.
25447
25448 2010-04-11  Bruno Haible  <bruno@clisp.org>
25449
25450         libunistring: Correct value of $LTLIBUNISTRING.
25451         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
25452         correct the value of $LTLIBUNISTRING.
25453
25454 2010-04-11  Bruno Haible  <bruno@clisp.org>
25455
25456         havelib: Add static libraries to LIBS in the right order.
25457         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
25458         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
25459
25460 2010-04-11  Bruno Haible  <bruno@clisp.org>
25461
25462         libunistring: Detect libunistring also when it depends on libiconv.
25463         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
25464         the second AC_LIB_HAVE_LINKFLAGS invocation.
25465
25466 2010-04-11  James Youngman  <jay@gnu.org>
25467
25468         close-stream: declare local scalars to be "const"
25469         * lib/close-stream.c (close_stream): Make boolean variables const
25470         to document the fact that we set but do not change them.
25471
25472 2010-04-11  Bruno Haible  <bruno@clisp.org>
25473
25474         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
25475
25476 2010-04-11  Jim Meyering  <meyering@redhat.com>
25477
25478         maint.mk: don't include dist-check.mk
25479         * top/maint.mk: Remove bogus include directive.
25480
25481         maint.mk: improve empty-line-at-EOF check
25482         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
25483         solution, rather than tail+Perl-based one.  The latter would read
25484         a few kilobytes from the end of each file, and did not handle empty
25485         files properly.
25486
25487         maint.mk: print the elapsed time for each syntax-check rule
25488         * top/maint.mk (sc_m_rules_): Save start time in a file.
25489         (sc_z_rules_): New rules: remove temp file and print elapsed time.
25490         (local-check): Interpose the .z rules
25491
25492 2010-04-11  Jim Meyering  <meyering@redhat.com>
25493
25494         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
25495         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
25496         empty file with one that ends in an empty line.
25497
25498 2010-04-10  Bruno Haible  <bruno@clisp.org>
25499
25500         mkdir: Make it work on mingw64.
25501         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
25502         * lib/mkdir.c: Update comment.
25503         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
25504
25505 2010-04-10  Bruno Haible  <bruno@clisp.org>
25506
25507         Don't override improved macro from newer autoconf.
25508         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
25509         autoconf >= 2.62.
25510         Reported by Joel E. Denny <jdenny@clemson.edu>.
25511
25512 2010-04-10  Jim Meyering  <meyering@redhat.com>
25513
25514         maint.mk: new syntax-check rule: prohibit empty lines at end of file
25515         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
25516
25517         maint.mk: correct a diagnostic
25518         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
25519         in diagnostic; now use $prohibit.
25520
25521 2010-04-10  Bruno Haible  <address@hidden>
25522
25523         fchownat: Fix a C++ test error on Solaris 8.
25524         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
25525         the function does not exist.
25526
25527 2010-04-10  Bruno Haible  <bruno@clisp.org>
25528
25529         vasnprintf: Add more tests.
25530         * tests/test-vasnprintf-posix.c: Include <errno.h>.
25531         (test_function): Test converting an invalid wide string.
25532
25533         vasnprintf: Correct handling of unconvertible wide string arguments.
25534         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
25535         VASNPRINTF.
25536         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
25537         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
25538         smaller than the expected maximum need for the directive. Set errno to
25539         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
25540         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
25541         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
25542         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
25543         * modules/vasnprintf (Files): Add m4/printf.m4.
25544         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25545
25546 2010-04-10  Bruno Haible  <bruno@clisp.org>
25547
25548         vasnprintf: Fix crash in %ls directive.
25549         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
25550         string is passed as argument to %ls, with no precision and no width.
25551         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25552
25553 2010-04-10  Bruno Haible  <bruno@clisp.org>
25554
25555         vasnprintf: Fix multiple test failures on mingw.
25556         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
25557         _snprintf, or snwprintf, not _snwprintf.
25558
25559 2010-04-10  Bruno Haible  <bruno@clisp.org>
25560
25561         write: Fix a C++ test error on mingw.
25562         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
25563
25564 2010-04-10  Bruno Haible  <bruno@clisp.org>
25565
25566         vasnprintf test: Reduce code duplication.
25567         * tests/test-vasnprintf.c (test_function): New function, extracted from
25568         test_vasnprintf.
25569         (test_vasnprintf, test_asnprintf): Invoke it.
25570
25571 2010-04-10  Bruno Haible  <bruno@clisp.org>
25572
25573         strnlen: Fix warning in C++ mode on MacOS X.
25574         * lib/string.in.h (strnlen): Use the modern idiom.
25575         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
25576         defining strnlen as a macro already in <config.h>.
25577         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25578         REPLACE_STRNLEN.
25579         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
25580         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25581
25582 2010-04-08  James Youngman  <jay@gnu.org>
25583
25584         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
25585         the example.
25586
25587 2010-04-09  Jim Meyering  <meyering@redhat.com>
25588
25589         maint.mk: print better diagnostic when there is no $(_hv_file)
25590         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
25591         announce that when $(_hv_file) (aka help-version) does not exist.
25592
25593         init.sh: run tr in the "C" locale to avoid multibyte interpretation
25594         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
25595         not try to interpret its random input bytes.  Jarno Rajahalme reported
25596         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
25597         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
25598         (mktempd_): Likewise, just in case.
25599
25600         ftruncate: add two years to projected module removal date: 2012
25601         * m4/ftruncate.m4: Adjust comments.
25602
25603         ftruncate: mark module as obsolete; even MinGW provides it, now
25604         * modules/ftruncate (Status): Obsolete.
25605         (Notice): Say that.
25606         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
25607         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
25608
25609 2010-04-08  Bruno Haible  <bruno@clisp.org>
25610
25611         Fix side effects from tests-related modules.
25612         * modules/dprintf-posix (Comment): New section.
25613         * modules/fprintf-posix (Comment): Likewise.
25614         * modules/obstack-printf-posix (Comment): Likewise.
25615         * modules/printf-posix (Comment): Likewise.
25616         * modules/snprintf-posix (Comment): Likewise.
25617         * modules/sprintf-posix (Comment): Likewise.
25618         * modules/vasnprintf-posix (Comment): Likewise.
25619         * modules/vasprintf-posix (Comment): Likewise.
25620         * modules/vdprintf-posix (Comment): Likewise.
25621         * modules/vfprintf-posix (Comment): Likewise.
25622         * modules/vprintf-posix (Comment): Likewise.
25623         * modules/vsnprintf-posix (Comment): Likewise.
25624         * modules/vsprintf-posix (Comment): Likewise.
25625         * modules/xprintf-posix (Comment): Likewise.
25626         * modules/xvasprintf-posix (Comment): Likewise.
25627         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
25628         * modules/floorf-tests (Depends-on): Likewise.
25629         * modules/round-tests (Depends-on): Likewise.
25630         * modules/roundf-tests (Depends-on): Likewise.
25631         * modules/trunc-tests (Depends-on): Likewise.
25632         * modules/truncf-tests (Depends-on): Likewise.
25633         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
25634         'fprintf-posix' module is not present.
25635         * tests/test-floorf2.c (check): Likewise.
25636         * tests/test-trunc2.c (check): Likewise.
25637         * tests/test-truncf2.c (check): Likewise.
25638         * tests/test-round2.c (equal): Likewise.
25639         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
25640
25641 2010-04-07  Karl Berry  <karl@gnu.org>
25642
25643         * config/srclist.txt,
25644         * config/srclistvars.sh,
25645         * config/srclist-update: doc fixes.
25646
25647 2010-04-07  Jim Meyering  <meyering@redhat.com>
25648
25649         maint.mk: add a PATH crosschecking syntax-check rule
25650         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
25651         Useful if you use a test like the one in help-version (coreutils,
25652         diffutils, grep, gzip) that ensures $(VERSION) matches what is
25653         printed by prog --version.
25654
25655 2010-04-06  Bruno Haible  <bruno@clisp.org>
25656
25657         Fix link error on mingw.
25658         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
25659         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
25660
25661 2010-04-06  Bruno Haible  <bruno@clisp.org>
25662
25663         Assume rmdir exists.
25664         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
25665
25666 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
25667
25668         doc: update users.txt
25669         * users.txt: Add gcal.
25670
25671 2010-04-06  Jim Meyering  <meyering@redhat.com>
25672
25673         init.sh: simply unset TMPDIR rather than risking env -i
25674         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
25675         although it probably works fine on all Unix-based systems, some
25676         systems (Cygwin?) cannot tolerate a totally cleared environment.
25677         Suggestion from Eric Blake.
25678
25679 2010-04-06  Jim Meyering  <meyering@redhat.com>
25680
25681         init.sh: portability fix: use env's POSIX-specified -i option not -u
25682         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
25683         than unportable env -u.  Solaris 5.11's env lacks support for -u.
25684
25685 2010-04-05  Bruno Haible  <bruno@clisp.org>
25686
25687         btowc: Work around Cygwin 1.7.2 bug.
25688         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
25689         does not map NUL to 0.
25690         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
25691
25692 2010-04-05  Bruno Haible  <bruno@clisp.org>
25693
25694         Make the multithread modules work on Cygwin 1.7.2.
25695         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
25696         imported symbols can be declared weak, so that it returns "no" on
25697         Cygwin 1.7.2.
25698
25699 2010-04-05  Bruno Haible  <bruno@clisp.org>
25700
25701         Use the module 'strncat'.
25702         * modules/unistr/u8-strncat (Depends-on): Add strncat.
25703
25704         Tests for module 'strncat'.
25705         * modules/strncat-tests: New file.
25706         * tests/test-strncat.c: New file.
25707
25708         New module 'strncat'.
25709         * lib/string.in.h (strncat): New declaration.
25710         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
25711         * m4/strncat.m4: New file, based on m4/memchr.m4.
25712         * modules/strncat: New file.
25713         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
25714         is declared.
25715         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
25716         REPLACE_STRNCAT.
25717         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
25718         REPLACE_STRNCAT.
25719         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
25720         module.
25721         * tests/test-string-c++.cc: Check signature of strncat.
25722
25723 2010-04-05  Jim Meyering  <meyering@redhat.com>
25724
25725         xstrtoumax-tests: convert to use init.sh
25726         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
25727         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
25728         Use Exit, not exit.
25729         Remove uses of $EXEEXT and "./" to run a program in the current dir.
25730
25731         xstrtoimax-tests: convert to use init.sh
25732         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
25733         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
25734         Use Exit, not exit.
25735         Remove uses of $EXEEXT and "./" to run a program in the current dir.
25736
25737 2010-04-05  Bruno Haible  <bruno@clisp.org>
25738
25739         sys_socket: Avoid #define replacements in C++ mode.
25740         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
25741         warning to the function if possible, rather than #defining the symbol
25742         to a dysfunctional alias.
25743
25744 2010-04-05  Bruno Haible  <bruno@clisp.org>
25745
25746         fseeko: Fix C++ test error on mingw.
25747         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
25748         gl_FUNC_FSEEKO.
25749         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
25750         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
25751         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
25752         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
25753
25754 2010-04-05  Bruno Haible  <bruno@clisp.org>
25755
25756         duplocale: Improve test output.
25757         * tests/test-duplocale.c (main): Print reason for skipped test.
25758
25759 2010-04-05  Bruno Haible  <bruno@clisp.org>
25760
25761         Assume rmdir exists.
25762         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
25763         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
25764
25765 2010-04-05  Bruno Haible  <bruno@clisp.org>
25766
25767         Fix link error on Solaris 8 with cc.
25768         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
25769
25770 2010-04-05  Bruno Haible  <bruno@clisp.org>
25771
25772         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
25773         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
25774
25775 2010-04-05  Bruno Haible  <bruno@clisp.org>
25776
25777         vasprintf: Update documentation.
25778         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
25779
25780 2010-04-05  Bruno Haible  <bruno@clisp.org>
25781
25782         ptsname: Improve test.
25783         * tests/test-ptsname.c (main): Also try the various master names of BSD
25784         systems.
25785
25786 2010-04-05  Bruno Haible  <bruno@clisp.org>
25787
25788         memchr: Avoid a possible C++ test error.
25789         * lib/string.in.h (memchr): Provide declaration if function is missing.
25790         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
25791         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
25792         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
25793         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
25794
25795 2010-04-05  Bruno Haible  <bruno@clisp.org>
25796
25797         strtok_r: Improve idiom.
25798         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
25799         AC_LIBOBJ is used.
25800
25801 2010-04-05  Bruno Haible  <bruno@clisp.org>
25802
25803         strdup: Improve idiom.
25804         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
25805         AC_LIBOBJ is used.
25806         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
25807         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
25808         when AC_LIBOBJ is used.
25809
25810 2010-04-05  Bruno Haible  <bruno@clisp.org>
25811
25812         mbsinit, mbrtowc, wcrtomb: Improve idioms.
25813         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
25814         don't set REPLACE_MBSINIT to 1.
25815         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
25816         don't set REPLACE_MBRTOWC to 1.
25817         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
25818         exist, don't set REPLACE_MBSRTOWCS to 1.
25819         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
25820         exist, don't set REPLACE_MBSNRTOWCS to 1.
25821         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
25822         don't set REPLACE_WCRTOMB to 1.
25823         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
25824         exist, don't set REPLACE_WCSRTOMBS to 1.
25825         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
25826         exist, don't set REPLACE_WCSNRTOMBS to 1.
25827
25828 2010-04-05  Bruno Haible  <bruno@clisp.org>
25829
25830         ldexpl: Improve idiom.
25831         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
25832         make sure to set HAVE_DECL_LDEXPL to 0.
25833
25834 2010-04-05  Jim Meyering  <meyering@redhat.com>
25835
25836         xstrtol-tests: convert to use init.sh
25837         * modules/xstrtol-tests (Files): Add tests/init.sh.
25838         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
25839         Use Exit, not exit.
25840         Remove uses of $EXEEXT and "./" to run a program in the current dir.
25841
25842         atexit-tests: convert to use init.sh
25843         * modules/atexit-tests (Files): Add tests/init.sh.
25844         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
25845         Use Exit, not exit.
25846         Remove uses of $EXEEXT and "./" to run a program in the current dir.
25847
25848         init.sh: fix typo
25849         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
25850
25851         init.sh: make it easier for a test script to write to the tty, ...
25852         when using automake's parallel-tests mode.
25853         * tests/init.sh (stderr_fileno_): Define overridable variable.
25854         (warn_): New function, to use it.
25855         (fail_, skip_, framework_failure_): Use warn_.
25856
25857 2010-04-04  Bruno Haible  <bruno@clisp.org>
25858
25859         btowc: Avoid warning.
25860         * lib/btowc.c: Include <stdlib.h>.
25861         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
25862
25863 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
25864             Bruno Haible  <bruno@clisp.org>
25865
25866         wchar: Port to NetBSD 1.5.
25867         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
25868         * lib/wctype.in.h (WEOF): Likewise.
25869
25870 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
25871             Bruno Haible  <bruno@clisp.org>
25872
25873         Port extended stdio to NetBSD 1.5.
25874         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
25875         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
25876         older.
25877
25878 2010-04-04  Bruno Haible  <bruno@clisp.org>
25879
25880         string: Remove unused substitution.
25881         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
25882         HAVE_DECL_STRERROR.
25883         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
25884
25885 2010-04-04  Bruno Haible  <bruno@clisp.org>
25886
25887         strtod: Avoid a possible C++ test error.
25888         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
25889         set REPLACE_STRTOD.
25890
25891 2010-04-04  Bruno Haible  <bruno@clisp.org>
25892
25893         strerror: Update documentation.
25894         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
25895
25896 2010-04-04  Bruno Haible  <bruno@clisp.org>
25897
25898         stdio: Fix some C++ test errors on Solaris 8 with GCC.
25899         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
25900         _GL_CXXALIAS_SYS_CAST.
25901
25902 2010-04-04  Bruno Haible  <bruno@clisp.org>
25903
25904         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
25905         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
25906         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
25907         REPLACE_FREXPL to 1.
25908         * doc/posix-functions/frexpl.texi: Update documentation.
25909
25910 2010-04-04  Bruno Haible  <bruno@clisp.org>
25911
25912         math: Fix some C++ test errors on Solaris 8 and Cygwin.
25913         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
25914
25915 2010-04-04  Bruno Haible  <bruno@clisp.org>
25916
25917         Implement nanosleep for native Windows.
25918         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
25919
25920 2010-04-04  Bruno Haible  <bruno@clisp.org>
25921
25922         math: Fix some C++ test errors on Solaris 8.
25923         * lib/math.in.h (truncf, trunc): Use simpler idiom.
25924
25925 2010-04-04  Bruno Haible  <bruno@clisp.org>
25926
25927         math: Fix some C++ test errors on Cygwin.
25928         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
25929         truncl): Provide declaration if the system does not have it.
25930         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
25931         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
25932         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
25933         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
25934         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
25935         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
25936         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
25937         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
25938         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
25939         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
25940         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
25941         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
25942         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
25943         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
25944         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
25945         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
25946         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
25947         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
25948         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
25949         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
25950         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
25951         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
25952
25953 2010-04-04  Bruno Haible  <bruno@clisp.org>
25954
25955         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
25956         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
25957         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
25958         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
25959         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
25960         * m4/isinf.m4 (gl_ISINF): Likewise.
25961         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
25962
25963 2010-04-04  Bruno Haible  <bruno@clisp.org>
25964
25965         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
25966         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
25967
25968 2010-04-04  Bruno Haible  <bruno@clisp.org>
25969
25970         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
25971         * modules/tmpfile (configure.ac): Update.
25972
25973         tmpfile: Fix C++ test error on mingw.
25974         * lib/stdio.in.h (tmpfile): New declaration.
25975         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
25976         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
25977         * modules/tmpfile (Depends-on): Add stdio.
25978         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
25979         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
25980         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
25981         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
25982         REPLACE_TMPFILE.
25983         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
25984
25985 2010-04-04  Bruno Haible  <bruno@clisp.org>
25986
25987         ioctl: Fix C++ test error on mingw.
25988         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
25989         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
25990         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
25991
25992 2010-04-03  Bruno Haible  <bruno@clisp.org>
25993
25994         wcwidth: Fix C++ test error on mingw.
25995         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
25996         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
25997         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
25998
25999 2010-04-03  Bruno Haible  <bruno@clisp.org>
26000
26001         nanosleep: Fix C++ test error on mingw.
26002         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
26003         * lib/time.in.h (nanosleep): Use modern idiom.
26004         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
26005         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
26006         REPLACE_NANOSLEEP to 1.
26007         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
26008         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
26009
26010 2010-04-03  Bruno Haible  <bruno@clisp.org>
26011
26012         strptime: Fix C++ test error on mingw.
26013         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
26014         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
26015         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
26016         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
26017         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
26018         not REPLACE_STRPTIME.
26019         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
26020         REPLACE_STRPTIME.
26021
26022 2010-04-03  Bruno Haible  <bruno@clisp.org>
26023
26024         timegm: Fix C++ test error on mingw.
26025         * lib/time.in.h (timegm): Use modern idiom.
26026         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
26027         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
26028         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
26029         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
26030
26031 2010-04-03  Bruno Haible  <bruno@clisp.org>
26032
26033         timegm: Assume declaration if function exists.
26034         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
26035         if it exists. Don't clobber ac_cv_func_timegm.
26036
26037 2010-04-03  Bruno Haible  <bruno@clisp.org>
26038
26039         time_r: Fix C++ test error on mingw.
26040         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
26041         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
26042         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
26043         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
26044         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
26045
26046 2010-04-03  Bruno Haible  <bruno@clisp.org>
26047
26048         time_r: Minor updates.
26049         * modules/time_r (Description): Mention the provided functions.
26050         * lib/time_r.c: Don't include <string.h>.
26051         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
26052         * doc/posix-functions/localtime_r.texi: Likewise.
26053
26054 2010-04-03  Bruno Haible  <bruno@clisp.org>
26055
26056         time: Fix regression introduced on 2010-03-08.
26057         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
26058         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
26059
26060 2010-04-03  Jim Meyering  <meyering@redhat.com>
26061
26062         maint.mk: don't silently disable project-specific syntax-check rules
26063         * top/maint.mk (_prohibit_regexp): Define, to help people realize
26064         that they need to convert their project-specific syntax-check rules
26065         to use the new _sc_search_regexp.
26066
26067 2010-04-03  Bruno Haible  <bruno@clisp.org>
26068
26069         fchdir: Fix regression introduced on 2010-03-08.
26070         * lib/unistd.in.h (fchdir): Fix declaration.
26071         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
26072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
26073         REPLACE_FCHDIR.
26074         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
26075         REPLACE_FCHDIR.
26076
26077 2010-04-03  Bruno Haible  <bruno@clisp.org>
26078
26079         getpagesize: Fix C++ test error on mingw.
26080         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
26081         system does not declare the function.
26082         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
26083         declared.
26084         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26085         HAVE_DECL_GETPAGESIZE.
26086         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
26087
26088 2010-04-03  Bruno Haible  <bruno@clisp.org>
26089
26090         stdio: Make C++ tests work on mingw.
26091         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
26092         does not declare the function.
26093
26094 2010-04-03  Bruno Haible  <bruno@clisp.org>
26095
26096         ftello: Fix C++ test error on mingw.
26097         * lib/stdio.in.h (ftello): Use modern idiom.
26098         * lib/ftello.c (ftello): Renamed from rpl_ftello.
26099         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
26100         is missing and that it needs to be replaced.
26101         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
26102         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
26103         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
26104
26105 2010-04-03  Bruno Haible  <bruno@clisp.org>
26106
26107         fseeko: Fix C++ test error on mingw.
26108         * lib/stdio.in.h (fseeko): Use modern idiom.
26109         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
26110         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
26111         is missing and that it needs to be replaced.
26112         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
26113         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
26114         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
26115
26116 2010-04-03  Bruno Haible  <bruno@clisp.org>
26117
26118         mkstemp: Fix C++ test error on mingw.
26119         * lib/stdlib.in.h (mkstemp): Use modern idiom.
26120         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
26121         function is missing and that it needs to be replaced.
26122         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
26123         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
26124
26125 2010-04-03  Bruno Haible  <bruno@clisp.org>
26126
26127         stpncpy: Fix C++ test error on mingw.
26128         * lib/string.in.h (stpncpy): Use modern idiom.
26129         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
26130         function is missing and that it needs to be replaced.
26131         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26132         REPLACE_STPNCPY.
26133         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
26134
26135 2010-04-03  Bruno Haible  <bruno@clisp.org>
26136
26137         sys_stat: Fix C++ test error on mingw.
26138         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
26139         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
26140
26141 2010-04-03  Bruno Haible  <bruno@clisp.org>
26142
26143         pty: Update doc.
26144         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
26145
26146 2010-04-03  Bruno Haible  <bruno@clisp.org>
26147
26148         unistd: Fix C++ test error on mingw.
26149         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
26150
26151 2010-04-03  Bruno Haible  <bruno@clisp.org>
26152
26153         Update doc regarding mingw.
26154         * doc/glibc-functions/openpty.texi: Update regarding mingw.
26155         * doc/glibc-functions/login_tty.texi: Likewise.
26156         * doc/glibc-functions/forkpty.texi: Likewise.
26157
26158 2010-04-03  Bruno Haible  <bruno@clisp.org>
26159
26160         stdlib: Avoid compilation failure of c-strtold on mingw.
26161         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
26162
26163 2010-04-03  Bruno Haible  <bruno@clisp.org>
26164
26165         locale: Make C++ tests work on Cygwin and mingw.
26166         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
26167         cannot provide the function.
26168         Reported by Simon Josefsson.
26169
26170 2010-04-03  Bruno Haible  <bruno@clisp.org>
26171
26172         localename: Port to MacOS X 10.6.
26173         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
26174         memory layout of the locales in MacOS X 10.6 as well.
26175         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
26176
26177 2010-04-02  Bruno Haible  <bruno@clisp.org>
26178
26179         gnulib-tool: Ensure that long-running tests are executed last.
26180         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
26181         running tests after the one for the other tests.
26182
26183 2010-04-02  Bruno Haible  <bruno@clisp.org>
26184
26185         gnulib-tool: Ensure the tests in the main directory are executed first.
26186         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
26187         start with the current directory.
26188
26189 2010-04-02  Bruno Haible  <bruno@clisp.org>
26190
26191         Tests for module 'havelib', moved here from GNU gettext.
26192         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
26193         modifications.
26194         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
26195         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
26196         with modifications.
26197         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
26198         modifications.
26199         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
26200         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
26201         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
26202         with modifications.
26203         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
26204         with modifications.
26205         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
26206         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
26207         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
26208         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
26209         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
26210         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
26211         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
26212         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
26213         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
26214         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
26215         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
26216         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
26217         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
26218         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
26219         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
26220         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
26221         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
26222         with modifications.
26223         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
26224         with modifications.
26225         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
26226         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
26227         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
26228         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
26229         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
26230         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
26231         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
26232         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
26233         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
26234         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
26235         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
26236         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
26237         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
26238         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
26239         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
26240         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
26241         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
26242         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
26243         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
26244         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
26245         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
26246         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
26247         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
26248         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
26249         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
26250         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
26251         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
26252         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
26253         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
26254         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
26255         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
26256         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
26257         * tests/havelib/rpathx/rpathx.c: New file, from
26258         gettext/autoconf-lib-link.
26259         * tests/havelib/rpathx/Makefile.am: New file, from
26260         gettext/autoconf-lib-link.
26261         * tests/havelib/rpathx/configure.ac: New file, from
26262         gettext/autoconf-lib-link with modifications.
26263         * tests/havelib/rpathy/rpathy.c: New file, from
26264         gettext/autoconf-lib-link.
26265         * tests/havelib/rpathy/Makefile.am: New file, from
26266         gettext/autoconf-lib-link.
26267         * tests/havelib/rpathy/configure.ac: New file, from
26268         gettext/autoconf-lib-link with modifications.
26269         * tests/havelib/rpathz/rpathz.c: New file, from
26270         gettext/autoconf-lib-link.
26271         * tests/havelib/rpathz/Makefile.am: New file, from
26272         gettext/autoconf-lib-link.
26273         * tests/havelib/rpathz/configure.ac: New file, from
26274         gettext/autoconf-lib-link with modifications.
26275         * tests/havelib/rpathlx/usex.c: New file, from
26276         gettext/autoconf-lib-link.
26277         * tests/havelib/rpathlx/Makefile.am: New file, from
26278         gettext/autoconf-lib-link.
26279         * tests/havelib/rpathlx/configure.ac: New file, from
26280         gettext/autoconf-lib-link with modifications.
26281         * tests/havelib/rpathly/usey.c: New file, from
26282         gettext/autoconf-lib-link.
26283         * tests/havelib/rpathly/Makefile.am: New file, from
26284         gettext/autoconf-lib-link.
26285         * tests/havelib/rpathly/configure.ac: New file, from
26286         gettext/autoconf-lib-link with modifications.
26287         * tests/havelib/rpathlz/usez.c: New file, from
26288         gettext/autoconf-lib-link.
26289         * tests/havelib/rpathlz/Makefile.am: New file, from
26290         gettext/autoconf-lib-link.
26291         * tests/havelib/rpathlz/configure.ac: New file, from
26292         gettext/autoconf-lib-link with modifications.
26293         * tests/havelib/rpathlyx/usey.c: New file, from
26294         gettext/autoconf-lib-link.
26295         * tests/havelib/rpathlyx/Makefile.am: New file, from
26296         gettext/autoconf-lib-link.
26297         * tests/havelib/rpathlyx/configure.ac: New file, from
26298         gettext/autoconf-lib-link with modifications.
26299         * tests/havelib/rpathlzyx/usez.c: New file, from
26300         gettext/autoconf-lib-link.
26301         * tests/havelib/rpathlzyx/Makefile.am: New file, from
26302         gettext/autoconf-lib-link.
26303         * tests/havelib/rpathlzyx/configure.ac: New file, from
26304         gettext/autoconf-lib-link with modifications.
26305         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
26306         with modifications.
26307
26308 2010-04-02  Bruno Haible  <bruno@clisp.org>
26309
26310         gnulib-tool: Create distributed built sources also for the tests.
26311         * gnulib-tool (func_create_testdir): Also generate distributed built
26312         sources in the tests directory.
26313
26314 2010-04-02  Bruno Haible  <bruno@clisp.org>
26315
26316         gnulib-tool: Obey user's environment variables.
26317         * gnulib-tool (func_create_testdir): When creating built sources,
26318         respect the environment variables for autoconf, automake, etc. given by
26319         the user.
26320
26321 2010-04-02  Bruno Haible  <bruno@clisp.org>
26322
26323         gnulib-tool: Provide the value of --m4-base to modules.
26324         * gnulib-tool (func_import, func_create_testdir): Emit a definition
26325         of gl_m4_base.
26326
26327 2010-04-02  Eric Blake  <eblake@redhat.com>
26328
26329         maint.mk: fix some fallout
26330         * NEWS: Document the incompatible change, and its effect on cfg.mk.
26331         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
26332
26333 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
26334
26335         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
26336         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
26337         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
26338         (sc_cast_of_x_alloc_return_value): Likewise.
26339         (sc_cast_of_alloca_return_value): Likewise.
26340         (sc_space_tab): Likewise.
26341         (sc_prohibit_atoi_atof): Likewise.
26342         (sc_prohibit_magic_number_exit): Likewise.
26343         (sc_error_exit_success): Likewise.
26344         (sc_file_system): Likewise.
26345         (sc_prohibit_have_config_h): Likewise.
26346         (sc_require_config_h): Likewise.
26347         (sc_prohibit_HAVE_MBRTOWC): Likewise.
26348         (sc_obsolete_symbols): Likewise.
26349         (sc_changelog): Likewise.
26350         (sc_program_name): Likewise.
26351         (sc_the_the): Likewise.
26352         (sc_trailing_blank): Likewise.
26353         (sc_two_space_separator_in_usage): Likewise.
26354         (sc_useless_cpp_parens): Likewise.
26355         (sc_GPL_version): Likewise.
26356         (sc_GFDL_version): Likewise.
26357         (sc_texinfo_acronym): Likewise.
26358         (sc_prohibit_cvs_keyword): Likewise.
26359         (sc_prohibit_stat_st_blocks): Likewise.
26360         (sc_prohibit_S_IS_definition): Likewise.
26361         (sc_redundant_const): Likewise.
26362         (sc_makefile_TAB_only_indentation): Likewise.
26363         (sc_m4_quote_check): Likewise.
26364         (sc_makefile_path_separator_check): Likewise.
26365         (sc_copyright_check): Likewise.
26366         (sc_Wundef_boolean): Likewise.
26367         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
26368
26369         maint.mk: match 0 or more whitespace-before-function-call '('
26370         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
26371         that have zero or two-and-more spaces between the function name
26372         and the open parenthesis.
26373         (sc_error_message_warn_fatal): Likewise.
26374         (sc_error_message_uppercase): Likewise.
26375         (sc_error_message_period): Likewise.
26376
26377 2010-03-31  Eric Blake  <eblake@redhat.com>
26378
26379         maint.mk: check for [ as well as test
26380         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
26381         Based on a libvirt report by Matthias Bolte.
26382
26383         gnumakefile: don't squelch _version output
26384         * top/GNUmakefile (_version): Create one-shot dependency rather
26385         than using $(shell) when version must be regenerated.
26386         (_autoreconf): Run verbosely, by default.
26387
26388         sys_time: avoid compiler warnings
26389         * lib/sys_time.in.h (includes): Ensure gcc pragma is
26390         unconditional, fixing regression from 2010-03-29.
26391         Reported by Simon Josefsson.
26392
26393 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
26394
26395         maint.mk: s/_header_without_use/_sc_header_without_use/
26396         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
26397         (sc_prohibit_assert_without_use): Use the new name.
26398         (sc_prohibit_close_stream_without_use): Likewise.
26399         (sc_prohibit_getopt_without_use): Likewise.
26400         (sc_prohibit_quotearg_without_use): Likewise.
26401         (sc_prohibit_quote_without_use): Likewise.
26402         (sc_prohibit_long_options_without_use): Likewise.
26403         (sc_prohibit_inttostr_without_use): Likewise.
26404         (sc_prohibit_ignore_value_without_use): Likewise.
26405         (sc_prohibit_error_without_use): Likewise.
26406         (sc_prohibit_xalloc_without_use): Likewise.
26407         (sc_prohibit_hash_without_use): Likewise.
26408         (sc_prohibit_hash_pjw_without_use): Likewise.
26409         (sc_prohibit_safe_read_without_use): Likewise.
26410         (sc_prohibit_argmatch_without_use): Likewise.
26411         (sc_prohibit_canonicalize_without_use): Likewise.
26412         (sc_prohibit_root_dev_ino_without_use): Likewise.
26413         (sc_prohibit_openat_without_use): Likewise.
26414         (sc_prohibit_c_ctype_without_use): Likewise.
26415         (sc_prohibit_signal_without_use): Likewise.
26416         (sc_prohibit_intprops_without_use): Likewise.
26417
26418 2010-03-30  Eric Blake  <eblake@redhat.com>
26419
26420         maint: improve module indicators
26421         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
26422         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
26423         columns, and avoid extra macro expansion.
26424
26425         fdopendir: work around FreeBSD bug
26426         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
26427         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
26428         * modules/dirent (Makefile.am): Substitute it.
26429         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
26430         declaration.
26431         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
26432         fix.
26433         Reported by Christian Weisgerber <naddy@mips.inka.de>.
26434
26435 2010-03-29  Bruno Haible  <bruno@clisp.org>
26436
26437         Emit #pragma system_header after the inclusion guard, not before.
26438         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
26439         guard that spans the entire file, not before. This enables an
26440         optimization in GCC's preprocessor.
26441         * lib/ctype.in.h: Likewise.
26442         * lib/dirent.in.h: Likewise.
26443         * lib/errno.in.h: Likewise.
26444         * lib/float.in.h: Likewise.
26445         * lib/getopt.in.h: Likewise.
26446         * lib/iconv.in.h: Likewise.
26447         * lib/langinfo.in.h: Likewise.
26448         * lib/locale.in.h: Likewise.
26449         * lib/math.in.h: Likewise.
26450         * lib/netdb.in.h: Likewise.
26451         * lib/netinet_in.in.h: Likewise.
26452         * lib/pty.in.h: Likewise.
26453         * lib/sched.in.h: Likewise.
26454         * lib/se-selinux.in.h: Likewise.
26455         * lib/search.in.h: Likewise.
26456         * lib/spawn.in.h: Likewise.
26457         * lib/stdarg.in.h: Likewise.
26458         * lib/stdint.in.h: Likewise.
26459         * lib/string.in.h: Likewise.
26460         * lib/strings.in.h: Likewise.
26461         * lib/sys_file.in.h: Likewise.
26462         * lib/sys_ioctl.in.h: Likewise.
26463         * lib/sys_time.in.h: Likewise.
26464         * lib/sys_times.in.h: Likewise.
26465         * lib/sys_utsname.in.h: Likewise.
26466         * lib/sys_wait.in.h: Likewise.
26467         * lib/sysexits.in.h: Likewise.
26468         * lib/wctype.in.h: Likewise.
26469
26470 2010-03-28  James Youngman  <jay@gnu.org>
26471
26472         save-cwd: don't leak a file descriptor when the caller execs.
26473         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
26474         saved file descriptor.
26475         * modules/save-cwd (Depends-on): Depend on cloexec.
26476
26477 2010-03-29  Bruno Haible  <bruno@clisp.org>
26478
26479         Remove vestiges of fts-lgpl module.
26480         * lib/fts_.h: Assume GNULIB_FTS is 1.
26481         * lib/fts.c: Likewise.
26482         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
26483
26484 2010-03-28  Bruno Haible  <bruno@clisp.org>
26485
26486         Fix definition of tests witness macro.
26487         * gnulib-tool (func_import): Fix definition of witness macro.
26488
26489 2010-03-28  Bruno Haible  <bruno@clisp.org>
26490
26491         Fix ioctl's protoype on glibc systems.
26492         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
26493         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
26494         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
26495         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
26496         signature. If not, arrange to replace the ioctl function.
26497         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
26498         REPLACE_IOCTL.
26499         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
26500         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
26501         Reported by Ludovic Courtès <ludo@gnu.org>.
26502
26503 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
26504
26505         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
26506         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
26507         made it so grep -r --include=GLOB* ... did not work.
26508
26509 2010-03-26  Jim Meyering  <meyering@redhat.com>
26510             Eric Blake  <eblake@redhat.com>
26511
26512         maint.mk: prohibit use of test's -o and -a operators
26513         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
26514
26515 2010-03-28  Bruno Haible  <bruno@clisp.org>
26516
26517         Remove unused GNULIB_XYZ macro definitions.
26518         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
26519         invocation.
26520
26521 2010-03-28  Bruno Haible  <bruno@clisp.org>
26522
26523         Mark privileged tests modules.
26524         * modules/idpriv-drop-tests (Status): New section.
26525         * modules/idpriv-droptemp-tests (Status): New section.
26526
26527 2010-03-28  Bruno Haible  <bruno@clisp.org>
26528
26529         Split C++ tests into separate tests modules.
26530         * modules/dirent-c++-tests: New file, extracted from
26531         modules/dirent-tests.
26532         * modules/dirent-tests: Depend on it.
26533         * modules/fcntl-h-c++-tests: New file, extracted from
26534         modules/fcntl-h-tests.
26535         * modules/fcntl-h-tests: Depend on it.
26536         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
26537         * modules/glob-tests: Depend on it.
26538         * modules/iconv-h-c++-tests: New file, extracted from
26539         modules/iconv-h-tests.
26540         * modules/iconv-h-tests: Depend on it.
26541         * modules/langinfo-c++-tests: New file, extracted from
26542         modules/langinfo-tests.
26543         * modules/langinfo-tests: Depend on it.
26544         * modules/locale-c++-tests: New file, extracted from
26545         modules/locale-tests.
26546         * modules/locale-tests: Depend on it.
26547         * modules/math-c++-tests: New file, extracted from modules/math-tests.
26548         * modules/math-tests: Depend on it.
26549         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
26550         * modules/pty-tests: Depend on it.
26551         * modules/search-c++-tests: New file, extracted from
26552         modules/search-tests.
26553         * modules/search-tests: Depend on it.
26554         * modules/signal-c++-tests: New file, extracted from
26555         modules/signal-tests.
26556         * modules/signal-tests: Depend on it.
26557         * modules/spawn-c++-tests: New file, extracted from
26558         modules/spawn-tests.
26559         * modules/spawn-tests: Depend on it.
26560         * modules/stdio-c++-tests: New file, extracted from
26561         modules/stdio-tests.
26562         * modules/stdio-tests: Depend on it.
26563         * modules/stdlib-c++-tests: New file, extracted from
26564         modules/stdlib-tests.
26565         * modules/stdlib-tests: Depend on it.
26566         * modules/string-c++-tests: New file, extracted from
26567         modules/string-tests.
26568         * modules/string-tests: Depend on it.
26569         * modules/sys_ioctl-c++-tests: New file, extracted from
26570         modules/sys_ioctl-tests.
26571         * modules/sys_ioctl-tests: Depend on it.
26572         * modules/sys_select-c++-tests: New file, extracted from
26573         modules/sys_select-tests.
26574         * modules/sys_select-tests: Depend on it.
26575         * modules/sys_socket-c++-tests: New file, extracted from
26576         modules/sys_socket-tests.
26577         * modules/sys_socket-tests: Depend on it.
26578         * modules/sys_stat-c++-tests: New file, extracted from
26579         modules/sys_stat-tests.
26580         * modules/sys_stat-tests: Depend on it.
26581         * modules/sys_time-c++-tests: New file, extracted from
26582         modules/sys_time-tests.
26583         * modules/sys_time-tests: Depend on it.
26584         * modules/time-c++-tests: New file, extracted from modules/time-tests.
26585         * modules/time-tests: Depend on it.
26586         * modules/unistd-c++-tests: New file, extracted from
26587         modules/unistd-tests.
26588         * modules/unistd-tests: Depend on it.
26589         * modules/wchar-c++-tests: New file, extracted from
26590         modules/wchar-tests.
26591         * modules/wchar-tests: Depend on it.
26592         * modules/wctype-c++-tests: New file, extracted from
26593         modules/wctype-tests.
26594         * modules/wctype-tests: Depend on it.
26595         Reported by Simon Josefsson.
26596
26597 2010-03-28  Bruno Haible  <bruno@clisp.org>
26598
26599         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
26600         * gnulib-tool (func_exists_module): New function, extracted from
26601         func_verify_module.
26602         (func_verify_module): Use it.
26603         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
26604         'foo' only if 'foo' exists.
26605         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
26606         module.
26607
26608 2010-03-28  Bruno Haible  <bruno@clisp.org>
26609
26610         gnulib-tool: Add support for special categories of tests.
26611         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
26612         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
26613         (func_usage): Document them.
26614         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
26615         inc_unportable_tests, inc_all_tests): New variables.
26616         (func_acceptable): Consider these variables.
26617         (func_modules_transitive_closure): Make it work when the 'Status' field
26618         consists of multiple words.
26619         (func_import): Store and restore the values of inc_cxx_tests,
26620         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
26621         inc_all_tests in gnulib-comp.m4.
26622         (func_create_testdir): Set inc_all_tests to true.
26623         * doc/gnulib.texi (Extra tests modules): New section.
26624         Suggested by Jim Meyering.
26625
26626 2010-03-28  Bruno Haible  <bruno@clisp.org>
26627
26628         ansi-c++-opt: Allow turning off the C++ build by default.
26629         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
26630         gl_CXX_CHOICE_DEFAULT_NO is defined.
26631         Requested by Eric Blake.
26632
26633 2010-03-28  Bruno Haible  <bruno@clisp.org>
26634
26635         unistd: Avoid #define replacements in C++ mode.
26636         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
26637         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
26638         setsockopt, shutdown, select): In C++, attach a warning to the function
26639         if possible, rather than #defining the symbol to a dysfunctional alias.
26640         Reported by John W. Eaton <jwe@gnu.org>.
26641
26642 2010-03-28  Bruno Haible  <bruno@clisp.org>
26643
26644         Fix link errors on mingw.
26645         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
26646         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
26647         $(LIBSOCKET).
26648         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
26649         $(LIBSOCKET).
26650
26651 2010-03-28  Bruno Haible  <bruno@clisp.org>
26652             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26653
26654         lib-ignore: Determine different options for different compilers.
26655         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
26656         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
26657         Add comments.
26658         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
26659         * NEWS: Mention the change.
26660
26661 2010-03-27  Bruno Haible  <bruno@clisp.org>
26662
26663         Remove unused GNULIB_XYZ macro definitions.
26664         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
26665         * modules/fseek (configure.ac): Likewise.
26666         * modules/ioctl (configure.ac): Likewise.
26667         * modules/open (configure.ac): Likewise.
26668         * modules/stdlib-safer (configure.ac): Likewise.
26669
26670 2010-03-27  Bruno Haible  <bruno@clisp.org>
26671
26672         Add a remark about certain modules.
26673         * modules/malloc (Comment): New section.
26674         * modules/realloc (Comment): Likewise.
26675         * modules/sigpipe (Comment): Likewise.
26676
26677 2010-03-27  Bruno Haible  <bruno@clisp.org>
26678
26679         Resolve conflict between the two kinds of module indicators.
26680         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
26681         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
26682         * modules/canonicalize (configure.ac): Invoke
26683         gl_MODULE_INDICATOR_FOR_TESTS.
26684         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
26685         GNULIB_XYZ.
26686         * tests/test-dirent-c++.cc: Likewise.
26687         * tests/test-dirent-safer.c: Likewise.
26688         * tests/test-dup2.c: Likewise.
26689         * tests/test-fchdir.c: Likewise.
26690         * tests/test-fcntl-h-c++.cc: Likewise.
26691         * tests/test-getopt.c: Likewise.
26692         * tests/test-getopt.h: Likewise.
26693         * tests/test-langinfo-c++.cc: Likewise.
26694         * tests/test-locale-c++.cc: Likewise.
26695         * tests/test-math-c++.cc: Likewise.
26696         * tests/test-pty-c++.cc: Likewise.
26697         * tests/test-search-c++.cc: Likewise.
26698         * tests/test-signal-c++.cc: Likewise.
26699         * tests/test-spawn-c++.cc: Likewise.
26700         * tests/test-stdio-c++.cc: Likewise.
26701         * tests/test-stdlib-c++.cc: Likewise.
26702         * tests/test-string-c++.cc: Likewise.
26703         * tests/test-sys_ioctl-c++.cc: Likewise.
26704         * tests/test-sys_select-c++.cc: Likewise.
26705         * tests/test-sys_socket-c++.cc: Likewise.
26706         * tests/test-sys_stat-c++.cc: Likewise.
26707         * tests/test-sys_time-c++.cc: Likewise.
26708         * tests/test-time-c++.cc: Likewise.
26709         * tests/test-unistd-c++.cc: Likewise.
26710         * tests/test-wchar-c++.cc: Likewise.
26711         * tests/uninorm/test-u8-nfc.c: Likewise.
26712         * tests/uninorm/test-u8-nfd.c: Likewise.
26713         * tests/uninorm/test-u8-nfkc.c: Likewise.
26714         * tests/uninorm/test-u8-nfkd.c: Likewise.
26715         * tests/uninorm/test-u16-nfc.c: Likewise.
26716         * tests/uninorm/test-u16-nfd.c: Likewise.
26717         * tests/uninorm/test-u16-nfkc.c: Likewise.
26718         * tests/uninorm/test-u16-nfkd.c: Likewise.
26719         * tests/uninorm/test-u32-nfc.c: Likewise.
26720         * tests/uninorm/test-u32-nfc-big.c: Likewise.
26721         * tests/uninorm/test-u32-nfd.c: Likewise.
26722         * tests/uninorm/test-u32-nfd-big.c: Likewise.
26723         * tests/uninorm/test-u32-nfkc.c: Likewise.
26724         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
26725         * tests/uninorm/test-u32-nfkd.c: Likewise.
26726         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
26727         * tests/uninorm/test-u32-normalize-big.c: Likewise.
26728
26729 2010-03-27  Bruno Haible  <bruno@clisp.org>
26730
26731         Distinguish two kinds of module indicators.
26732         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
26733         gl_MODULE_INDICATOR.
26734         (gl_MODULE_INDICATOR): New macro.
26735         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
26736         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
26737         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
26738         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
26739         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
26740         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
26741         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
26742         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
26743         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
26744         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
26745         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
26746         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
26747         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
26748         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
26749         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
26750         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
26751         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
26752         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
26753         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
26754         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
26755         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
26756         * modules/cloexec (configure.ac): Likewise.
26757         * modules/getopt-gnu (configure.ac): Likewise.
26758         * modules/uninorm/u8-normalize (configure.ac): Likewise.
26759         * modules/uninorm/u16-normalize (configure.ac): Likewise.
26760         * modules/uninorm/u32-normalize (configure.ac): Likewise.
26761         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
26762
26763 2010-03-27  Bruno Haible  <bruno@clisp.org>
26764
26765         New module description field 'Comment'.
26766         * gnulib-tool: New option --extract-comment.
26767         (func_usage): Document it.
26768         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
26769         (func_get_comment): New function.
26770         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
26771
26772 2010-03-27  Bruno Haible  <bruno@clisp.org>
26773
26774         Addendum to 2010-02-07 commit.
26775         * gnulib-tool (func_usage): Document --extract-applicability option.
26776
26777 2010-03-27  Bruno Haible  <bruno@clisp.org>
26778
26779         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
26780         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
26781         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
26782         rather than link errors.
26783
26784 2010-03-27  Bruno Haible  <bruno@clisp.org>
26785
26786         Avoid side effects from tests-related modules on the compilation of lib.
26787         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
26788         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
26789         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
26790         parameter. Emit into AM_CPPFLAGS a definition of the designated C
26791         macro.
26792         (func_import): Define a witness macro. Assign it a value that depends
26793         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
26794         tests-related modules.
26795         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
26796         Reported by Jim Meyering.
26797
26798 2010-03-27  Bruno Haible  <bruno@clisp.org>
26799
26800         Factorize common .m4 code.
26801         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
26802         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
26803         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
26804         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
26805         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
26806         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
26807         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
26808         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
26809         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
26810         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
26811         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
26812         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
26813         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
26814         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
26815         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
26816         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
26817         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
26818         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
26819         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
26820         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
26821         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
26822         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
26823         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
26824         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
26825         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
26826         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
26827         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
26828         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
26829         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
26830         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
26831         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
26832         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
26833
26834 2010-03-27  Bruno Haible  <bruno@clisp.org>
26835
26836         Fix a compilation error on Cygwin with g++ >= 4.3.
26837         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
26838         if it is undefined or if we alias it to chmod.
26839         (lstat): Don't warn about the use of this function if it is undefined
26840         or if we alias it to stat.
26841         Reported by Simon Josefsson.
26842
26843 2010-03-27  Bruno Haible  <bruno@clisp.org>
26844
26845         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
26846         * modules/getlogin (configure.ac): Update.
26847
26848         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
26849         * modules/getlogin_r (configure.ac): Update.
26850
26851         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
26852         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
26853         * modules/inet_ntop (configure.ac): Update.
26854
26855         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
26856         * modules/inet_pton (configure.ac): Update.
26857
26858         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
26859         * modules/mbslen (configure.ac): Update.
26860
26861         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
26862         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
26863         * modules/forkpty (configure.ac): Update.
26864         * modules/openpty (configure.ac): Update.
26865
26866 2010-03-26  Simon Josefsson  <simon@josefsson.org>
26867
26868         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
26869         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
26870
26871 2010-03-25  Eric Blake  <eblake@redhat.com>
26872
26873         maint: use pragma consistently across replacement headers
26874         * lib/ctype.in.h (system_header): Hoist for consistent placement.
26875         * lib/dirent.in.h (system_header): Likewise.
26876         * lib/errno.in.h (system_header): Likewise.
26877         * lib/float.in.h (system_header): Likewise.
26878         * lib/getopt.in.h (system_header): Likewise.
26879         * lib/iconv.in.h (system_header): Likewise.
26880         * lib/inttypes.in.h (system_header): Likewise.
26881         * lib/langinfo.in.h (system_header): Likewise.
26882         * lib/locale.in.h (system_header): Likewise.
26883         * lib/math.in.h (system_header): Likewise.
26884         * lib/netdb.in.h (system_header): Likewise.
26885         * lib/netinet_in.in.h (system_header): Likewise.
26886         * lib/pty.in.h (system_header): Likewise.
26887         * lib/sched.in.h (system_header): Likewise.
26888         * lib/se-selinux.in.h (system_header): Likewise.
26889         * lib/search.in.h (system_header): Likewise.
26890         * lib/spawn.in.h (system_header): Likewise.
26891         * lib/stdarg.in.h (system_header): Likewise.
26892         * lib/stdint.in.h (system_header): Likewise.
26893         * lib/string.in.h (system_header): Likewise.
26894         * lib/strings.in.h (system_header): Likewise.
26895         * lib/sys_file.in.h (system_header): Likewise.
26896         * lib/sys_ioctl.in.h (system_header): Likewise.
26897         * lib/sys_socket.in.h (system_header): Likewise.
26898         * lib/sys_times.in.h (system_header): Likewise.
26899         * lib/sys_utsname.in.h (system_header): Likewise.
26900         * lib/sys_wait.in.h (system_header): Likewise.
26901         * lib/sysexits.in.h (system_header): Likewise.
26902         * lib/unistd.in.h (system_header): Likewise.
26903         * lib/wctype.in.h (system_header): Likewise.
26904
26905         arpa/inet: fix mingw compilation warning
26906         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
26907         Reported by Matthew Bolte.
26908
26909 2010-03-25  Bruno Haible  <bruno@clisp.org>
26910
26911         Avoid collision between gnulib wrapper and libintl wrapper.
26912         * lib/printf.c (printf): Don't define if a printf wrapper is already
26913         defined in intl/printf.c.
26914         Reported by Michel Boaventura <michel@michelboaventura.com>.
26915
26916 2010-03-25  Bruno Haible  <bruno@clisp.org>
26917
26918         Use ANSI C.
26919         * lib/readutmp.h (getutent): Provide ANSI C prototype.
26920
26921 2010-03-25  Bruno Haible  <bruno@clisp.org>
26922
26923         Minor formatting changes.
26924         * lib/acosl.c: Insert space before function argument list.
26925         * lib/argz.c: Likewise.
26926         * lib/asinl.c: Likewise.
26927         * lib/expl.c: Likewise.
26928         * lib/gen-uni-tables.c: Likewise.
26929         * lib/gettext.h: Likewise.
26930         * lib/glthread/lock.h: Likewise.
26931         * lib/tanl.c: Likewise.
26932         * lib/uniname/uniname.c: Likewise.
26933         * tests/test-idpriv-drop.c: Likewise.
26934         * tests/test-idpriv-droptemp.c: Likewise.
26935         * tests/test-lock.c: Likewise.
26936         * tests/test-tls.c: Likewise.
26937         * lib/argp-help.c: Insert space before function-like macro argument
26938         list.
26939         * lib/memcmp.c: Likewise.
26940         * tests/test-base64.c: Likewise.
26941         * lib/localename.c: Insert space before sizeof's argument list.
26942         * lib/safe-alloc.h: Likewise.
26943         * lib/file-set.h: Insert space before macro argument list.
26944         * tests/test-argp.c: Likewise.
26945         * lib/argp-namefrob.h: Insert space before function parameter list.
26946         * lib/getaddrinfo.c: Likewise.
26947         * lib/netdb.in.h: Likewise.
26948         * lib/parse-duration.h: Likewise.
26949         * lib/parse-duration.c: Likewise.
26950         * lib/poll.c: Likewise.
26951         * lib/select.c: Likewise.
26952         * lib/trim.h: Likewise.
26953         * tests/test-usleep.c: Likewise.
26954         * lib/ldexpl.c: Insert space before function parameter list and before
26955         function argument list.
26956         * lib/logl.c: Likewise.
26957         * lib/sqrtl.c: Likewise.
26958         * lib/trim.c: Likewise.
26959         * lib/cosl.c: Use GNU style indentation. Insert space before function
26960         argument list.
26961         * lib/sinl.c: Likewise.
26962         * lib/tsearch.c: Insert space after 'for'.
26963         Reported by Jim Meyering.
26964
26965 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
26966
26967         * maint.mk (sc_Wundef_boolean): Check for the presence of the
26968         config header before grepping, as it's not present before
26969         autoreconf/configure are run.  Reported by Simon Josefsson.
26970
26971 2010-03-23  Bruno Haible  <bruno@clisp.org>
26972
26973         pt_chown: Make it work with automake < 1.11.
26974         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
26975         Reported by Simon Josefsson.
26976
26977 2010-03-23  Bruno Haible  <bruno@clisp.org>
26978
26979         pt_chown: Don't depend on GPLed modules.
26980         * lib/pt_chown.c: Don't include idpriv.h.
26981         (main): Don't drop privileges.
26982         * modules/pt_chown (Depends-on): Remove idpriv-drop.
26983         Reported by Simon Josefsson.
26984
26985 2010-03-24  Simon Josefsson  <simon@josefsson.org>
26986
26987         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
26988         suggestions from karl@freefriends.org (Karl Berry).
26989
26990 2010-03-22  Eric Blake  <eblake@redhat.com>
26991
26992         gethostname: further tweaks
26993         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
26994         are overriding gethostname.
26995         Suggested by Bruno Haible.
26996
26997 2010-03-21  Bruno Haible  <bruno@clisp.org>
26998
26999         Fix comments.
27000         * lib/forkpty.c (rpl_forkpty): Fix comment.
27001         * lib/openpty.c (rpl_openpty): Likewise.
27002         Reported by Eric Blake.
27003
27004 2010-03-22  Eric Blake  <eblake@redhat.com>
27005
27006         gethostname: fix build on mingw
27007         * lib/unistd.in.h (includes): Work around fact that mingw
27008         <winsock2.h> re-includes <unistd.h>, by avoiding any
27009         redeclarations if we are being included by <winsock2.h>.
27010         Reported by Matthias Bolte.
27011
27012 2010-03-21  Bruno Haible  <bruno@clisp.org>
27013
27014         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
27015         * lib/forkpty.c (forkpty): New replacement function, from glibc with
27016         modifications.
27017         * lib/pty.in.h (forkpty): Update declaration. Add comments.
27018         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
27019         provide the replacement.
27020         * modules/forkpty (Depends-on): Add openpty, login_tty.
27021         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
27022         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
27023         * doc/glibc-functions/forkpty.texi: More supported platforms.
27024         * config/srclist.txt: Add forkpty.c (commented).
27025
27026 2010-03-21  Bruno Haible  <bruno@clisp.org>
27027
27028         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
27029         (Makefile.am): Verify that PTY_LIB is defined.
27030
27031         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
27032
27033 2010-03-21  Bruno Haible  <bruno@clisp.org>
27034
27035         Tests for module 'login_tty'.
27036         * modules/login_tty-tests: New file.
27037         * tests/test-login_tty.c: New file.
27038
27039         New module 'login_tty'.
27040         * lib/login_tty.c: New file.
27041         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
27042         * modules/login_tty: New file.
27043         * doc/glibc-functions/login_tty.texi: Mention the new module.
27044
27045 2010-03-21  Bruno Haible  <bruno@clisp.org>
27046
27047         login_tty: Documentation.
27048         * doc/glibc-functions/login_tty.texi: New file.
27049         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
27050
27051 2010-03-21  Bruno Haible  <bruno@clisp.org>
27052
27053         pty: Consistent macro naming.
27054         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
27055         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
27056         * modules/pty (configure.ac): Update.
27057
27058 2010-03-21  Bruno Haible  <bruno@clisp.org>
27059
27060         Tests for openpty: Make stricter.
27061         * tests/test-openpty.c (main): Add test of canonical processing and
27062         erase.
27063         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
27064
27065         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
27066         * lib/openpty.c (openpty): New replacement function.
27067         * lib/pty.in.h: Include <termios.h>.
27068         (openpty): Update declaration. Add comments.
27069         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
27070         is not declared, arrange to provide the replacement. Check for _getpty
27071         and posix_openpt.
27072         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
27073         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
27074         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
27075         * modules/pty-tests (test_pty_c___LDADD): New variable.
27076         * doc/glibc-functions/openpty.texi: More supported platforms.
27077
27078 2010-03-21  Bruno Haible  <bruno@clisp.org>
27079
27080         setenv: Tweaks.
27081         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
27082         the test program.
27083         * doc/posix-functions/setenv.texi: Update platforms list.
27084
27085 2010-03-21  Bruno Haible  <bruno@clisp.org>
27086
27087         New module 'unlockpt'.
27088         * lib/unlockpt.c: New file, from glibc with modifications.
27089         * m4/unlockpt.m4: New file.
27090         * modules/unlockpt: New file.
27091         * lib/stdlib.in.h (unlockpt): New declaration.
27092         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
27093         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
27094         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
27095         HAVE_UNLOCKPT.
27096         * doc/posix-functions/unlockpt.texi: Mention the new module.
27097         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
27098         * config/srclist.txt: Add unlockpt.c (commented).
27099
27100 2010-03-21  Jim Meyering  <meyering@redhat.com>
27101
27102         maint.mk: prohibit inclusion of "intprops.h" without use
27103         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
27104
27105 2010-03-21  Bruno Haible  <bruno@clisp.org>
27106
27107         New module 'grantpt'.
27108         * lib/grantpt.c: New file, from glibc with modifications.
27109         * m4/grantpt.m4: New file.
27110         * modules/grantpt: New file.
27111         * lib/stdlib.in.h (grantpt): New declaration.
27112         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
27113         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
27114         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
27115         HAVE_GRANTPT.
27116         * doc/posix-functions/grantpt.texi: Mention the new module.
27117         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
27118         * config/srclist.txt: Add grantpt.c (commented).
27119
27120 2010-03-21  Bruno Haible  <bruno@clisp.org>
27121
27122         New module 'pt_chown'.
27123         * lib/pt_chown.c: New file, from glibc with modifications.
27124         * lib/pty-private.h: New file, from glibc with modifications.
27125         * modules/pt_chown: New file.
27126         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
27127
27128 2010-03-21  Bruno Haible  <bruno@clisp.org>
27129
27130         Tests for module 'ptsname'.
27131         * modules/ptsname-tests: New file.
27132         * tests/test-ptsname.c: New file.
27133
27134         New module 'ptsname'.
27135         * lib/ptsname.c: New file, from glibc with modifications.
27136         * m4/ptsname.m4: New file.
27137         * modules/ptsname: New file.
27138         * lib/stdlib.in.h (ptsname): New declaration.
27139         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
27140         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
27141         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
27142         HAVE_PTSNAME.
27143         * doc/posix-functions/ptsname.texi: Mention the new module.
27144         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
27145         * config/srclist.txt: Add ptsname.c (commented).
27146
27147 2010-03-21  Bruno Haible  <bruno@clisp.org>
27148
27149         Tests for module 'ttyname_r'.
27150         * modules/ttyname_r-tests: New file.
27151         * tests/test-ttyname_r.c: New file.
27152
27153         New module 'ttyname_r'.
27154         * lib/ttyname_r.c: New file.
27155         * m4/ttyname_r.m4: New file.
27156         * modules/ttyname_r: New file.
27157         * lib/unistd.in.h (ttyname_r): New declaration.
27158         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
27159         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
27160         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
27161         HAVE_TTYNAME_R.
27162         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
27163         * doc/posix-functions/ttyname_r.texi: Mention the new module.
27164
27165 2010-03-20  Bruno Haible  <bruno@clisp.org>
27166
27167         signal: Undefine macro definitions in C++ mode.
27168         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
27169         sigfillset): Undefine macro definitions from the system header in C++
27170         mode.
27171         Reported by John W. Eaton <jwe@gnu.org>.
27172
27173 2010-03-20  Bruno Haible  <bruno@clisp.org>
27174
27175         Ensure no #include statements inside extern "C" { ... }.
27176         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
27177         contain #include statements.
27178         * lib/time.in.h: Likewise.
27179
27180 2010-03-20  Bruno Haible  <bruno@clisp.org>
27181
27182         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
27183         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
27184         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
27185         Reported by John W. Eaton <jwe@gnu.org>.
27186
27187 2010-03-20  Bruno Haible  <bruno@clisp.org>
27188
27189         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
27190         Reported by Jim Meyering.
27191
27192 2010-03-20  Bruno Haible  <bruno@clisp.org>
27193
27194         pipe: Set errno upon failure.
27195         * lib/pipe.h: Specify that when -1 is returned, errno is set.
27196         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
27197         errno value in error message.
27198
27199 2010-03-20  Bruno Haible  <bruno@clisp.org>
27200             Jim Meyering  <meyering@redhat.com>
27201
27202         lchown: Avoid "unused variable" warning.
27203         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
27204
27205 2010-03-20  Bruno Haible  <bruno@clisp.org>
27206
27207         Work around unlink() bug on MacOS X 10.5.6.
27208         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
27209         attempting to unlink a parent directory.
27210         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
27211         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
27212         activate for the replacement function.
27213         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
27214
27215 2010-03-20  Bruno Haible  <bruno@clisp.org>
27216
27217         Fix link errors on Solaris 8.
27218         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
27219         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
27220
27221 2010-03-19  Jim Meyering  <meyering@redhat.com>
27222
27223         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
27224         The _LIBC implementation of build_range_exp correctly honors the
27225         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
27226         However, the non-_LIBC implementation would ignore that syntax-bit
27227         flag and return REG_ERANGE unconditionally.
27228         This change makes it honor that flag.
27229         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
27230         Make two pointer parameters "const".
27231         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
27232         (parse_bracket_exp): Update caller.
27233
27234         regex.m4: correct the reversed range endpoint ([b-a]) test
27235         * m4/regex.m4: When requiring that [b-a] evoke failure,
27236         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
27237         test pass once again for x86-based systems.
27238
27239 2010-03-19  Bruno Haible  <bruno@clisp.org>
27240
27241         scandir: Fix link error on Solaris 8.
27242         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
27243         macros.
27244
27245 2010-03-19  Bruno Haible  <bruno@clisp.org>
27246
27247         getusershell: Fix documentation.
27248         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
27249         module.
27250         * doc/glibc-functions/setusershell.texi: Likewise.
27251
27252         getusershell: Provide declaration, missing on Solaris 9.
27253         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
27254         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
27255         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
27256         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
27257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27258         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
27259         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
27260         HAVE_GETUSERSHELL.
27261         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
27262
27263 2010-03-19  Bruno Haible  <bruno@clisp.org>
27264
27265         wctype: Provide iswblank function.
27266         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
27267         exists and is fine.
27268         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
27269         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
27270         * tests/test-wctype.c (main): Re-enable the iswblank tests.
27271         * doc/posix-functions/iswblank.texi: Update.
27272
27273 2010-03-19  Bruno Haible  <bruno@clisp.org>
27274
27275         Tests of module 'pty' in C++ mode.
27276         * modules/pty-tests: New file.
27277         * tests/test-pty-c++.cc: New file.
27278         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
27279
27280 2010-03-19  Eric Blake  <eblake@redhat.com>
27281
27282         logb: fix documentation
27283         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
27284         1.5 declaration bug.
27285
27286         forkpty, openpty: prefer glibc's const-safe prototype
27287         * lib/forkpty.c (rpl_forkpty): New file.
27288         * lib/openpty.c (rpl_openpty): Likewise.
27289         * modules/forkpty (Files): Distribute it.
27290         * modules/openpty (Files): Likewise.
27291         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
27292         check...
27293         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
27294         replacement for for non-const BSD signature.
27295         * modules/pty (Makefile.am): Substitute witnesses.
27296         * lib/pty.in.h (forkpty, openpty): Declare replacements.
27297         * tests/test-forkpty.c: Update signature check.
27298         * tests/test-openpty.c: Likewise.
27299         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
27300         * doc/glibc-functions/openpty.texi (openpty): Likewise.
27301
27302         forkpty, openpty: split functions into new modules
27303         * modules/pty (Makefile.am): Substitute new witnesses.
27304         (Libraries): Move library detection...
27305         * modules/forkpty: ...into new module.
27306         * modules/openpty: Another new module.
27307         * modules/pty-tests: Rename and split...
27308         * modules/forkpty-tests: ...to this...
27309         * modules/openpty-tests: ...and this.
27310         * tests/test-pty.c: Rename and split...
27311         * tests/test-forkpty.c: ...to this...
27312         * tests/test-openpty.c: ...and this.
27313         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
27314         (gl_PTY): Split library searching...
27315         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
27316         (gl_FORKPTY, gl_OPENPTY): New macros.
27317         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
27318         * NEWS: Mention the split.
27319         * MODULES.html.sh (Misc): Document the modules.
27320         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
27321         * doc/glibc-functions/openpty.texi (openpty): Likewise.
27322
27323         pty: improve replacement header
27324         * lib/pty.in.h: New file.
27325         * modules/pty (Files): Ship it.
27326         (Makefile.am): Always build replacement.
27327         * m4/pty.m4: Rename...
27328         * m4/pty_h.m4: ...to this.
27329         (gl_PTY): Modernize setting of witness macros; update check of
27330         forkpty to take proper advantage of cache.
27331         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
27332
27333         getopt: avoid compiler warning
27334         * lib/getopt.c (attribute_hidden): Remove unused macro.
27335
27336 2010-03-18  Bruno Haible  <bruno@clisp.org>
27337
27338         Fix link errors on Solaris 8.
27339         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
27340         * modules/search-tests (test_search_c___LDADD): Likewise.
27341         * modules/signal-tests (test_signal_c___LDADD): Likewise.
27342         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
27343         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
27344         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
27345         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
27346         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
27347         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
27348
27349 2010-03-18  Bruno Haible  <bruno@clisp.org>
27350
27351         Fix bug introduced on 2010-03-14.
27352         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
27353         (gl_SPAWN_H): Require it.
27354         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
27355         Reported by Simon Josefsson.
27356
27357 2010-03-18  Bruno Haible  <bruno@clisp.org>
27358
27359         Fix typo introduced on 2009-12-31.
27360         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
27361         posix_spawn_file_actions_adddup2.
27362
27363 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
27364         and Eric Blake  <eblake@redhat.com>
27365
27366         test-vc-list-files-git: make more robust
27367         * tests/test-vc-list-files-git.sh: Unset problematic environment
27368         variables.  Chain commands together.
27369
27370 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
27371
27372         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
27373         `AC_CHECK_DECL' invocation.
27374
27375 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
27376
27377         * lib/inttostr.c (inttostr): Make sure the invocation of verify
27378         appears before executable statements. Suggested by Petr Sumbera
27379         <Petr.Sumbera@Sun.COM>.
27380
27381 2010-03-14  Bruno Haible  <bruno@clisp.org>
27382
27383         * tests/test-flock.c (test_exclusive): Comment out a test that causes
27384         portability problems. Instead use a simpler test.
27385         (main): Check that invalid arguments are rejected only on Linux.
27386
27387 2010-03-14  Bruno Haible  <bruno@clisp.org>
27388
27389         Fix bug introduced on 2009-12-31.
27390         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
27391         gl_PREREQ_SYS_H_WINSOCK2 always.
27392         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
27393         SYS_SOCKET_H variable.
27394         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
27395         Update comments.
27396         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
27397         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
27398         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27399         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
27400         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
27401
27402 2010-03-14  Bruno Haible  <bruno@clisp.org>
27403
27404         Fix values returned by sinl, cosl.
27405         * lib/trigl.h: Add specification comments.
27406         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
27407         that combines the values from the precomputed table with the values of
27408         the Chebyshev polynomials.
27409
27410 2010-03-14  Bruno Haible  <bruno@clisp.org>
27411
27412         Fix compilation error when modules 'posix_spawn[p]' are not used.
27413         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
27414         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
27415
27416 2010-03-14  Bruno Haible  <bruno@clisp.org>
27417
27418         Fix compilation error on mingw when module 'time_r' is not used.
27419         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
27420         is 1.
27421         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
27422         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
27423         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
27424         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
27425
27426 2010-03-14  Bruno Haible  <bruno@clisp.org>
27427
27428         Fix compilation error with Sun C.
27429         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
27430         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
27431         instead of GCC specific ULONG_LONG_MAX.
27432         * lib/xstrtoll.c: Likewise.
27433         * lib/xstrtoull.c: Likewise.
27434
27435 2010-03-13  Bruno Haible  <bruno@clisp.org>
27436
27437         Allow the user to disable C++ code and tests.
27438         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
27439         (gl_PROG_ANSI_CXX): Require it.
27440
27441 2010-03-13  Bruno Haible  <bruno@clisp.org>
27442
27443         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
27444         cases.
27445
27446 2010-03-13  Bruno Haible  <bruno@clisp.org>
27447
27448         Test that gnulib does not break the standard C++ headers.
27449         * tests/test-locale-c++2.cc: New file.
27450         * modules/locale-tests (Files): Add it.
27451         (Makefile.am): Compile it for test-locale-c++.
27452         * tests/test-math-c++2.cc: New file.
27453         * modules/math-tests (Files): Add it.
27454         (Makefile.am): Compile it for test-math-c++.
27455         * tests/test-signal-c++2.cc: New file.
27456         * modules/signal-tests (Files): Add it.
27457         (Makefile.am): Compile it for test-signal-c++.
27458         * tests/test-stdio-c++2.cc: New file.
27459         * modules/stdio-tests (Files): Add it.
27460         (Makefile.am): Compile it for test-stdio-c++.
27461         * tests/test-stdlib-c++2.cc: New file.
27462         * modules/stdlib-tests (Files): Add it.
27463         (Makefile.am): Compile it for test-stdlib-c++.
27464         * tests/test-string-c++2.cc: New file.
27465         * modules/string-tests (Files): Add it.
27466         (Makefile.am): Compile it for test-string-c++.
27467         * tests/test-time-c++2.cc: New file.
27468         * modules/time-tests (Files): Add it.
27469         (Makefile.am): Compile it for test-time-c++.
27470         Reported by John W. Eaton <jwe@gnu.org>.
27471
27472 2010-03-13  Bruno Haible  <bruno@clisp.org>
27473
27474         * gnulib-tool (func_usage): Clarify which options are available for
27475         --create-testdir and --create-megatestdir.
27476
27477 2010-03-13  Bruno Haible  <bruno@clisp.org>
27478
27479         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
27480         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
27481         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
27482         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
27483         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
27484         when appropriate.
27485         Reported by Jim Meyering.
27486
27487 2010-03-12  Simon Josefsson  <simon@josefsson.org>
27488
27489         * gnulib-tool (func_import): Explain origin of code.
27490
27491 2010-03-12  Bruno Haible  <bruno@clisp.org>
27492
27493         Fix problem with automake's definition of CXXLINK.
27494         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
27495         Reported by Simon Josefsson and Ludovic Courtès.
27496
27497 2010-03-12  Bruno Haible  <bruno@clisp.org>
27498
27499         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
27500         stable releases.
27501
27502 2010-03-11  Bruno Haible  <bruno@clisp.org>
27503
27504         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
27505         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
27506         whether the system provides one variant or multiple variants of the
27507         function.
27508         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
27509         C++ compilers.
27510         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
27511         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
27512         Reported by Jim Meyering.
27513
27514 2010-03-09  Simon Josefsson  <simon@josefsson.org>
27515
27516         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
27517
27518 2010-03-08  Bruno Haible  <bruno@clisp.org>
27519
27520         gnulib-tool: Add support for --libtool in --create-testdir.
27521         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
27522         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
27523
27524 2010-03-08  Eric Blake  <eblake@redhat.com>
27525
27526         gnulib-tool.texi: mention possibility of git submodule
27527         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
27528         submodules.
27529         * doc/.gitignore: Ignore another generated file.
27530
27531 2010-03-08  Karl Berry  <karl@gnu.org>
27532
27533         * doc/gnulib-tool.texi (VCS Issues): Mention third option
27534         of committing gnulib files while skipping others.
27535
27536 2010-03-07  Bruno Haible  <bruno@clisp.org>
27537
27538         Tests of module 'wctype' in C++ mode.
27539         * tests/test-wctype-c++.cc: New file.
27540         * modules/wctype-tests (Files): Add it and tests/signature.h.
27541         (Depends-on): Add ansi-c++-opt.
27542         (Makefile.am): Arrange to compile and run test-wctype-c++.
27543
27544         Tests of module 'wchar' in C++ mode.
27545         * tests/test-wchar-c++.cc: New file.
27546         * modules/wchar-tests (Files): Add it and tests/signature.h.
27547         (Depends-on): Add ansi-c++-opt.
27548         (Makefile.am): Arrange to compile and run test-wchar-c++.
27549         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
27550         gl_MODULE_INDICATOR.
27551
27552         Tests of module 'unistd' in C++ mode.
27553         * tests/test-unistd-c++.cc: New file.
27554         * modules/unistd-tests (Files): Add it and tests/signature.h.
27555         (Depends-on): Add ansi-c++-opt.
27556         (Makefile.am): Arrange to compile and run test-unistd-c++.
27557         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
27558         gl_MODULE_INDICATOR.
27559
27560         Tests of module 'time' in C++ mode.
27561         * tests/test-time-c++.cc: New file.
27562         * modules/time-tests (Files): Add it and tests/signature.h.
27563         (Depends-on): Add ansi-c++-opt.
27564         (Makefile.am): Arrange to compile and run test-time-c++.
27565         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
27566
27567         Tests of module 'sys_time' in C++ mode.
27568         * tests/test-sys_time-c++.cc: New file.
27569         * modules/sys_time-tests (Files): Add it and tests/signature.h.
27570         (Depends-on): Add ansi-c++-opt.
27571         (Makefile.am): Arrange to compile and run test-sys_time-c++.
27572         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
27573         gl_MODULE_INDICATOR.
27574
27575         Tests of module 'sys_stat' in C++ mode.
27576         * tests/test-sys_stat-c++.cc: New file.
27577         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
27578         (Depends-on): Add ansi-c++-opt.
27579         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
27580         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
27581         gl_MODULE_INDICATOR.
27582
27583         Tests of module 'sys_socket' in C++ mode.
27584         * tests/test-sys_socket-c++.cc: New file.
27585         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
27586         (Depends-on): Add ansi-c++-opt.
27587         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
27588         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
27589         gl_MODULE_INDICATOR.
27590
27591         Tests of module 'sys_select' in C++ mode.
27592         * tests/test-sys_select-c++.cc: New file.
27593         * modules/sys_select-tests (Files): Add it and tests/signature.h.
27594         (Depends-on): Add ansi-c++-opt.
27595         (Makefile.am): Arrange to compile and run test-sys_select-c++.
27596         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
27597         gl_MODULE_INDICATOR.
27598
27599         Tests of module 'sys_ioctl' in C++ mode.
27600         * tests/test-sys_ioctl-c++.cc: New file.
27601         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
27602         (Depends-on): Add ansi-c++-opt.
27603         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
27604         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
27605         gl_MODULE_INDICATOR.
27606
27607         Tests of module 'string' in C++ mode.
27608         * tests/test-string-c++.cc: New file.
27609         * modules/string-tests (Files): Add it and tests/signature.h.
27610         (Depends-on): Add ansi-c++-opt.
27611         (Makefile.am): Arrange to compile and run test-string-c++.
27612         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
27613         gl_MODULE_INDICATOR.
27614
27615         Tests of module 'stdlib' in C++ mode.
27616         * tests/test-stdlib-c++.cc: New file.
27617         * modules/stdlib-tests (Files): Add it and tests/signature.h.
27618         (Depends-on): Add ansi-c++-opt.
27619         (Makefile.am): Arrange to compile and run test-stdlib-c++.
27620         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
27621         gl_MODULE_INDICATOR.
27622
27623         Tests of module 'stdio' in C++ mode.
27624         * tests/test-stdio-c++.cc: New file.
27625         * modules/stdio-tests (Files): Add it and tests/signature.h.
27626         (Depends-on): Add ansi-c++-opt.
27627         (Makefile.am): Arrange to compile and run test-stdio-c++.
27628         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
27629         gl_MODULE_INDICATOR.
27630
27631         Tests of module 'spawn' in C++ mode.
27632         * tests/test-spawn-c++.cc: New file.
27633         * modules/spawn-tests (Files): Add it and tests/signature.h.
27634         (Depends-on): Add ansi-c++-opt.
27635         (Makefile.am): Arrange to compile and run test-spawn-c++.
27636         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
27637         gl_MODULE_INDICATOR.
27638
27639         Tests of module 'signal' in C++ mode.
27640         * tests/test-signal-c++.cc: New file.
27641         * modules/signal-tests (Files): Add it and tests/signature.h.
27642         (Depends-on): Add ansi-c++-opt.
27643         (Makefile.am): Arrange to compile and run test-signal-c++.
27644         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
27645         gl_MODULE_INDICATOR.
27646
27647         Tests of module 'search' in C++ mode.
27648         * tests/test-search-c++.cc: New file.
27649         * modules/search-tests (Files): Add it and tests/signature.h.
27650         (Depends-on): Add ansi-c++-opt.
27651         (Makefile.am): Arrange to compile and run test-search-c++.
27652         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
27653         gl_MODULE_INDICATOR.
27654
27655         Tests of module 'math' in C++ mode.
27656         * tests/test-math-c++.cc: New file.
27657         * modules/math-tests (Files): Add it and tests/signature.h.
27658         (Depends-on): Add ansi-c++-opt.
27659         (Makefile.am): Arrange to compile and run test-math-c++.
27660         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
27661
27662         Tests of module 'locale' in C++ mode.
27663         * tests/test-locale-c++.cc: New file.
27664         * modules/locale-tests (Files): Add it and tests/signature.h.
27665         (Depends-on): Add ansi-c++-opt.
27666         (Makefile.am): Arrange to compile and run test-locale-c++.
27667         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
27668         gl_MODULE_INDICATOR.
27669
27670         Tests of module 'langinfo' in C++ mode.
27671         * tests/test-langinfo-c++.cc: New file.
27672         * modules/langinfo-tests (Files): Add it and tests/signature.h.
27673         (Depends-on): Add ansi-c++-opt.
27674         (Makefile.am): Arrange to compile and run test-langinfo-c++.
27675         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
27676         gl_MODULE_INDICATOR.
27677
27678         Tests of module 'iconv-h' in C++ mode.
27679         * tests/test-iconv-h-c++.cc: New file.
27680         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
27681         (Depends-on): Add ansi-c++-opt.
27682         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
27683
27684         Tests of module 'glob' in C++ mode.
27685         * tests/test-glob-c++.cc: New file.
27686         * modules/glob-tests (Files): Add it.
27687         (Depends-on): Add ansi-c++-opt.
27688         (Makefile.am): Arrange to compile and run test-glob-c++.
27689
27690         Tests of module 'fcntl-h' in C++ mode.
27691         * tests/test-fcntl-h-c++.cc: New file.
27692         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
27693         (Depends-on): Add ansi-c++-opt.
27694         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
27695         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
27696         gl_MODULE_INDICATOR.
27697
27698         Tests of module 'dirent' in C++ mode.
27699         * tests/test-dirent-c++.cc: New file.
27700         * modules/dirent-tests (Files): Add it and tests/signature.h.
27701         (Depends-on): Add ansi-c++-opt.
27702         (Makefile.am): Arrange to compile and run test-dirent-c++.
27703         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
27704         gl_MODULE_INDICATOR.
27705
27706         New module 'ansi-c++-opt'.
27707         * modules/ansi-c++-opt: New file.
27708         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
27709
27710         Document C++ namespace mode.
27711         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
27712
27713         wctype: Avoid #define replacements in C++ mode.
27714         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
27715         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
27716         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
27717         In C++, define a namespaced alias symbol.
27718         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
27719         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
27720         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
27721         rule.
27722
27723         wchar: Avoid #define replacements in C++ mode.
27724         * lib/wchar.in.h: Include c++defs.h.
27725         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
27726         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
27727         symbol.
27728         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
27729         * modules/wchar (Depends-on): Add c++defs.
27730         (Makefile.am): Update wchar.h rule.
27731
27732         unistd: Avoid #define replacements in C++ mode.
27733         * lib/unistd.in.h: Include c++defs.h.
27734         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
27735         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
27736         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
27737         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
27738         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
27739         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
27740         symbol.
27741         (environ): Update.
27742         * modules/unistd (Depends-on): Add c++defs.
27743         (Makefile.am): Update unistd.h rule.
27744
27745         time: Avoid #define replacements in C++ mode.
27746         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
27747         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
27748         define a namespaced alias symbol.
27749         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
27750         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
27751         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
27752         * modules/time (Depends-on): Add c++defs, warn-on-use.
27753         (Makefile.am): Update time.h rule.
27754         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
27755         * modules/nanosleep (configure.ac): Likewise.
27756         * modules/strptime (configure.ac): Likewise.
27757         * modules/timegm (configure.ac): Likewise.
27758
27759         sys_time: Avoid #define replacements in C++ mode.
27760         * lib/sys_time.in.h: Include c++defs.h.
27761         (gettimeofday): In C++, define a namespaced alias symbol.
27762         * modules/sys_time (Depends-on): Add c++defs.
27763         (Makefile.am): Update sys/time.h rule.
27764
27765         sys_stat: Avoid #define replacements in C++ mode.
27766         * lib/sys_stat.in.h: Include c++defs.h.
27767         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
27768         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
27769         namespaced alias symbol.
27770         In C++, define a namespaced alias symbol.
27771         * modules/sys_stat (Depends-on): Add c++defs.
27772         (Makefile.am): Update sys/stat.h rule.
27773
27774         sys_socket: Avoid #define replacements in C++ mode.
27775         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
27776         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
27777         definitions also when the system has a <sys/socket.h>.
27778         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
27779         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
27780         In C++, define a namespaced alias symbol.
27781         * modules/sys_socket (Depends-on): Add c++defs.
27782         (Makefile.am): Update sys/socket.h rule.
27783
27784         sys_select: Avoid #define replacements in C++ mode.
27785         * lib/sys_select.in.h: Include c++defs.h. Enable the function
27786         definitions also when the system has a <sys/select.h>.
27787         (select): In C++, define a namespaced alias symbol.
27788         * modules/sys_select (Depends-on): Add c++defs.
27789         (Makefile.am): Update sys/select.h rule.
27790
27791         sys_ioctl: Avoid #define replacements in C++ mode.
27792         * lib/sys_ioctl.in.h: Include c++defs.h.
27793         (ioctl): In C++, define a namespaced alias symbol.
27794         * modules/sys_ioctl (Depends-on): Add c++defs.
27795         (Makefile.am): Update sys/ioctl.h rule.
27796
27797         string: Avoid #define replacements in C++ mode.
27798         * lib/string.in.h: Include c++defs.h.
27799         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
27800         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
27801         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
27802         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
27803         strsignal, strverscmp): In C++, define a namespaced alias symbol.
27804         * modules/string (Depends-on): Add c++defs.
27805         (Makefile.am): Update string.h rule.
27806
27807         stdlib: Avoid #define replacements in C++ mode.
27808         * lib/stdlib.in.h: Include c++defs.h.
27809         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
27810         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
27811         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
27812         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
27813         symbol.
27814         * modules/stdlib (Depends-on): Add c++defs.
27815         (Makefile.am): Update stdlib.h rule.
27816
27817         stdio: Avoid #define replacements in C++ mode.
27818         * lib/stdio.in.h: Include c++defs.h.
27819         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
27820         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
27821         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
27822         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
27823         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
27824         namespaced alias symbol.
27825         * modules/stdio (Depends-on): Add c++defs.
27826         (Makefile.am): Update stdio.h rule.
27827
27828         spawn: Avoid #define replacements in C++ mode.
27829         * lib/spawn.in.h: Include c++defs.h.
27830         (posix_spawn, posix_spawnp, posix_spawnattr_init,
27831         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
27832         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
27833         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
27834         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
27835         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
27836         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
27837         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
27838         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
27839         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
27840         In C++, define a namespaced alias symbol.
27841         * modules/spawn (Depends-on): Add c++defs.
27842         (Makefile.am): Update spawn.h rule.
27843
27844         signal: Avoid #define replacements in C++ mode.
27845         * lib/signal.in.h: Include c++defs.h.
27846         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
27847         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
27848         namespaced alias symbol.
27849         * modules/signal (Depends-on): Add c++defs.
27850         (Makefile.am): Update signal.h rule.
27851
27852         search: Avoid #define replacements in C++ mode.
27853         * lib/search.in.h: Include c++defs.h.
27854         (_gl_search_compar_fn, _gl_search_action_fn): New types.
27855         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
27856         symbol.
27857         * modules/search (Depends-on): Add c++defs.
27858         (Makefile.am): Update search.h rule.
27859
27860         math: Avoid #define replacements in C++ mode.
27861         * lib/math.in.h: Include c++defs.h.
27862         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
27863         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
27864         trunc, truncl): In C++, define a namespaced alias symbol.
27865         * modules/math (Depends-on): Add c++defs.
27866         (Makefile.am): Update math.h rule.
27867
27868         locale: Avoid #define replacements in C++ mode.
27869         * lib/locale.in.h: Include c++defs.h.
27870         (duplocale): In C++, define a namespaced alias symbol.
27871         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
27872         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
27873         * modules/locale (Depends-on): Add c++defs.
27874         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
27875
27876         langinfo: Avoid #define replacements in C++ mode.
27877         * lib/langinfo.in.h: Include c++defs.h.
27878         (nl_langinfo): In C++, define a namespaced alias symbol.
27879         * modules/langinfo (Depends-on): Add c++defs.
27880         (Makefile.am): Update langinfo.h rule.
27881
27882         iconv-h: Avoid #define replacements in C++ mode.
27883         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
27884         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
27885         symbol.
27886         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
27887         whenever iconv is present.
27888         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
27889         (Makefile.am): Update iconv.h rule.
27890
27891         glob: Avoid #define replacements in C++ mode.
27892         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
27893         (_gl_glob_errfunc_fn): New type.
27894         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
27895         symbol.
27896         * modules/glob (Depends-on): Add c++defs, warn-on-use.
27897         (Makefile.am): Update glob.h rule.
27898
27899         fcntl-h: Avoid #define replacements in C++ mode.
27900         * lib/fcntl.in.h: Include c++defs.h.
27901         (fcntl, open, openat): In C++, define a namespaced alias symbol.
27902         * modules/fcntl-h (Depends-on): Add c++defs.
27903         (Makefile.am): Update fcntl.h rule.
27904
27905         dirent: Avoid #define replacements in C++ mode.
27906         * lib/dirent.in.h: Include c++defs.h.
27907         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
27908         namespaced alias symbol.
27909         (dirfd): Update declaration.
27910         * modules/dirent (Depends-on): Add c++defs.
27911         (Makefile.am): Update dirent.h rule.
27912
27913         ctype: Make it usable in C++ code.
27914         * lib/ctype.in.h: Include c++defs.h.
27915         (isblank): Declare as extern "C".
27916         * modules/ctype (Depends-on): Add c++defs.
27917         (Makefile.am): Update ctype.h rule.
27918
27919         New module 'c++defs'.
27920         * modules/c++defs: New file.
27921         * build-aux/c++defs.h: New file.
27922         Reported by John W. Eaton <jwe@gnu.org>.
27923
27924 2010-03-07  Bruno Haible  <bruno@clisp.org>
27925
27926         logb: Provide missing declaration for Cygwin.
27927         * lib/math.in.h (logb): New declaration.
27928         * m4/logb.m4: New file.
27929         * modules/logb (Files): Add m4/logb.m4.
27930         (Depends-on): Add math.
27931         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
27932         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
27933         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
27934         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
27935         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
27936
27937 2010-03-07  Bruno Haible  <bruno@clisp.org>
27938
27939         Fix test-cond link error.
27940         * tests/test-cond.c: Include <stdio.h>.
27941
27942 2010-03-07  Bruno Haible  <bruno@clisp.org>
27943
27944         Fix test-dirent-safer link error.
27945         * modules/dirent-safer-tests (Makefile.am): Define
27946         test_dirent_safer_LDADD.
27947
27948 2010-03-07  Bruno Haible  <bruno@clisp.org>
27949
27950         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
27951         among default module list.
27952
27953 2010-03-07  Bruno Haible  <bruno@clisp.org>
27954
27955         Fix link error on platforms with GNU libiconv.
27956         * modules/unistr/u8-strcoll-tests (Makefile): Define
27957         test_u8_strcoll_LDADD.
27958         * modules/unistr/u16-strcoll-tests (Makefile): Define
27959         test_u16_strcoll_LDADD.
27960         * modules/unistr/u32-strcoll-tests (Makefile): Define
27961         test_u32_strcoll_LDADD.
27962
27963 2010-03-07  Bruno Haible  <bruno@clisp.org>
27964
27965         Use POSIX declarations for socket functions.
27966         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
27967         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
27968         rpl_sendto): Change declaration to match POSIX.
27969         * lib/connect.c (rpl_connect): Likewise.
27970         * lib/accept.c (rpl_accept): Likewise.
27971         * lib/bind.c (rpl_bind): Likewise.
27972         * lib/getpeername.c (rpl_getpeername): Likewise.
27973         * lib/getsockname.c (rpl_getsockname): Likewise.
27974         * lib/recv.c (rpl_recv): Likewise.
27975         * lib/send.c (rpl_send): Likewise.
27976         * lib/recvfrom.c (rpl_recvfrom): Likewise.
27977         * lib/sendto.c (rpl_sendto): Likewise.
27978
27979 2010-03-06  Bruno Haible  <bruno@clisp.org>
27980
27981         Clarify access, euidaccess, faccessat.
27982         * doc/posix-functions/faccessat.texi: Mention security problem under
27983         "Other problems", not "Portability problems".
27984         * doc/posix-functions/access.texi: Likewise. Mention a related security
27985         problem.
27986         * doc/glibc-functions/euidaccess.texi: Mention security problems.
27987         * lib/euidaccess.c: Add comments about platforms.
27988         * lib/unistd.in.h (access, euidaccess): Add warnings.
27989
27990 2010-03-07  Bruno Haible  <bruno@clisp.org>
27991
27992         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
27993         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
27994         (POSIX_SPAWN_SETSCHEDULER): Likewise.
27995         (POSIX_SPAWN_USEVFORK): Define in a way that works when
27996         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
27997         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
27998         declare when POSIX_SPAWN_SETSCHEDULER is zero.
27999         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
28000         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
28001         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
28002         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
28003         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
28004         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
28005         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
28006         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
28007         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
28008         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
28009         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
28010         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
28011         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
28012         Likewise.
28013         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
28014         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
28015         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
28016         Likewise.
28017         * tests/test-spawn.c (main): Make it work when
28018         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
28019
28020 2010-03-07  Bruno Haible  <bruno@clisp.org>
28021
28022         Fix incorrect Makefile.am generation in German locale.
28023         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28024         Execute sed command with character range in C locale.
28025
28026 2010-03-06  Bruno Haible  <bruno@clisp.org>
28027
28028         Tests for module 'iconv-h'.
28029         * modules/iconv-h-tests: New file.
28030         * tests/test-iconv-h.c: New file.
28031
28032         New module 'iconv-h'.
28033         * modules/iconv-h: New file.
28034         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
28035         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
28036         (configure.ac): Remove gl_ICONV_H.
28037         (Makefile.am): Remove rule for iconv.h.
28038
28039 2010-03-06  Bruno Haible  <bruno@clisp.org>
28040
28041         More consistent naming of *.m4 files.
28042         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
28043         * modules/wctype (Files): Update.
28044
28045         More consistent naming of *.m4 files.
28046         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
28047         * modules/wchar (Files): Update.
28048
28049 2010-03-06  Jim Meyering  <meyering@redhat.com>
28050
28051         euidaccess: relax license to LGPLv2+
28052         * modules/euidaccess (License): Relax to LGPLv2+.
28053
28054 2010-03-06  Bruno Haible  <bruno@clisp.org>
28055
28056         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
28057         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
28058         (Makefile.am): Augment lib_SOURCES instead.
28059
28060 2010-03-04  Jim Meyering  <meyering@redhat.com>
28061
28062         utime: remove obsolete module
28063         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
28064         unnecessary for years, and has been marked as obsolete for 10 months.
28065         * modules/utime: Remove file.
28066         * lib/utime.c: Remove file.
28067         * m4/utime.m4: Remove file.
28068         * m4/utimes-null.m4: Remove file.
28069         * doc/posix-functions/utime.texi (utime): Remove reference to
28070         the module.  Move the sole "fixed by gnulib" item into the
28071         "problems not fixed by Gnulib" list.
28072         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
28073
28074 2010-03-05  Simon Josefsson  <simon@josefsson.org>
28075
28076         * modules/exit (License): Relax license to LGPLv2+.
28077         (Status): Mark as obsolete.
28078         * NEWS: Mention deprecated 'exit' module.
28079         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
28080         of now obsolete 'exit'.
28081
28082 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28083
28084         fts-lgpl: remove unused module
28085         * modules/fts-lgpl: Remove.
28086         * MODULES.html.sh (func_all_modules): Adjust.
28087         * check-module (find_included_lib_files): Adjust.
28088         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
28089
28090 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
28091
28092         copy-acl: enhance Solaris ACL error handling
28093         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
28094         * lib/set-mode-acl.c (qset_acl): Likewise.
28095
28096 2010-03-02  Bruno Haible  <bruno@clisp.org>
28097
28098         spawn: Don't override the system defined values on FreeBSD 8.
28099         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
28100         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
28101         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
28102         if HAVE_POSIX_SPAWN is 1.
28103         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
28104
28105 2010-03-01  Bruno Haible  <bruno@clisp.org>
28106
28107         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
28108         regarding Automake.
28109
28110 2010-02-25  Bruno Haible  <bruno@clisp.org>
28111
28112         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
28113         * gnulib-tool: Define 'echo' as a function only before the ksh alias
28114         setting, not afterwards.
28115         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
28116
28117 2010-02-24  Eric Blake  <eblake@redhat.com>
28118
28119         bootstrap, git-version-gen: use timestamp
28120         * build-aux/git-version-gen (scriptversion): Force UTC.
28121         * build-aux/bootstrap (scriptversion): New variable.
28122
28123         bootstrap: allow older git
28124         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
28125         older than 1.6.4.  Requested by the libvirt project.
28126
28127 2010-02-23  Eric Blake  <eblake@redhat.com>
28128
28129         warn-on-use: work with old autoconf
28130         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
28131         AS_VAR semantics of autoconf 2.60.
28132         Reported by Bruno Haible.
28133
28134         bootstrap: improve some comments
28135         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
28136         clarification comments.
28137
28138         gettimeofday: provide correct function
28139         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
28140         when replacement is declared, otherwise provide gettimeofday.
28141         Reported by Michael Goffioul.
28142
28143 2010-02-23  Jim Meyering  <meyering@redhat.com>
28144
28145         lib-ignore: relax license to "unlimited", not LGPLv2+
28146         * modules/lib-ignore (License): Relax to "unlimited".
28147
28148 2010-02-23  Jim Meyering  <meyering@redhat.com>
28149
28150         lib-ignore: relax license to LGPLv2+
28151         * modules/lib-ignore (License): Relax to LGPLv2+.
28152
28153 2010-02-22  Eric Blake  <eblake@redhat.com>
28154
28155         lseek: avoid bash 3.2 broken pipe bug
28156         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
28157         warning from bash 3.2.
28158         Reported by Ben Pfaff, with analysis from Bruno Haible.
28159
28160         bootstrap: support non-FSF copyright holder
28161         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
28162         bootstrap.conf override of COPYRIGHT_HOLDER.
28163         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
28164
28165         bootstrap: interoperate with gettext 0.14.1
28166         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
28167
28168         bootstrap: allow for alternate submodule location
28169         * build-aux/bootstrap (gnulib_path): New variable; use instead of
28170         hardcoding submodule location.
28171         (gnulib_mk): Allow direct use of Makefile.am.
28172
28173         bootstrap: use GNULIB_SRCDIR to reduce disk usage
28174         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
28175         rather than reconfiguring where the submodule points.
28176
28177         gettimeofday: restore support for platforms that lack function
28178         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
28179         replacement if function is missing.
28180         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
28181         * modules/sys_time (Makefile.am): Substitute it.
28182         * lib/sys_time.in.h (gettimeofday): Check it.
28183         Reported by Michael Goffioul.
28184
28185 2010-02-21  Bruno Haible  <bruno@clisp.org>
28186
28187         * lib/stdio.in.h (obstack_printf): Fix typo.
28188
28189 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
28190
28191         vc-list-files: use bzr ls's -R option
28192         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
28193         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
28194
28195 2010-02-21  Jim Meyering  <meyering@redhat.com>
28196
28197         init.sh: fix EXEEXT shims to work also for names like test-prog
28198         * tests/init.sh: Re-exec a better shell, when needed.
28199         If the current shell lacks support for posix $(...), an init.sh-using
28200         test will now try to find a shell that supports that.  If EXEEXT is
28201         nonempty, we also require support for hyphen-in-alias-name and shell
28202         substitutions like ${var#glob}.  Failure to find such a shell results
28203         in a skipped test.
28204
28205 2010-02-21  Bruno Haible  <bruno@clisp.org>
28206
28207         Really work around around "broken pipe" error message from bash 3.2.
28208         * gnulib-tool (func_reset_sigpipe): Remove function.
28209         (echo): In bash 3.2, define to a function that uses printf.
28210         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
28211
28212 2010-02-20  Bruno Haible  <bruno@clisp.org>
28213
28214         Restore support for automake 1.9.6 with autoconf 2.61.
28215         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
28216         Reported by James Youngman <jay@gnu.org>.
28217
28218 2010-02-20  Bruno Haible  <bruno@clisp.org>
28219
28220         Improve *printf warning condition.
28221         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
28222         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
28223         and the function is overridden due to SIGPIPE emulation.
28224
28225 2010-02-20  Bruno Haible  <bruno@clisp.org>
28226
28227         * lib/stdio.in.h: Tweak comments.
28228
28229 2010-02-19  Bruno Haible  <bruno@clisp.org>
28230
28231         Make it easier to find modules. New gnulib-tool option '--find'.
28232         * gnulib-tool: New option --find.
28233         (func_usage): Document it.
28234         (func_sanitize_modulelist): New function, extracted from
28235         func_all_modules.
28236         (func_all_modules): Invoke it.
28237         * doc/gnulib-tool.texi (Which modules?): New node.
28238
28239 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
28240
28241         * lib/sys_select.in.h: Provide select replacement even if
28242         sys/select.h exists on a system, for Interix.
28243
28244 2010-02-18  Jim Meyering  <meyering@redhat.com>
28245
28246         init.sh: don't use $(...) just yet
28247         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
28248         to accommodate e.g., Solaris' /bin/sh.
28249
28250 2010-02-17  Bruno Haible  <bruno@clisp.org>
28251
28252         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
28253         Reported by Ludovic Courtès <ludo@gnu.org>.
28254
28255 2010-02-16  Simon Josefsson  <simon@josefsson.org>
28256
28257         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
28258         linking with -lintl.
28259
28260 2010-02-17  Simon Josefsson  <simon@josefsson.org>
28261
28262         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
28263         if not provided by the system's netdb.h.  Reported by
28264         ludo@gnu.org (Ludovic Courtès).
28265
28266 2010-02-15  Jim Meyering  <meyering@redhat.com>
28267
28268         init.sh: improve portability and efficiency
28269         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
28270         "dummy" in a for loop.
28271         Use '!', not '^' to select the complement of a character set used
28272         in a "case" statement.
28273         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
28274         Suggestions from Eric Blake.
28275
28276         init.sh: automatically accommodate programs with the .exe suffix
28277         Automatically arrange for an invocation of "prog" to execute the
28278         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
28279         may use the simpler "prog", yet still work when built on a system
28280         that requires specifying the added suffix.
28281         Do this by constructing a function named "prog" that invokes
28282         "prog.exe" for each .exe file in selected directories.
28283         * tests/init.sh (find_exe_basenames_): New function.
28284         (create_exe_shim_functions_): New function.
28285         (path_prepend_): Use it.
28286
28287         maint.mk: mark syntax-check sc_*.m rules as .PHONY
28288         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
28289         "make -t syntax-check" doesn't create a ton of sc_*.m files.
28290
28291 2010-02-14  Jim Meyering  <meyering@redhat.com>
28292
28293         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
28294         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
28295         (sc_prohibit_hash_pjw_without_use): New rule.
28296
28297         maint.mk: allow the default upload destination dir to be overridden
28298         * top/maint.mk (upload_dest_dir_): Define with a default that
28299         preserves the status quo.
28300         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
28301         Reported by Peter Simons.
28302
28303         maint.mk: prohibit inclusion of "hash.h" without_use
28304         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
28305
28306 2010-02-10  Jim Meyering  <meyering@redhat.com>
28307
28308         maint.mk: prohibit inclusion of "ignore-value.h" without_use
28309         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
28310
28311 2010-02-09  Eric Blake  <ebb9@byu.net>
28312         and Bruno Haible  <bruno@clisp.org>
28313
28314         obstack-printf-posix: ensure declaration
28315         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
28316         extracted from gl_FUNC_OBSTACK_PRINTF.
28317         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
28318         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
28319         Likewise.
28320         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
28321         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
28322         0.
28323
28324 2010-02-08  Bruno Haible  <bruno@clisp.org>
28325
28326         gnulib-tool: Fix typo in 2010-02-07 commit.
28327         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
28328         Reported by Eric Blake.
28329
28330 2010-02-07  Bruno Haible  <bruno@clisp.org>
28331
28332         gnulib-tool: Fix up caching patches.
28333         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
28334         option --no-cache. Use associative arrays when supported by the shell.
28335         (sed_comments): New variable.
28336         (modcache): Renamed from do_cache.
28337         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
28338         abbreviate unnecessarily.
28339         (have_associative): New variable.
28340         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
28341         way also for ksh and zsh.
28342         (func_init_sed_convert_to_cache_statements): New function, extracted
28343         from func_cache_lookup_module. Add support for associative arrays.
28344         Don't set the c_MODULE_cached variable here. Ignore all lines before
28345         the first field header. Remove only the final newline, not all trailing
28346         newlines. Support empty fields correctly. Limit the use of 'eval' to
28347         assignments.
28348         (func_get_description, func_get_status, func_get_notice,
28349         func_get_applicability, func_get_filelist, func_get_dependencies,
28350         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
28351         func_get_automake_snippet, func_get_include_directive,
28352         func_get_link_directive, func_get_license, func_get_maintainer):
28353         Update documentation. List the unoptimized code first. Add support for
28354         associative arrays. Limit the use of 'eval' to assignments.
28355         (func_get_applicability): Undo stylistic pessimisations.
28356         (func_get_automake_snippet, func_get_include_directive): Reduce code
28357         duplication.
28358         (func_modules_transitive_closure, func_modules_add_dummy,
28359         func_modules_notice, func_modules_to_filelist, func_add_file,
28360         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
28361         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
28362         func_create_testdir, func_create_megatestdir): Update documentation.
28363
28364 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28365
28366         * gnulib-tool (func_cache_lookup_module): Store the module name
28367         belonging to the cache variable; error out if two different
28368         module names map to the same cache variable name.
28369
28370 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28371
28372         gnulib-tool: Make caching optional.
28373         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
28374         Update matching short versions of --no-changelog.
28375         (func_usage): Update.
28376         (sed_extract_cache_prog): Renamed from ...
28377         (sed_extract_prog): ... this; revert to old extraction script.
28378         (func_get_description, func_get_status)
28379         (func_get_notice, func_get_applicability, func_get_filelist)
28380         (func_get_dependencies, func_get_autoconf_early_snippet)
28381         (func_get_autoconf_snippet, func_get_automake_snippet)
28382         (func_get_include_directive, func_get_link_directive)
28383         (func_get_license, func_get_maintainer): If $do_cache is false,
28384         use old, non-caching extraction scripts.
28385         Suggestion by Bruno Haible.
28386
28387 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28388
28389         gnulib-tool: cache module metainformation.
28390         * gnulib-tool (sed_extract_prog): Match newline before each
28391         header, and rewrite header to a shell variable suffix.
28392         (func_cache_var, func_cache_lookup_module): New functions,
28393         to turn a module name into a cache variable prefix, and to
28394         look up and cache module metainformation.
28395         (func_get_description, func_get_status)
28396         (func_get_notice, func_get_applicability, func_get_filelist)
28397         (func_get_dependencies, func_get_autoconf_early_snippet)
28398         (func_get_autoconf_snippet, func_get_automake_snippet)
28399         (func_get_include_directive, func_get_link_directive)
28400         (func_get_license, func_get_maintainer): Use
28401         func_cache_lookup_module.
28402
28403 2010-02-07  Bruno Haible  <bruno@clisp.org>
28404
28405         fnctl: Fix missing dependency.
28406         * modules/fcntl (Depends-on): Add getdtablesize.
28407         Reported by John W. Eaton <jwe@gnu.org>.
28408
28409 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
28410
28411         Argp: fix recognition of short alias options.
28412
28413         * lib/argp-parse.c (convert_options): Fix improper use of
28414         `|' between character values.
28415         * tests/test-argp.c (group1_option): New alias option
28416         --read (-r).
28417         (group1_parser): Special handling for 'r'.
28418         (test15): New test case.
28419         (test_fun): Add test15.
28420         * tests/test-argp-2.sh: Update expected --help and --usage
28421         outputs.
28422
28423 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
28424
28425         * tests/test-argp.c: Fix indentation.
28426
28427 2010-02-04  Eric Blake  <ebb9@byu.net>
28428
28429         gettimeofday: expose type of second argument
28430         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
28431         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
28432         * tests/test-gettimeofday.c: Use it to silence warning.
28433         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
28434         the issue.
28435
28436 2010-02-03  Jim Meyering  <meyering@redhat.com>
28437
28438         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
28439         * lib/regcomp.c (TYPE_SIGNED): Define.
28440         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
28441
28442         regcomp.c: avoid a new -Wshadow warning
28443         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
28444
28445 2010-02-01  Jim Meyering  <meyering@redhat.com>
28446
28447         removing useless parentheses in cpp #define directives
28448         For motivation, see commit c0221df4, "define STREQ(a,b)
28449         consistently, removing useless parentheses"
28450         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
28451         * lib/mountlist.c (MNT_IGNORE): Likewise.
28452         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
28453
28454 2010-02-01  Eric Blake  <ebb9@byu.net>
28455
28456         sys_time: use link-warning
28457         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
28458         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
28459         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
28460         * modules/sys_time (Depends-on): Add warn-on-use.
28461         (Makefile.am): Always build replacement.
28462         (configure.ac): Update substitutions.
28463         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
28464         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
28465         bother with SYS_TIME_H.
28466         * modules/gettimeofday (configure.ac): Declare indicator.
28467         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
28468         in use.
28469
28470         closein-tests: silence compiler warning
28471         * tests/test-closein.c (main): Ignore fread result.
28472         * modules/closein-tests (Depends-on): Add ignore-value.
28473
28474         tests: silence warning about system return
28475         * tests/test-areadlink-with-size.c (main): Ignore system result.
28476         * tests/test-areadlink.c (main): Likewise.
28477         * tests/test-areadlinkat-with-size.c (main): Likewise.
28478         * tests/test-areadlinkat.c (main): Likewise.
28479         * tests/test-canonicalize-lgpl.c (main): Likewise.
28480         * tests/test-canonicalize.c (main): Likewise.
28481         * tests/test-chown.c (main): Likewise.
28482         * tests/test-fchownat.c (main): Likewise.
28483         * tests/test-fdutimensat.c (main): Likewise.
28484         * tests/test-fstatat.c (main): Likewise.
28485         * tests/test-futimens.c (main): Likewise.
28486         * tests/test-lchown.c (main): Likewise.
28487         * tests/test-link.c (main): Likewise.
28488         * tests/test-linkat.c (main): Likewise.
28489         * tests/test-lstat.c (main): Likewise.
28490         * tests/test-mkdir.c (main): Likewise.
28491         * tests/test-mkdirat.c (main): Likewise.
28492         * tests/test-mkfifo.c (main): Likewise.
28493         * tests/test-mkfifoat.c (main): Likewise.
28494         * tests/test-mknod.c (main): Likewise.
28495         * tests/test-readlink.c (main): Likewise.
28496         * tests/test-remove.c (main): Likewise.
28497         * tests/test-rename.c (main): Likewise.
28498         * tests/test-renameat.c (main): Likewise.
28499         * tests/test-rmdir.c (main): Likewise.
28500         * tests/test-symlink.c (main): Likewise.
28501         * tests/test-symlinkat.c (main): Likewise.
28502         * tests/test-unlink.c (main): Likewise.
28503         * tests/test-unlinkat.c (main): Likewise.
28504         * tests/test-utimens.c (main): Likewise.
28505         * tests/test-utimensat.c (main): Likewise.
28506         * modules/areadlink-tests (Depends-on): Add ignore-value.
28507         * modules/areadlink-with-size-tests (Depends-on): Likewise.
28508         * modules/areadlinkat-tests (Depends-on): Likewise.
28509         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
28510         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
28511         * modules/canonicalize-tests (Depends-on): Likewise.
28512         * modules/chown-tests (Depends-on): Likewise.
28513         * modules/fdutimensat-tests (Depends-on): Likewise.
28514         * modules/futimens-tests (Depends-on): Likewise.
28515         * modules/lchown-tests (Depends-on): Likewise.
28516         * modules/link-tests (Depends-on): Likewise.
28517         * modules/linkat-tests (Depends-on): Likewise.
28518         * modules/lstat-tests (Depends-on): Likewise.
28519         * modules/mkdir-tests (Depends-on): Likewise.
28520         * modules/mkfifo-tests (Depends-on): Likewise.
28521         * modules/mkfifoat-tests (Depends-on): Likewise.
28522         * modules/mknod-tests (Depends-on): Likewise.
28523         * modules/openat-tests (Depends-on): Likewise.
28524         * modules/readlink-tests (Depends-on): Likewise.
28525         * modules/remove-tests (Depends-on): Likewise.
28526         * modules/rename-tests (Depends-on): Likewise.
28527         * modules/renameat-tests (Depends-on): Likewise.
28528         * modules/rmdir-tests (Depends-on): Likewise.
28529         * modules/symlink-tests (Depends-on): Likewise.
28530         * modules/symlinkat-tests (Depends-on): Likewise.
28531         * modules/unlink-tests (Depends-on): Likewise.
28532         * modules/utimens-tests (Depends-on): Likewise.
28533         * modules/utimensat-tests (Depends-on): Likewise.
28534
28535 2010-01-31  Bruno Haible  <bruno@clisp.org>
28536
28537         Perform the same test for many <math.h> functions.
28538         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
28539         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
28540         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
28541         of gl_MATHFUNC.
28542         * modules/acos (configure.ac): Likewise.
28543         * modules/asin (configure.ac): Likewise.
28544         * modules/atan (configure.ac): Likewise.
28545         * modules/atan2 (configure.ac): Likewise.
28546         * modules/cbrt (configure.ac): Likewise.
28547         * modules/copysign (configure.ac): Likewise.
28548         * modules/cos (configure.ac): Likewise.
28549         * modules/cosh (configure.ac): Likewise.
28550         * modules/erf (configure.ac): Likewise.
28551         * modules/erfc (configure.ac): Likewise.
28552         * modules/exp (configure.ac): Likewise.
28553         * modules/fmod (configure.ac): Likewise.
28554         * modules/hypot (configure.ac): Likewise.
28555         * modules/j0 (configure.ac): Likewise.
28556         * modules/j1 (configure.ac): Likewise.
28557         * modules/jn (configure.ac): Likewise.
28558         * modules/lgamma (configure.ac): Likewise.
28559         * modules/log (configure.ac): Likewise.
28560         * modules/log10 (configure.ac): Likewise.
28561         * modules/log1p (configure.ac): Likewise.
28562         * modules/pow (configure.ac): Likewise.
28563         * modules/remainder (configure.ac): Likewise.
28564         * modules/sin (configure.ac): Likewise.
28565         * modules/sinh (configure.ac): Likewise.
28566         * modules/tan (configure.ac): Likewise.
28567         * modules/tanh (configure.ac): Likewise.
28568         * modules/y0 (configure.ac): Likewise.
28569         * modules/y1 (configure.ac): Likewise.
28570         * modules/yn (configure.ac): Likewise.
28571         Suggested by Paolo Bonzini.
28572
28573 2010-01-31  Bruno Haible  <bruno@clisp.org>
28574
28575         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
28576
28577 2010-01-31  Bruno Haible  <bruno@clisp.org>
28578
28579         Work around getdelim() bug on FreeBSD 8.0.
28580         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
28581         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
28582         not work.
28583         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
28584         is 1.
28585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
28586         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
28587         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
28588         a non-zero size.
28589         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
28590
28591 2010-01-31  Bruno Haible  <bruno@clisp.org>
28592
28593         Work around getline() bug on FreeBSD 8.0.
28594         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
28595         and a non-zero size.
28596         * tests/test-getline.c (main): Likewise.
28597         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
28598         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
28599
28600 2010-01-28  Eric Blake  <ebb9@byu.net>
28601
28602         regex: fix build failure
28603         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
28604         platforms.
28605
28606 2010-01-28  Jim Meyering  <meyering@redhat.com>
28607
28608         regex: do not ignore memory allocation failure
28609         * lib/regex_internal.c (create_cd_newstate): Detect
28610         re_node_set_init_copy failure.   Extracted from glibc commit
28611         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
28612
28613         regex: sync more white-space changes from libc
28614         * lib/regex_internal.c: White-space only changes.
28615         * lib/regexec.c: Likewise.
28616
28617         regex: add many uses of __attribute_warn_unused_result__
28618         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
28619         * lib/regexec.c: Likewise.
28620         Extracted from a messy glibc commit.
28621
28622         regcomp.c: spelling and merge-artifact from glibc
28623         * lib/regcomp.c: Merge remainder of glibc's
28624         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
28625
28626         regcomp.c: sync white-space changes from glibc
28627         * lib/regcomp.c: Merge to accommodate white space
28628         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
28629
28630         regcomp.c: do not ignore internal return values
28631         * lib/regcomp.c: Do not ignore internal return values.
28632         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
28633         but without its white-space changes and spelling fixes.
28634
28635         regex_internal.h: define __attribute_warn_unused_result__
28636         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
28637
28638         maint: add a syntax-check rule to check for vulnerable Makefile.in
28639         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
28640
28641 2010-01-27  Jim Meyering  <meyering@redhat.com>
28642
28643         ncftpput-ftp: clean up spaces
28644         * build-aux/ncftpput-ftp: Make Copyright line consistent.
28645         Remove trailing blanks.
28646
28647 2010-01-27  Simon Josefsson  <simon@josefsson.org>
28648
28649         * build-aux/git-version-gen: Fix copyright statement.
28650         * build-aux/gnupload: Likewise.
28651         * tests/test-arcfour.c: Likewise.
28652         * tests/test-arctwo.c: Likewise.
28653         * tests/test-count-one-bits.c: Likewise.
28654         * tests/test-crc.c: Likewise.
28655         * tests/test-des.c: Likewise.
28656         * tests/test-gc-arcfour.c: Likewise.
28657         * tests/test-gc-arctwo.c: Likewise.
28658         * tests/test-gc-des.c: Likewise.
28659         * tests/test-gc-hmac-md5.c: Likewise.
28660         * tests/test-gc-hmac-sha1.c: Likewise.
28661         * tests/test-gc-md2.c: Likewise.
28662         * tests/test-gc-md4.c: Likewise.
28663         * tests/test-gc-md5.c: Likewise.
28664         * tests/test-gc-pbkdf2-sha1.c: Likewise.
28665         * tests/test-gc-rijndael.c: Likewise.
28666         * tests/test-gc-sha1.c: Likewise.
28667         * tests/test-gc.c: Likewise.
28668         * tests/test-gethostname.c: Likewise.
28669         * tests/test-gettimeofday.c: Likewise.
28670         * tests/test-hash.c: Likewise.
28671         * tests/test-hmac-md5.c: Likewise.
28672         * tests/test-hmac-sha1.c: Likewise.
28673         * tests/test-md2.c: Likewise.
28674         * tests/test-md4.c: Likewise.
28675         * tests/test-md5.c: Likewise.
28676         * tests/test-memchr.c: Likewise.
28677         * tests/test-memchr2.c: Likewise.
28678         * tests/test-memcmp.c: Likewise.
28679         * tests/test-memmem.c: Likewise.
28680         * tests/test-memrchr.c: Likewise.
28681         * tests/test-rawmemchr.c: Likewise.
28682         * tests/test-read-file.c: Likewise.
28683         * tests/test-rijndael.c: Likewise.
28684         * tests/test-sockets.c: Likewise.
28685         * tests/test-strchrnul.c: Likewise.
28686         * tests/test-strstr.c: Likewise.
28687         * tests/test-strtod.c: Likewise.
28688         * build-aux/ncftpput-ftp: Likewise.
28689
28690 2010-01-26  Eric Blake  <ebb9@byu.net>
28691
28692         ignore-value: update recommended header name
28693         * modules/ignore-value (Include): Only use <> for headers that
28694         exist in glibc.
28695
28696 2010-01-26  Jim Meyering  <meyering@redhat.com>
28697
28698         test-userspec.c: avoid compiler warnings
28699         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
28700         and "initialization discards qualifiers..." warnings.
28701         Put the first "uid" in its own scope, and make char* members "const".
28702
28703 2010-01-25  Bruno Haible  <bruno@clisp.org>
28704
28705         gnulib-tool: Make warning diagnostics consistent.
28706         * gnulib-tool (func_warning): New function.
28707         Use it everywhere where gnulib-tool produces output to stderr and it is
28708         not a fatal error.
28709
28710 2010-01-25  Bruno Haible  <bruno@clisp.org>
28711
28712         Fix test dependencies.
28713         * modules/xstrtol-tests (Depends-on): Add inttypes.
28714         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
28715
28716 2010-01-25 Pádraig Brady <P@draigBrady.com>
28717
28718         syntax-check: detect incorrect boolean macro values in config.h
28719         * modules/maintainer-makefile (configure.ac): Parameterize the location
28720         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
28721         The logic is from Eric Blake and the location indicated by Jim Meyering.
28722         Note the more natural CONFIG_HEADER name is prohibited by automake
28723         for backwards compatibility reasons.
28724         * top/maint.mk (sc_Wundef_boolean): New rule.
28725
28726 2010-01-25  Jim Meyering  <meyering@redhat.com>
28727
28728         bootstrap: detect MacOS 10.6's shasum, too
28729         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
28730         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
28731
28732 2010-01-23  Jim Meyering  <meyering@redhat.com>
28733
28734         xstrtoll: new module
28735         * modules/xstrtoll: New file.
28736         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
28737         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
28738         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
28739         ./configure fails if you use this module and lack "long long".
28740         * modules/xstrtoll-tests: New module.
28741         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
28742         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
28743         new init.sh-based test framework.
28744
28745 2010-01-24  Bruno Haible  <bruno@clisp.org>
28746
28747         Tests for module 'yn'.
28748         * modules/yn-tests: New file.
28749         * tests/test-yn.c: New file.
28750
28751         Tests for module 'y1'.
28752         * modules/y1-tests: New file.
28753         * tests/test-y1.c: New file.
28754
28755         Tests for module 'y0'.
28756         * modules/y0-tests: New file.
28757         * tests/test-y0.c: New file.
28758
28759         Tests for module 'tanh'.
28760         * modules/tanh-tests: New file.
28761         * tests/test-tanh.c: New file.
28762
28763         Tests for module 'tan'.
28764         * modules/tan-tests: New file.
28765         * tests/test-tan.c: New file.
28766
28767         Tests for module 'sqrt'.
28768         * modules/sqrt-tests: New file.
28769         * tests/test-sqrt.c: New file.
28770
28771         Tests for module 'sinh'.
28772         * modules/sinh-tests: New file.
28773         * tests/test-sinh.c: New file.
28774
28775         Tests for module 'sin'.
28776         * modules/sin-tests: New file.
28777         * tests/test-sin.c: New file.
28778
28779         Tests for module 'rint'.
28780         * modules/rint-tests: New file.
28781         * tests/test-rint.c: New file.
28782
28783         Tests for module 'remainder'.
28784         * modules/remainder-tests: New file.
28785         * tests/test-remainder.c: New file.
28786
28787         Tests for module 'pow'.
28788         * modules/pow-tests: New file.
28789         * tests/test-pow.c: New file.
28790
28791         Tests for module 'nextafter'.
28792         * modules/nextafter-tests: New file.
28793         * tests/test-nextafter.c: New file.
28794
28795         Tests for module 'modf'.
28796         * modules/modf-tests: New file.
28797         * tests/test-modf.c: New file.
28798
28799         Tests for module 'logb'.
28800         * modules/logb-tests: New file.
28801         * tests/test-logb.c: New file.
28802
28803         Tests for module 'log1p'.
28804         * modules/log1p-tests: New file.
28805         * tests/test-log1p.c: New file.
28806
28807         Tests for module 'log10'.
28808         * modules/log10-tests: New file.
28809         * tests/test-log10.c: New file.
28810
28811         Tests for module 'log'.
28812         * modules/log-tests: New file.
28813         * tests/test-log.c: New file.
28814
28815         Tests for module 'lgamma'.
28816         * modules/lgamma-tests: New file.
28817         * tests/test-lgamma.c: New file.
28818
28819         Tests for module 'ldexp'.
28820         * modules/ldexp-tests: New file.
28821         * tests/test-ldexp.c: New file.
28822
28823         Tests for module 'jn'.
28824         * modules/jn-tests: New file.
28825         * tests/test-jn.c: New file.
28826
28827         Tests for module 'j1'.
28828         * modules/j1-tests: New file.
28829         * tests/test-j1.c: New file.
28830
28831         Tests for module 'j0'.
28832         * modules/j0-tests: New file.
28833         * tests/test-j0.c: New file.
28834
28835         Tests for module 'hypot'.
28836         * modules/hypot-tests: New file.
28837         * tests/test-hypot.c: New file.
28838
28839         Tests for module 'fmod'.
28840         * modules/fmod-tests: New file.
28841         * tests/test-fmod.c: New file.
28842
28843         Tests for module 'fabs'.
28844         * modules/fabs-tests: New file.
28845         * tests/test-fabs.c: New file.
28846
28847         Tests for module 'exp'.
28848         * modules/exp-tests: New file.
28849         * tests/test-exp.c: New file.
28850
28851         Tests for module 'erfc'.
28852         * modules/erfc-tests: New file.
28853         * tests/test-erfc.c: New file.
28854
28855         Tests for module 'erf'.
28856         * modules/erf-tests: New file.
28857         * tests/test-erf.c: New file.
28858
28859         Tests for module 'cosh'.
28860         * modules/cosh-tests: New file.
28861         * tests/test-cosh.c: New file.
28862
28863         Tests for module 'cos'.
28864         * modules/cos-tests: New file.
28865         * tests/test-cos.c: New file.
28866
28867         Tests for module 'copysign'.
28868         * modules/copysign-tests: New file.
28869         * tests/test-copysign.c: New file.
28870
28871         Tests for module 'cbrt'.
28872         * modules/cbrt-tests: New file.
28873         * tests/test-cbrt.c: New file.
28874
28875         Tests for module 'atan2'.
28876         * modules/atan2-tests: New file.
28877         * tests/test-atan2.c: New file.
28878
28879         Tests for module 'atan'.
28880         * modules/atan-tests: New file.
28881         * tests/test-atan.c: New file.
28882
28883         Tests for module 'asin'.
28884         * modules/asin-tests: New file.
28885         * tests/test-asin.c: New file.
28886
28887         Tests for module 'acos'.
28888         * modules/acos-tests: New file.
28889         * tests/test-acos.c: New file.
28890
28891 2010-01-24  Bruno Haible  <bruno@clisp.org>
28892
28893         Fix tests for common <math.h> functions.
28894         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
28895         code snippet that references the function pointer, rather than merely
28896         calling the function. Substitute the FUNC_LIBM variable.
28897         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
28898         * modules/acos (configure.ac): Likewise.
28899         * modules/asin (configure.ac): Likewise.
28900         * modules/atan (configure.ac): Likewise.
28901         * modules/atan2 (configure.ac): Likewise.
28902         * modules/cbrt (configure.ac): Likewise.
28903         * modules/copysign (configure.ac): Likewise.
28904         * modules/cos (configure.ac): Likewise.
28905         * modules/cosh (configure.ac): Likewise.
28906         * modules/erf (configure.ac): Likewise.
28907         * modules/erfc (configure.ac): Likewise.
28908         * modules/exp (configure.ac): Likewise.
28909         * modules/fabs (configure.ac): Likewise.
28910         * modules/fmod (configure.ac): Likewise.
28911         * modules/hypot (configure.ac): Likewise.
28912         * modules/j0 (configure.ac): Likewise.
28913         * modules/j1 (configure.ac): Likewise.
28914         * modules/jn (configure.ac): Likewise.
28915         * modules/ldexp (configure.ac): Likewise.
28916         * modules/lgamma (configure.ac): Likewise.
28917         * modules/log (configure.ac): Likewise.
28918         * modules/log10 (configure.ac): Likewise.
28919         * modules/log1p (configure.ac): Likewise.
28920         * modules/logb (configure.ac): Likewise.
28921         * modules/modf (configure.ac): Likewise.
28922         * modules/nextafter (configure.ac): Likewise.
28923         * modules/pow (configure.ac): Likewise.
28924         * modules/remainder (configure.ac): Likewise.
28925         * modules/rint (configure.ac): Likewise.
28926         * modules/sin (configure.ac): Likewise.
28927         * modules/sinh (configure.ac): Likewise.
28928         * modules/tan (configure.ac): Likewise.
28929         * modules/tanh (configure.ac): Likewise.
28930         * modules/y0 (configure.ac): Likewise.
28931         * modules/y1 (configure.ac): Likewise.
28932         * modules/yn (configure.ac): Likewise.
28933
28934 2010-01-24  Bruno Haible  <bruno@clisp.org>
28935
28936         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
28937         * tests/test-acosl.c (x): New variable.
28938         (main): Store argument in x and fetch it from x.
28939         * tests/test-asinl.c (x): New variable.
28940         (main): Store argument in x and fetch it from x.
28941         * tests/test-atanl.c (x): New variable.
28942         (main): Store argument in x and fetch it from x.
28943         * tests/test-cosl.c (x): New variable.
28944         (main): Store argument in x and fetch it from x.
28945         * tests/test-expl.c (x): New variable.
28946         (main): Store argument in x and fetch it from x.
28947         * tests/test-logl.c (x): New variable.
28948         (main): Store argument in x and fetch it from x.
28949         * tests/test-sinl.c (x): New variable.
28950         (main): Store argument in x and fetch it from x.
28951         * tests/test-sqrtl.c (x): New variable.
28952         (main): Store argument in x and fetch it from x.
28953         * tests/test-tanl.c (x): New variable.
28954         (main): Store argument in x and fetch it from x.
28955
28956 2010-01-24  Bruno Haible  <bruno@clisp.org>
28957
28958         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
28959         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
28960         assignments to the initial TESTS_ENVIRONMENT.
28961         * doc/gnulib.texi (Unit test modules): Document it.
28962         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
28963         TESTS_ENVIRONMENT.
28964         * modules/btowc-tests (Makefile.am): Likewise.
28965         * modules/c-stack-tests (Makefile.am): Likewise.
28966         * modules/c-strcase-tests (Makefile.am): Likewise.
28967         * modules/copy-file-tests (Makefile.am): Likewise.
28968         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
28969         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
28970         * modules/mbrtowc-tests (Makefile.am): Likewise.
28971         * modules/mbscasecmp-tests (Makefile.am): Likewise.
28972         * modules/mbscasestr-tests (Makefile.am): Likewise.
28973         * modules/mbschr-tests (Makefile.am): Likewise.
28974         * modules/mbscspn-tests (Makefile.am): Likewise.
28975         * modules/mbsinit-tests (Makefile.am): Likewise.
28976         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
28977         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
28978         * modules/mbspbrk-tests (Makefile.am): Likewise.
28979         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
28980         * modules/mbsrchr-tests (Makefile.am): Likewise.
28981         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
28982         * modules/mbsspn-tests (Makefile.am): Likewise.
28983         * modules/mbsstr-tests (Makefile.am): Likewise.
28984         * modules/nl_langinfo-tests (Makefile.am): Likewise.
28985         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
28986         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
28987         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
28988         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
28989         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
28990         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
28991         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
28992         * modules/wcrtomb-tests (Makefile.am): Likewise.
28993         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
28994         * modules/wcsrtombs-tests (Makefile.am): Likewise.
28995         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
28996         assignments from TESTS_ENVIRONMENT.
28997         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
28998         augmentation.
28999         * modules/argp-version-etc-tests (Makefile.am): Likewise.
29000         * modules/atexit-tests (Makefile.am): Likewise.
29001         * modules/binary-io-tests (Makefile.am): Likewise.
29002         * modules/closein-tests (Makefile.am): Likewise.
29003         * modules/dprintf-posix-tests (Makefile.am): Likewise.
29004         * modules/exclude-tests (Makefile.am): Likewise.
29005         * modules/fflush-tests (Makefile.am): Likewise.
29006         * modules/fpending-tests (Makefile.am): Likewise.
29007         * modules/fprintf-posix-tests (Makefile.am): Likewise.
29008         * modules/freadahead-tests (Makefile.am): Likewise.
29009         * modules/freadptr-tests (Makefile.am): Likewise.
29010         * modules/freadseek-tests (Makefile.am): Likewise.
29011         * modules/fseek-tests (Makefile.am): Likewise.
29012         * modules/fseeko-tests (Makefile.am): Likewise.
29013         * modules/ftell-tests (Makefile.am): Likewise.
29014         * modules/ftello-tests (Makefile.am): Likewise.
29015         * modules/idpriv-drop-tests (Makefile.am): Likewise.
29016         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
29017         * modules/lseek-tests (Makefile.am): Likewise.
29018         * modules/parse-duration-tests (Makefile.am): Likewise.
29019         * modules/perror-tests (Makefile.am): Likewise.
29020         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
29021         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
29022         * modules/pipe-tests (Makefile.am): Likewise.
29023         * modules/pread-tests (Makefile.am): Likewise.
29024         * modules/printf-posix-tests (Makefile.am): Likewise.
29025         * modules/select-tests (Makefile.am): Likewise.
29026         * modules/sigpipe-tests (Makefile.am): Likewise.
29027         * modules/tsearch-tests (Makefile.am): Likewise.
29028         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
29029         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
29030         * modules/uniname/uniname-tests (Makefile.am): Likewise.
29031         * modules/uniwidth/width-tests (Makefile.am): Likewise.
29032         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
29033         * modules/version-etc-tests (Makefile.am): Likewise.
29034         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
29035         * modules/vprintf-posix-tests (Makefile.am): Likewise.
29036         * modules/xalloc-die-tests (Makefile.am): Likewise.
29037         * modules/xprintf-posix-tests (Makefile.am): Likewise.
29038         * modules/xstrtoimax-tests (Makefile.am): Likewise.
29039         * modules/xstrtol-tests (Makefile.am): Likewise.
29040         * modules/xstrtoumax-tests (Makefile.am): Likewise.
29041         * modules/yesno-tests (Makefile.am): Likewise.
29042         Suggested by Jim Meyering.
29043
29044 2010-01-24  Bruno Haible  <bruno@clisp.org>
29045
29046         More documentation.
29047         * doc/gnulib.texi (Writing modules): New chapter.
29048         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
29049         the new chapter.
29050
29051 2010-01-24  Jim Meyering  <meyering@redhat.com>
29052
29053         maint.mk: do not prepend "./" after filtering
29054         * top/maint.mk (_prepend_srcdir_prefix): New variable
29055         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
29056         "./" when $(srcdir) is ".".
29057
29058         define STREQ(a,b) consistently, removing useless parentheses
29059         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
29060         since the only risk is that "a" or "b" contains an unparenthesized
29061         comma, but if either did that, STREQ would have 3 or more arguments.
29062         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
29063         * lib/fts.c (STREQ): Remove unnecessary parentheses.
29064         * lib/hash-triple.c (STREQ): Likewise.
29065         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
29066         * lib/getugroups.c (STREQ): Likewise.
29067
29068 2010-01-23  Jim Meyering  <meyering@redhat.com>
29069
29070         maint.mk: fix syntax-check in a non-srcdir build directory
29071         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
29072         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
29073
29074 2010-01-22  Jim Meyering  <meyering@redhat.com>
29075
29076         userspec: add unit tests
29077         * tests/test-userspec.c: New file.
29078         * modules/userspec-tests: Likewise.
29079
29080 2010-01-21  Jim Meyering  <meyering@redhat.com>
29081
29082         maint.mk: handle source file names containing "." robustly
29083         * top/maint.mk (_dot_escaped_srcdir): Define.
29084         (VC_LIST): Use it in LHS of sed substitution.
29085
29086 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
29087
29088         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
29089         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
29090         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
29091         from a non-srcdir build.
29092
29093 2010-01-20  Eric Blake  <ebb9@byu.net>
29094
29095         warn-on-use: use instead of link-warning
29096         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
29097         * modules/unistd (Depends-on, Makefile.am): Likewise.
29098         * modules/arpa_inet (Depends-on): Replace link-warning with
29099         warn-on-use.
29100         (Makefile.am): Update rules accordingly.
29101         * modules/ctype (Depends-on, Makefile.am): Likewise.
29102         * modules/dirent (Depends-on, Makefile.am): Likewise.
29103         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
29104         * modules/inttypes (Depends-on, Makefile.am): Likewise.
29105         * modules/langinfo (Depends-on, Makefile.am): Likewise.
29106         * modules/locale (Depends-on, Makefile.am): Likewise.
29107         * modules/math (Depends-on, Makefile.am): Likewise.
29108         * modules/search (Depends-on, Makefile.am): Likewise.
29109         * modules/signal (Depends-on, Makefile.am): Likewise.
29110         * modules/spawn (Depends-on, Makefile.am): Likewise.
29111         * modules/stdlib (Depends-on, Makefile.am): Likewise.
29112         * modules/string (Depends-on, Makefile.am): Likewise.
29113         * modules/strings (Depends-on, Makefile.am): Likewise.
29114         * modules/sys_file (Depends-on, Makefile.am): Likewise.
29115         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
29116         * modules/sys_select (Depends-on, Makefile.am): Likewise.
29117         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
29118         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
29119         * modules/sys_times (Depends-on, Makefile.am): Likewise.
29120         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
29121         * modules/wchar (Depends-on, Makefile.am): Likewise.
29122         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
29123         should be poisoned.
29124         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
29125         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
29126         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
29127         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29128         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
29129         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
29130         * m4/math_h.m4 (gl_MATH_H): Likewise.
29131         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
29132         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
29133         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
29134         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
29135         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
29136         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
29137         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
29138         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
29139         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
29140         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29141         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
29142         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
29143         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
29144         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
29145         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
29146         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
29147         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
29148         GL_LINK_WARNING.
29149         * lib/ctype.in.h: Likewise.
29150         * lib/dirent.in.h: Likewise.
29151         * lib/fcntl.in.h: Likewise.
29152         * lib/inttypes.in.h: Likewise.
29153         * lib/langinfo.in.h: Likewise.
29154         * lib/locale.in.h: Likewise.
29155         * lib/math.in.h: Likewise.
29156         * lib/search.in.h: Likewise.
29157         * lib/signal.in.h: Likewise.
29158         * lib/spawn.in.h: Likewise.
29159         * lib/stdio.in.h: Likewise.
29160         * lib/stdlib.in.h: Likewise.
29161         * lib/string.in.h: Likewise.
29162         * lib/strings.in.h: Likewise.
29163         * lib/sys_file.in.h: Likewise.
29164         * lib/sys_ioctl.in.h: Likewise.
29165         * lib/sys_select.in.h: Likewise.
29166         * lib/sys_socket.in.h: Likewise.
29167         * lib/sys_stat.in.h: Likewise.
29168         * lib/sys_times.in.h: Likewise.
29169         * lib/sys_utsname.in.h: Likewise.
29170         * lib/unistd.in.h: Likewise.
29171         * lib/wchar.in.h: Likewise.
29172
29173 2010-01-20  Bruno Haible  <bruno@clisp.org>
29174
29175         Avoid duplicate -lm.
29176         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
29177         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
29178         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
29179         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
29180         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
29181         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
29182         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
29183         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
29184         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
29185         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
29186         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
29187         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
29188         Reported by Paolo Bonzini.
29189
29190 2010-01-19  Bruno Haible  <bruno@clisp.org>
29191
29192         langinfo, nl_langinfo: Relicense under LGPLv2+.
29193         * modules/langinfo (License): Change to LGPLv2+.
29194         * modules/nl_langinfo (License): Likewise.
29195         Patch by David Lutterkort <lutter@redhat.com>.
29196
29197 2010-01-19  Bruno Haible  <bruno@clisp.org>
29198
29199         Avoid compilation error with cc on OSF/1 5.1.
29200         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
29201         statement, not before.
29202         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29203
29204 2010-01-18  Bruno Haible  <bruno@clisp.org>
29205
29206         Avoid a link error due to the __printf__ symbol.
29207         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
29208         and 2.6.x.
29209         (__format__, __printf__): Remove definitions.
29210         * lib/argp-fmtstream.h: Likewise.
29211         * lib/argp.h: Likewise.
29212         * lib/error.h: Likewise.
29213         * lib/vasnprintf.h: Likewise.
29214         * lib/xprintf.h: Likewise.
29215         * lib/xvasprintf.h: Likewise.
29216         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29217
29218 2010-01-18  Bruno Haible  <bruno@clisp.org>
29219
29220         Tests for module 'tanl'.
29221         * modules/tanl-tests: New file.
29222         * tests/test-tanl.c: New file.
29223
29224         Tests for module 'sqrtl'.
29225         * modules/sqrtl-tests: New file.
29226         * tests/test-sqrtl.c: New file.
29227
29228         Tests for module 'sinl'.
29229         * modules/sinl-tests: New file.
29230         * tests/test-sinl.c: New file.
29231
29232         Tests for module 'logl'.
29233         * modules/logl-tests: New file.
29234         * tests/test-logl.c: New file.
29235
29236         Tests for module 'expl'.
29237         * modules/expl-tests: New file.
29238         * tests/test-expl.c: New file.
29239
29240         Tests for module 'cosl'.
29241         * modules/cosl-tests: New file.
29242         * tests/test-cosl.c: New file.
29243
29244         Tests for module 'atanl'.
29245         * modules/atanl-tests: New file.
29246         * tests/test-atanl.c: New file.
29247
29248         Tests for module 'asinl'.
29249         * modules/asinl-tests: New file.
29250         * tests/test-asinl.c: New file.
29251
29252         Tests for module 'acosl'.
29253         * modules/acosl-tests: New file.
29254         * tests/test-acosl.c: New file.
29255
29256         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
29257         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
29258         tanl): Use the standard gnulib idiom.
29259         * lib/cosl.c: Don't include trigl.c and sincosl.c.
29260         * lib/sinl.c: Likewise.
29261         * lib/tanl.c: Don't include trigl.c.
29262         (kernel_tanl): Make static.
29263         * lib/sincosl.c: Include trigl.h first.
29264         * lib/trigl.c: Likewise.
29265         * m4/acosl.m4: New file.
29266         * m4/asinl.m4: New file.
29267         * m4/atanl.m4: New file.
29268         * m4/cosl.m4: New file.
29269         * m4/expl.m4: New file.
29270         * m4/logl.m4: New file.
29271         * m4/sinl.m4: New file.
29272         * m4/sqrtl.m4: New file.
29273         * m4/tanl.m4: New file.
29274         * m4/mathl.m4: Remove file.
29275         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
29276         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
29277         Don't initialize GNULIB_MATHL.
29278         * modules/acosl: New file.
29279         * modules/asinl: New file.
29280         * modules/atanl: New file.
29281         * modules/cosl: New file.
29282         * modules/expl: New file.
29283         * modules/logl: New file.
29284         * modules/sinl: New file.
29285         * modules/sqrtl: New file.
29286         * modules/tanl: New file.
29287         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
29288         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
29289         substitute GNULIB_MATHL.
29290         * modules/mathl: Rewritten.
29291         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
29292         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
29293         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
29294         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
29295         * doc/posix-functions/expl.texi: Mention the 'expl' module.
29296         * doc/posix-functions/logl.texi: Mention the 'logl' module.
29297         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
29298         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
29299         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
29300
29301 2010-01-18  Bruno Haible  <bruno@clisp.org>
29302
29303         sqrt: Make gl_FUNC_SQRT requirable.
29304         * m4/sqrt.m4: New file.
29305         * modules/sqrt (Files): Add it.
29306         (configure.ac): Invoke gl_FUNC_SQRT.
29307
29308 2010-01-18  Bruno Haible  <bruno@clisp.org>
29309
29310         New modules for common <math.h> functions.
29311         * m4/mathfunc.m4: New file.
29312         * modules/acos: New file.
29313         * modules/asin: New file.
29314         * modules/atan: New file.
29315         * modules/atan2: New file.
29316         * modules/cbrt: New file.
29317         * modules/copysign: New file.
29318         * modules/cos: New file.
29319         * modules/cosh: New file.
29320         * modules/erf: New file.
29321         * modules/erfc: New file.
29322         * modules/exp: New file.
29323         * modules/fabs: New file.
29324         * modules/fmod: New file.
29325         * modules/hypot: New file.
29326         * modules/j0: New file.
29327         * modules/j1: New file.
29328         * modules/jn: New file.
29329         * modules/ldexp: New file.
29330         * modules/lgamma: New file.
29331         * modules/log: New file.
29332         * modules/log10: New file.
29333         * modules/log1p: New file.
29334         * modules/logb: New file.
29335         * modules/modf: New file.
29336         * modules/nextafter: New file.
29337         * modules/pow: New file.
29338         * modules/remainder: New file.
29339         * modules/rint: New file.
29340         * modules/sin: New file.
29341         * modules/sinh: New file.
29342         * modules/sqrt: New file.
29343         * modules/tan: New file.
29344         * modules/tanh: New file.
29345         * modules/y0: New file.
29346         * modules/y1: New file.
29347         * modules/yn: New file.
29348         * doc/posix-functions/acos.texi: Mention the 'acos' module.
29349         * doc/posix-functions/asin.texi: Mention the 'asin' module.
29350         * doc/posix-functions/atan.texi: Mention the 'atan' module.
29351         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
29352         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
29353         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
29354         * doc/posix-functions/cos.texi: Mention the 'cos' module.
29355         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
29356         * doc/posix-functions/erf.texi: Mention the 'erf' module.
29357         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
29358         * doc/posix-functions/exp.texi: Mention the 'exp' module.
29359         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
29360         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
29361         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
29362         * doc/posix-functions/j0.texi: Mention the 'j0' module.
29363         * doc/posix-functions/j1.texi: Mention the 'j1' module.
29364         * doc/posix-functions/jn.texi: Mention the 'jn' module.
29365         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
29366         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
29367         * doc/posix-functions/log.texi: Mention the 'log' module.
29368         * doc/posix-functions/log10.texi: Mention the 'log10' module.
29369         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
29370         * doc/posix-functions/logb.texi: Mention the 'logb' module.
29371         * doc/posix-functions/modf.texi: Mention the 'modf' module.
29372         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
29373         * doc/posix-functions/pow.texi: Mention the 'pow' module.
29374         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
29375         * doc/posix-functions/rint.texi: Mention the 'rint' module.
29376         * doc/posix-functions/sin.texi: Mention the 'sin' module.
29377         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
29378         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
29379         * doc/posix-functions/tan.texi: Mention the 'tan' module.
29380         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
29381         * doc/posix-functions/y0.texi: Mention the 'y0' module.
29382         * doc/posix-functions/y1.texi: Mention the 'y1' module.
29383         * doc/posix-functions/yn.texi: Mention the 'yn' module.
29384
29385 2010-01-18  Jim Meyering  <meyering@redhat.com>
29386
29387         ignore-value: relax license to LGPLv2+
29388         * modules/ignore-value (License): Relax to LGPLv2+.
29389
29390         getdate: don't leak when TZ contains two or more '"'s
29391         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
29392         double quote in TZ after the first one.
29393
29394         readtokens: do not leak internal token_lengths buffer
29395         * lib/readtokens.c (readtokens): Free the local, lengths,
29396         when the supplied "token_lengths" parameter is NULL.
29397
29398 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29399
29400         Fix a couple of missing LIBTHREAD link failures on AIX.
29401         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
29402         $(LIBTHREAD).
29403         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
29404
29405         Link test-poll against INET_PTON_LIB.
29406         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
29407         for inet_pton on Solaris 10.
29408
29409 2010-01-17  Bruno Haible  <bruno@clisp.org>
29410
29411         unistdio/*-sprintf: Fix typo in module description.
29412         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
29413         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
29414         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
29415         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
29416         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
29417         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
29418         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
29419         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29420
29421 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29422
29423         gnulib-tool: fix filelist for AIX, HP-UX ksh.
29424         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
29425         variables in shell case patterns, for AIX and HP-UX ksh.
29426
29427         Split large sed scripts, for HP-UX sed.
29428         * modules/stdio: Split sed scripts around 50 sed commands,
29429         to avoid HP-UX limit of 99 commands, in the near future.
29430         * modules/string: Likewise.
29431         * modules/unistd: Likewise.
29432
29433         gnulib-tool: avoid writing in the current directory.
29434         * gnulib-tool (func_emit_lib_Makefile_am)
29435         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
29436         not in the current directory, so concurrent gnulib-tool
29437         instances do not interfere.
29438
29439 2010-01-16  Jim Meyering  <meyering@redhat.com>
29440
29441         doc: update users.txt
29442         * users.txt: Add grep.
29443         (diffutils, gzip): Update URLs.
29444
29445 2010-01-12  Bruno Haible  <bruno@clisp.org>
29446
29447         posix_spawn: Avoid test failure on Cygwin.
29448         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
29449         characters.
29450         Reported by Simon Josefsson.
29451
29452 2010-01-12  Bruno Haible  <bruno@clisp.org>
29453
29454         * tests/test-cond.c (main): When skipping the test, show the reason.
29455
29456 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29457
29458         * lib/striconv.c (str_cd_iconv): Avoid if before free.
29459
29460 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29461
29462         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
29463         VC_LIST_ALWAYS_EXCLUDE_REGEX.
29464
29465 2010-01-12  Eric Blake  <ebb9@byu.net>
29466
29467         build: guarantee AS_VAR_IF
29468         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
29469         (gl_AS_VAR_IF): Move...
29470         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
29471         Reported by Simon Josefsson.
29472
29473 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29474
29475         * lib/stdio.in.h: Fix typo.
29476
29477 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29478
29479         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
29480         libgpg-error.
29481
29482 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29483
29484         * tests/test-xalloc-die.sh: Use $EXEEXT.
29485
29486 2010-01-12  Simon Josefsson  <simon@josefsson.org>
29487             Bruno Haible  <bruno@clisp.org>
29488
29489         getlogin, getlogin_r: Avoid test failure.
29490         * tests/test-getlogin.c: Include <stdio.h>.
29491         (main): Skip the test when the function fails because stdin is not a
29492         tty.
29493         * tests/test-getlogin_r.c: Include <stdio.h>.
29494         (main): Skip the test when the function fails because stdin is not a
29495         tty.
29496
29497 2010-01-11  Eric Blake  <ebb9@byu.net>
29498
29499         tests: avoid more large file warnings
29500         * tests/test-fflush.c: Avoid warning about ftell use.
29501         * tests/test-fseek.c: Avoid warning about fseek use.
29502
29503 2010-01-10  Bruno Haible  <bruno@clisp.org>
29504
29505         nproc: Work better on Linux when /proc and /sys are not mounted.
29506         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
29507         as lower bound when, on glibc/Linux systems,
29508         sysconf (_SC_NPROCESSORS_CONF) returns 1.
29509         Suggested by Pádraig Brady <P@draigbrady.com>.
29510         Reported by Dmitry V. Levin <ldv@altlinux.org>.
29511
29512         nproc: Refactor.
29513         * lib/nproc.c (num_processors_via_affinity_mask): New function,
29514         extracted from num_processors.
29515         (num_processors): Call it.
29516
29517 2010-01-11  Jim Meyering  <meyering@redhat.com>
29518
29519         utimecmp: avoid new warning from upcoming gcc-4.5.0
29520         * lib/utimecmp.c (BILLION): Define using #define rather than an
29521         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
29522
29523 2010-01-11  Eric Blake  <ebb9@byu.net>
29524
29525         math: add portability warnings for classification macros
29526         * modules/math (Depends-on): Add warn-on-use.
29527         (Makefile.am): Provide new substitutions.
29528         * m4/math_h.m4 (gl_MATH_H): Require inline.
29529         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
29530         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
29531         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
29532         implement warnings.
29533
29534         unistd: warn on use of environ without module
29535         * modules/unistd (Depends-on): Add warn-on-use.
29536         (Makefile.am): Provide new substitutions.
29537         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
29538         * lib/unistd.in.h (environ): Wrap with a warning helper function.
29539
29540         stdio: warn on suspicious uses
29541         * modules/stdio (Depends-on): Add warn-on-use.
29542         (Makefile.am): Provide new substitutions.
29543         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
29544         fseeko.
29545         * lib/stdio.in.h (gets): Always warn on use.
29546         (fseek, ftell): Adjust when warnings are issued, and honor
29547         _GL_NO_LARGE_FILES as a way to silence the warning.
29548         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
29549         any warning about large file offsets.
29550         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
29551         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
29552         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
29553         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
29554         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
29555         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
29556         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
29557         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
29558
29559         warn-on-use: new module
29560         * modules/warn-on-use: New file.
29561         * build-aux/warn-on-use.h: Likewise.
29562         * m4/warn-on-use.m4: Likewise.
29563         * MODULES.html.sh (Support for building): Mention it.
29564
29565 2010-01-10  Bruno Haible  <bruno@clisp.org>
29566
29567         Tests for module 'unistr/u32-strdup'.
29568         * modules/unistr/u32-strdup-tests: New file.
29569         * tests/unistr/test-u32-strdup.c: New file.
29570
29571         Tests for module 'unistr/u16-strdup'.
29572         * modules/unistr/u16-strdup-tests: New file.
29573         * tests/unistr/test-u16-strdup.c: New file.
29574
29575         Tests for module 'unistr/u8-strdup'.
29576         * modules/unistr/u8-strdup-tests: New file.
29577         * tests/unistr/test-u8-strdup.c: New file.
29578         * tests/unistr/test-strdup.h: New file.
29579
29580         Tests for module 'unistr/u32-strncmp'.
29581         * modules/unistr/u32-strncmp-tests: New file.
29582         * tests/unistr/test-u32-strncmp.c: New file.
29583
29584         Tests for module 'unistr/u16-strncmp'.
29585         * modules/unistr/u16-strncmp-tests: New file.
29586         * tests/unistr/test-u16-strncmp.c: New file.
29587
29588         Tests for module 'unistr/u8-strncmp'.
29589         * modules/unistr/u8-strncmp-tests: New file.
29590         * tests/unistr/test-u8-strncmp.c: New file.
29591         * tests/unistr/test-strncmp.h: New file.
29592
29593         Tests for module 'unistr/u32-strcoll'.
29594         * modules/unistr/u32-strcoll-tests: New file.
29595         * tests/unistr/test-u32-strcoll.c: New file.
29596
29597         Tests for module 'unistr/u16-strcoll'.
29598         * modules/unistr/u16-strcoll-tests: New file.
29599         * tests/unistr/test-u16-strcoll.c: New file.
29600
29601         Tests for module 'unistr/u8-strcoll'.
29602         * modules/unistr/u8-strcoll-tests: New file.
29603         * tests/unistr/test-u8-strcoll.c: New file.
29604
29605         Tests for module 'unistr/u32-strcmp'.
29606         * modules/unistr/u32-strcmp-tests: New file.
29607         * tests/unistr/test-u32-strcmp.c: New file.
29608         * tests/unistr/test-u32-strcmp.h: New file.
29609
29610         Tests for module 'unistr/u16-strcmp'.
29611         * modules/unistr/u16-strcmp-tests: New file.
29612         * tests/unistr/test-u16-strcmp.c: New file.
29613         * tests/unistr/test-u16-strcmp.h: New file.
29614
29615         Tests for module 'unistr/u8-strcmp'.
29616         * modules/unistr/u8-strcmp-tests: New file.
29617         * tests/unistr/test-u8-strcmp.c: New file.
29618         * tests/unistr/test-u8-strcmp.h: New file.
29619         * tests/unistr/test-strcmp.h: New file.
29620
29621         Tests for module 'unistr/u32-strncat'.
29622         * modules/unistr/u32-strncat-tests: New file.
29623         * tests/unistr/test-u32-strncat.c: New file.
29624
29625         Tests for module 'unistr/u16-strncat'.
29626         * modules/unistr/u16-strncat-tests: New file.
29627         * tests/unistr/test-u16-strncat.c: New file.
29628
29629         Tests for module 'unistr/u8-strncat'.
29630         * modules/unistr/u8-strncat-tests: New file.
29631         * tests/unistr/test-u8-strncat.c: New file.
29632         * tests/unistr/test-strncat.h: New file.
29633
29634         Tests for module 'unistr/u32-strcat'.
29635         * modules/unistr/u32-strcat-tests: New file.
29636         * tests/unistr/test-u32-strcat.c: New file.
29637
29638         Tests for module 'unistr/u16-strcat'.
29639         * modules/unistr/u16-strcat-tests: New file.
29640         * tests/unistr/test-u16-strcat.c: New file.
29641
29642         Tests for module 'unistr/u8-strcat'.
29643         * modules/unistr/u8-strcat-tests: New file.
29644         * tests/unistr/test-u8-strcat.c: New file.
29645         * tests/unistr/test-strcat.h: New file.
29646
29647         Tests for module 'unistr/u32-stpncpy'.
29648         * modules/unistr/u32-stpncpy-tests: New file.
29649         * tests/unistr/test-u32-stpncpy.c: New file.
29650
29651         Tests for module 'unistr/u16-stpncpy'.
29652         * modules/unistr/u16-stpncpy-tests: New file.
29653         * tests/unistr/test-u16-stpncpy.c: New file.
29654
29655         Tests for module 'unistr/u8-stpncpy'.
29656         * modules/unistr/u8-stpncpy-tests: New file.
29657         * tests/unistr/test-u8-stpncpy.c: New file.
29658         * tests/unistr/test-stpncpy.h: New file.
29659
29660         Tests for module 'unistr/u32-strncpy'.
29661         * modules/unistr/u32-strncpy-tests: New file.
29662         * tests/unistr/test-u32-strncpy.c: New file.
29663
29664         Tests for module 'unistr/u16-strncpy'.
29665         * modules/unistr/u16-strncpy-tests: New file.
29666         * tests/unistr/test-u16-strncpy.c: New file.
29667
29668         Tests for module 'unistr/u8-strncpy'.
29669         * modules/unistr/u8-strncpy-tests: New file.
29670         * tests/unistr/test-u8-strncpy.c: New file.
29671         * tests/unistr/test-strncpy.h: New file.
29672
29673         Tests for module 'unistr/u32-stpcpy'.
29674         * modules/unistr/u32-stpcpy-tests: New file.
29675         * tests/unistr/test-u32-stpcpy.c: New file.
29676
29677         Tests for module 'unistr/u16-stpcpy'.
29678         * modules/unistr/u16-stpcpy-tests: New file.
29679         * tests/unistr/test-u16-stpcpy.c: New file.
29680
29681         Tests for module 'unistr/u8-stpcpy'.
29682         * modules/unistr/u8-stpcpy-tests: New file.
29683         * tests/unistr/test-u8-stpcpy.c: New file.
29684         * tests/unistr/test-stpcpy.h: New file.
29685
29686         Tests for module 'unistr/u32-strcpy'.
29687         * modules/unistr/u32-strcpy-tests: New file.
29688         * tests/unistr/test-u32-strcpy.c: New file.
29689
29690         Tests for module 'unistr/u16-strcpy'.
29691         * modules/unistr/u16-strcpy-tests: New file.
29692         * tests/unistr/test-u16-strcpy.c: New file.
29693
29694         Tests for module 'unistr/u8-strcpy'.
29695         * modules/unistr/u8-strcpy-tests: New file.
29696         * tests/unistr/test-u8-strcpy.c: New file.
29697         * tests/unistr/test-strcpy.h: New file.
29698
29699         Tests for module 'unistr/u32-strnlen'.
29700         * modules/unistr/u32-strnlen-tests: New file.
29701         * tests/unistr/test-u32-strnlen.c: New file.
29702
29703         Tests for module 'unistr/u16-strnlen'.
29704         * modules/unistr/u16-strnlen-tests: New file.
29705         * tests/unistr/test-u16-strnlen.c: New file.
29706
29707         Tests for module 'unistr/u8-strnlen'.
29708         * modules/unistr/u8-strnlen-tests: New file.
29709         * tests/unistr/test-u8-strnlen.c: New file.
29710         * tests/unistr/test-strnlen.h: New file.
29711
29712         Tests for module 'unistr/u32-strlen'.
29713         * modules/unistr/u32-strlen-tests: New file.
29714         * tests/unistr/test-u32-strlen.c: New file.
29715
29716         Tests for module 'unistr/u16-strlen'.
29717         * modules/unistr/u16-strlen-tests: New file.
29718         * tests/unistr/test-u16-strlen.c: New file.
29719
29720         Tests for module 'unistr/u8-strlen'.
29721         * modules/unistr/u8-strlen-tests: New file.
29722         * tests/unistr/test-u8-strlen.c: New file.
29723
29724         Tests for module 'unistr/u32-prev'.
29725         * modules/unistr/u32-prev-tests: New file.
29726         * tests/unistr/test-u32-prev.c: New file.
29727
29728         Tests for module 'unistr/u16-prev'.
29729         * modules/unistr/u16-prev-tests: New file.
29730         * tests/unistr/test-u16-prev.c: New file.
29731
29732         Tests for module 'unistr/u8-prev'.
29733         * modules/unistr/u8-prev-tests: New file.
29734         * tests/unistr/test-u8-prev.c: New file.
29735
29736         Tests for module 'unistr/u32-next'.
29737         * modules/unistr/u32-next-tests: New file.
29738         * tests/unistr/test-u32-next.c: New file.
29739
29740         Tests for module 'unistr/u16-next'.
29741         * modules/unistr/u16-next-tests: New file.
29742         * tests/unistr/test-u16-next.c: New file.
29743
29744         Tests for module 'unistr/u8-next'.
29745         * modules/unistr/u8-next-tests: New file.
29746         * tests/unistr/test-u8-next.c: New file.
29747
29748         Tests for module 'unistr/u32-strmbtouc'.
29749         * modules/unistr/u32-strmbtouc-tests: New file.
29750         * tests/unistr/test-u32-strmbtouc.c: New file.
29751
29752         Tests for module 'unistr/u16-strmbtouc'.
29753         * modules/unistr/u16-strmbtouc-tests: New file.
29754         * tests/unistr/test-u16-strmbtouc.c: New file.
29755
29756         Tests for module 'unistr/u8-strmbtouc'.
29757         * modules/unistr/u8-strmbtouc-tests: New file.
29758         * tests/unistr/test-u8-strmbtouc.c: New file.
29759
29760         Tests for module 'unistr/u32-strmblen'.
29761         * modules/unistr/u32-strmblen-tests: New file.
29762         * tests/unistr/test-u32-strmblen.c: New file.
29763
29764         Tests for module 'unistr/u16-strmblen'.
29765         * modules/unistr/u16-strmblen-tests: New file.
29766         * tests/unistr/test-u16-strmblen.c: New file.
29767
29768         Tests for module 'unistr/u8-strmblen'.
29769         * modules/unistr/u8-strmblen-tests: New file.
29770         * tests/unistr/test-u8-strmblen.c: New file.
29771
29772         Tests for module 'unistr/u32-cpy-alloc'.
29773         * modules/unistr/u32-cpy-alloc-tests: New file.
29774         * tests/unistr/test-u32-cpy-alloc.c: New file.
29775
29776         Tests for module 'unistr/u16-cpy-alloc'.
29777         * modules/unistr/u16-cpy-alloc-tests: New file.
29778         * tests/unistr/test-u16-cpy-alloc.c: New file.
29779
29780         Tests for module 'unistr/u8-cpy-alloc'.
29781         * modules/unistr/u8-cpy-alloc-tests: New file.
29782         * tests/unistr/test-u8-cpy-alloc.c: New file.
29783         * tests/unistr/test-cpy-alloc.h: New file.
29784
29785         Tests for module 'unistr/u32-mbsnlen'.
29786         * modules/unistr/u32-mbsnlen-tests: New file.
29787         * tests/unistr/test-u32-mbsnlen.c: New file.
29788
29789         Tests for module 'unistr/u16-mbsnlen'.
29790         * modules/unistr/u16-mbsnlen-tests: New file.
29791         * tests/unistr/test-u16-mbsnlen.c: New file.
29792
29793         Tests for module 'unistr/u8-mbsnlen'.
29794         * modules/unistr/u8-mbsnlen-tests: New file.
29795         * tests/unistr/test-u8-mbsnlen.c: New file.
29796
29797         Tests for module 'unistr/u32-chr'.
29798         * modules/unistr/u32-chr-tests: New file.
29799         * tests/unistr/test-u32-chr.c: New file.
29800
29801         Tests for module 'unistr/u16-chr'.
29802         * modules/unistr/u16-chr-tests: New file.
29803         * tests/unistr/test-u16-chr.c: New file.
29804
29805         Tests for module 'unistr/u8-chr'.
29806         * modules/unistr/u8-chr-tests: New file.
29807         * tests/unistr/test-u8-chr.c: New file.
29808         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
29809
29810         Tests for module 'unistr/u32-cmp2'.
29811         * modules/unistr/u32-cmp2-tests: New file.
29812         * tests/unistr/test-u32-cmp2.c: New file.
29813
29814         Tests for module 'unistr/u16-cmp2'.
29815         * modules/unistr/u16-cmp2-tests: New file.
29816         * tests/unistr/test-u16-cmp2.c: New file.
29817
29818         Tests for module 'unistr/u8-cmp2'.
29819         * modules/unistr/u8-cmp2-tests: New file.
29820         * tests/unistr/test-u8-cmp2.c: New file.
29821         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
29822
29823         Tests for module 'unistr/u32-cmp'.
29824         * modules/unistr/u32-cmp-tests: New file.
29825         * tests/unistr/test-u32-cmp.c: New file.
29826
29827         Tests for module 'unistr/u16-cmp'.
29828         * modules/unistr/u16-cmp-tests: New file.
29829         * tests/unistr/test-u16-cmp.c: New file.
29830
29831         Tests for module 'unistr/u8-cmp'.
29832         * modules/unistr/u8-cmp-tests: New file.
29833         * tests/unistr/test-u8-cmp.c: New file.
29834         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
29835
29836         Tests for module 'unistr/u32-set'.
29837         * modules/unistr/u32-set-tests: New file.
29838         * tests/unistr/test-u32-set.c: New file.
29839
29840         Tests for module 'unistr/u16-set'.
29841         * modules/unistr/u16-set-tests: New file.
29842         * tests/unistr/test-u16-set.c: New file.
29843
29844         Tests for module 'unistr/u8-set'.
29845         * modules/unistr/u8-set-tests: New file.
29846         * tests/unistr/test-u8-set.c: New file.
29847         * tests/unistr/test-set.h: New file.
29848
29849         Tests for module 'unistr/u32-move'.
29850         * modules/unistr/u32-move-tests: New file.
29851         * tests/unistr/test-u32-move.c: New file.
29852
29853         Tests for module 'unistr/u16-move'.
29854         * modules/unistr/u16-move-tests: New file.
29855         * tests/unistr/test-u16-move.c: New file.
29856
29857         Tests for module 'unistr/u8-move'.
29858         * modules/unistr/u8-move-tests: New file.
29859         * tests/unistr/test-u8-move.c: New file.
29860         * tests/unistr/test-move.h: New file.
29861
29862         Tests for module 'unistr/u32-cpy'.
29863         * modules/unistr/u32-cpy-tests: New file.
29864         * tests/unistr/test-u32-cpy.c: New file.
29865
29866         Tests for module 'unistr/u16-cpy'.
29867         * modules/unistr/u16-cpy-tests: New file.
29868         * tests/unistr/test-u16-cpy.c: New file.
29869
29870         Tests for module 'unistr/u8-cpy'.
29871         * modules/unistr/u8-cpy-tests: New file.
29872         * tests/unistr/test-u8-cpy.c: New file.
29873         * tests/unistr/test-cpy.h: New file.
29874
29875 2010-01-09  Bruno Haible  <bruno@clisp.org>
29876
29877         Tests for module 'unistr/u32-uctomb'.
29878         * modules/unistr/u32-uctomb-tests: New file.
29879         * tests/unistr/test-u32-uctomb.c: New file.
29880
29881         Tests for module 'unistr/u16-uctomb'.
29882         * modules/unistr/u16-uctomb-tests: New file.
29883         * tests/unistr/test-u16-uctomb.c: New file.
29884
29885         Tests for module 'unistr/u8-uctomb'.
29886         * modules/unistr/u8-uctomb-tests: New file.
29887         * tests/unistr/test-u8-uctomb.c: New file.
29888
29889         Tests for module 'unistr/u32-mbtoucr'.
29890         * modules/unistr/u32-mbtoucr-tests: New file.
29891         * tests/unistr/test-u32-mbtoucr.c: New file.
29892
29893         Tests for module 'unistr/u16-mbtoucr'.
29894         * modules/unistr/u16-mbtoucr-tests: New file.
29895         * tests/unistr/test-u16-mbtoucr.c: New file.
29896
29897         Tests for module 'unistr/u8-mbtoucr'.
29898         * modules/unistr/u8-mbtoucr-tests: New file.
29899         * tests/unistr/test-u8-mbtoucr.c: New file.
29900
29901         Tests for module 'unistr/u32-mbtouc'.
29902         * modules/unistr/u32-mbtouc-tests: New file.
29903         * tests/unistr/test-u32-mbtouc.c: New file.
29904
29905         Tests for module 'unistr/u16-mbtouc'.
29906         * modules/unistr/u16-mbtouc-tests: New file.
29907         * tests/unistr/test-u16-mbtouc.c: New file.
29908
29909         Tests for module 'unistr/u8-mbtouc'.
29910         * modules/unistr/u8-mbtouc-tests: New file.
29911         * tests/unistr/test-u8-mbtouc.c: New file.
29912
29913         Tests for module 'unistr/u32-mbtouc-unsafe'.
29914         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
29915         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
29916         * tests/unistr/test-u32-mbtouc.h: New file.
29917
29918         Tests for module 'unistr/u16-mbtouc-unsafe'.
29919         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
29920         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
29921         * tests/unistr/test-u16-mbtouc.h: New file.
29922
29923         Tests for module 'unistr/u8-mbtouc-unsafe'.
29924         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
29925         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
29926         * tests/unistr/test-u8-mbtouc.h: New file.
29927
29928         Tests for module 'unistr/u32-mblen'.
29929         * modules/unistr/u32-mblen-tests: New file.
29930         * tests/unistr/test-u32-mblen.c: New file.
29931
29932         Tests for module 'unistr/u16-mblen'.
29933         * modules/unistr/u16-mblen-tests: New file.
29934         * tests/unistr/test-u16-mblen.c: New file.
29935
29936         Tests for module 'unistr/u8-mblen'.
29937         * modules/unistr/u8-mblen-tests: New file.
29938         * tests/unistr/test-u8-mblen.c: New file.
29939
29940         Tests for module 'unistr/u32-to-u16'.
29941         * modules/unistr/u32-to-u16-tests: New file.
29942         * tests/unistr/test-u32-to-u16.c: New file.
29943
29944         Tests for module 'unistr/u32-to-u8'.
29945         * modules/unistr/u32-to-u8-tests: New file.
29946         * tests/unistr/test-u32-to-u8.c: New file.
29947
29948         Tests for module 'unistr/u16-to-u32'.
29949         * modules/unistr/u16-to-u32-tests: New file.
29950         * tests/unistr/test-u16-to-u32.c: New file.
29951
29952         Tests for module 'unistr/u16-to-u8'.
29953         * modules/unistr/u16-to-u8-tests: New file.
29954         * tests/unistr/test-u16-to-u8.c: New file.
29955
29956         Tests for module 'unistr/u8-to-u32'.
29957         * modules/unistr/u8-to-u32-tests: New file.
29958         * tests/unistr/test-u8-to-u32.c: New file.
29959
29960         Tests for module 'unistr/u8-to-u16'.
29961         * modules/unistr/u8-to-u16-tests: New file.
29962         * tests/unistr/test-u8-to-u16.c: New file.
29963
29964         Tests for module 'unistr/u32-check'.
29965         * modules/unistr/u32-check-tests: New file.
29966         * tests/unistr/test-u32-check.c: New file.
29967
29968         Tests for module 'unistr/u16-check'.
29969         * modules/unistr/u16-check-tests: New file.
29970         * tests/unistr/test-u16-check.c: New file.
29971
29972         Tests for module 'unistr/u8-check'.
29973         * modules/unistr/u8-check-tests: New file.
29974         * tests/unistr/test-u8-check.c: New file.
29975
29976         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
29977         (category_equals): New function.
29978         (main): Add more tests.
29979         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
29980
29981         * tests/unictype/test-bidi_byname.c (main): Add more tests.
29982
29983 2010-01-10  Bruno Haible  <bruno@clisp.org>
29984
29985         unistr/u*-strcoll: Try harder to distinguish different strings.
29986         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
29987         compare s1 and s2 to see if they are different.
29988
29989 2010-01-10  Bruno Haible  <bruno@clisp.org>
29990
29991         unistr/u*-stpncpy: Fix the return value.
29992         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
29993         description of the return value consistent with stpncpy in glibc.
29994         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
29995         written non-NUL unit.
29996
29997 2010-01-10  Bruno Haible  <bruno@clisp.org>
29998
29999         unistr/u*-next: Add missing dependencies.
30000         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
30001         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
30002         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
30003
30004 2010-01-10  Bruno Haible  <bruno@clisp.org>
30005
30006         unistr/u8-mbsnlen: Fix return value for incomplete character.
30007         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
30008         u8_mblen.
30009         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
30010         Remove unistr/u8-mblen.
30011         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
30012         u16_mblen.
30013         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
30014         Remove unistr/u16-mblen.
30015
30016 2010-01-10  Bruno Haible  <bruno@clisp.org>
30017
30018         wchar: Fix compilation error when <wchar.h> is used from coreutils.
30019         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
30020         Reported by Brian Gough <bjg@gnu.org> and
30021         Chris Clayton <chris2553@googlemail.com> via
30022         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
30023
30024 2010-01-09  Bruno Haible  <bruno@clisp.org>
30025
30026         unistr/u16-to-u32: Reject invalid input.
30027         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
30028         u16_mbtouc.
30029         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
30030         Remove unistr/u16-mbtouc.
30031
30032         unistr/u16-to-u8: Reject invalid input.
30033         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
30034         u16_mbtouc.
30035         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
30036         Remove unistr/u16-mbtouc.
30037
30038         unistr/u8-to-u32: Reject invalid input.
30039         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
30040         u8_mbtouc.
30041         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
30042         Remove unistr/u8-mbtouc.
30043
30044         unistr/u8-to-u16: Reject invalid input.
30045         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
30046         u8_mbtouc.
30047         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
30048         Remove unistr/u8-mbtouc.
30049
30050 2010-01-09  Bruno Haible  <bruno@clisp.org>
30051
30052         Tests for module 'getlogin'.
30053         * modules/getlogin-tests: New file.
30054         * tests/test-getlogin.c: New file.
30055
30056         New module 'getlogin'.
30057         * lib/unistd.in.h (getlogin): New declaration.
30058         * lib/getlogin.c: New file.
30059         * m4/getlogin.m4: New file.
30060         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
30061         HAVE_GETLOGIN.
30062         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
30063         HAVE_GETLOGIN.
30064         * modules/getlogin: New file.
30065         * doc/posix-functions/getlogin.texi: Mention the new module.
30066         Reported by John W. Eaton <jwe@gnu.org>.
30067
30068 2010-01-09  Bruno Haible  <bruno@clisp.org>
30069
30070         getlogin_r: Support for native Windows.
30071         * lib/getlogin_r.c: Include <windows.h>
30072         (getlogin_r): Implement for native Windows.
30073         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
30074         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
30075         via John W. Eaton <jwe@gnu.org>.
30076
30077 2010-01-09  Bruno Haible  <bruno@clisp.org>
30078
30079         getlogin_r: Small fixes.
30080         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
30081         succeeds.
30082         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
30083         before testing whether getlogin_r is declared. No need to set
30084         HAVE_DECL_GETLOGIN_R to 1.
30085         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
30086
30087 2010-01-09  Bruno Haible  <bruno@clisp.org>
30088
30089         * lib/unistd.in.h (getlogin_r): Add comment.
30090
30091 2010-01-09  Bruno Haible  <bruno@clisp.org>
30092
30093         Tests for module 'getlogin_r'.
30094         * modules/getlogin_r-tests: New file.
30095         * tests/test-getlogin_r.c: New file.
30096
30097 2010-01-09  Jim Meyering  <meyering@redhat.com>
30098
30099         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
30100         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
30101         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
30102
30103 2010-01-08  Simon Josefsson  <simon@josefsson.org>
30104
30105         * lib/dup2.c (rpl_dup2): Improve comment.
30106
30107 2010-01-08  Eric Blake  <ebb9@byu.net>
30108
30109         maint.mk: allow packages to add makefile @@ exceptions
30110         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
30111         (sc_makefile_check): Rename...
30112         (sc_makefile_at_at_check): ...to this, and use hook.
30113
30114         dup2: work around mingw bug
30115         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
30116         Reported by Simon Josefsson.
30117
30118 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
30119
30120         glob: Fix C++ compilation.
30121         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
30122         C++.
30123
30124 2010-01-07  Bruno Haible  <bruno@clisp.org>
30125
30126         Fix indentation of wctype.in.h, broken since 2007-01-06.
30127         * lib/wctype.in.h: Fix indentation of preprocessor directives.
30128
30129 2010-01-07  Bruno Haible  <bruno@clisp.org>
30130
30131         mbslen: Avoid collision with system function.
30132         * lib/string.in.h [MirBSD]: Include <wchar.h>.
30133         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
30134         * m4/mbslen.m4: New file.
30135         * modules/mbslen (Files): Add it.
30136         (configure.ac): Invoke gl_MBSLEN.
30137         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
30138         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
30139         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
30140         via Ian Beckwith <ianb@erislabs.net>.
30141
30142 2010-01-07  Bruno Haible  <bruno@clisp.org>
30143
30144         dirent: Document the last fix.
30145         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
30146
30147 2010-01-07  Bruno Haible  <bruno@clisp.org>
30148
30149         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
30150         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
30151         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
30152         va_list are defined.
30153         * doc/posix-headers/stdio.texi: Document the bug of missing types.
30154         Reported by Eric Blake.
30155
30156 2010-01-07  Bruno Haible  <bruno@clisp.org>
30157
30158         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
30159         * modules/xlist (Depends-on): Add 'list',
30160         * modules/xoset (Depends-on): Add 'oset'.
30161         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30162
30163 2010-01-07  Bruno Haible  <bruno@clisp.org>
30164
30165         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
30166         * doc/posix-functions/strncasecmp.texi: Likewise.
30167
30168 2010-01-07  Bruno Haible  <bruno@clisp.org>
30169
30170         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
30171
30172 2010-01-07  John W. Eaton  <jwe@octave.org>
30173
30174         wctype: allow C++ use
30175         * lib/wctype.in.h: Add extern "C" block for C++.
30176
30177 2010-01-06  Eric Blake  <ebb9@byu.net>
30178
30179         maint.mk: detect incorrect GFDL usage
30180         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
30181
30182 2010-01-06  Jim Meyering  <meyering@redhat.com>
30183         and Eric Blake  <ebb9@byu.net>
30184
30185         maint.mk: ignore multi-line copyright in NEWS
30186         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
30187
30188 2010-01-06  Eric Blake  <ebb9@byu.net>
30189
30190         select: add missing dependency
30191         * modules/select-tests (Depends-on): Move sockets dependency...
30192         * modules/select (Depends-on): ...here.
30193         Reported by Ian Beckwith.
30194
30195         doc: regenerate INSTALL
30196         * doc/INSTALL: Reflect recent autoconf update.
30197         * doc/INSTALL.ISO: Likewise.
30198         * doc/INSTALL.UTF-8: Likewise.
30199
30200         pread: fix compilation on glibc
30201         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
30202         Reported by Ralf Wildenhues.
30203
30204         dirent: fix test failure
30205         * lib/dirent.in.h (includes): Guarantee ino_t.
30206         Reported by Ralf Wildenhues.
30207
30208 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
30209
30210         linkat, renameat: avoid bad free
30211         * lib/at-func2.c (at_func2): Fix typo.
30212         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
30213
30214 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30215
30216         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
30217         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
30218         to avoid failure of symlink test later.
30219
30220 2010-01-06  Eric Blake  <ebb9@byu.net>
30221
30222         stdio, unistd: guarantee ssize_t
30223         * lib/unistd.in.h (includes): Ensure that types required by POSIX
30224         2008 are exposed when needed.
30225         * lib/stdio.in.h (includes): Likewise.
30226         Reported by Ralf Wildenhues.
30227
30228 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
30229
30230         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
30231         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
30232         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
30233
30234 2010-01-06  Jim Meyering  <meyering@redhat.com>
30235
30236         readtokens: this module *does* require xalloc.h
30237         It uses only functions that were omitted by the old syntax-check rule.
30238         * lib/readtokens.c: Include "xalloc.h" once again.
30239         * modules/readtokens (Depends-on): Add xalloc.
30240         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
30241
30242 2010-01-05  Eric Blake  <ebb9@byu.net>
30243
30244         maint: support 'make announcement' from a VPATH build
30245         * top/maint.mk (announcement): Look for correct NEWS file.
30246
30247 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
30248
30249         utimens (fdutimens): ignore a negative FD, per contract
30250         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
30251         when we have a valid file descriptor.  Otherwise, using a brand
30252         new glibc (with just-patched futimens that now fails with EBADF)
30253         would cause this function to fail with ENOSYS.
30254         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
30255         See also http://bugzilla.redhat.com/552320.
30256
30257 2010-01-05  Eric Blake  <ebb9@byu.net>
30258
30259         strcase: document what it provides
30260         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
30261         gnulib module.
30262         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
30263         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
30264
30265 2010-01-05  Jim Meyering  <meyering@redhat.com>
30266
30267         maint: remove useless inclusions of "xalloc.h"
30268         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
30269         * lib/readtokens.c: Likewise.
30270         * lib/same.c: Likewise.
30271         * modules/getloadavg (Depends-on): Remove xalloc.
30272         * modules/readtokens: Likewise.
30273         * modules/same: Likewise.
30274
30275         maint.mk: include 4 more function names in alloca.h-checking regexp
30276         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
30277         regexp.  Before, we would give a false-positive (saying alloca.h
30278         is included unnecessarily) when the only uses involved omitted symbols.
30279
30280         xalloc.h: use consistent formatting
30281         * lib/xalloc.h: Move declarations to start in the first column.
30282
30283 2010-01-05  Eric Blake  <ebb9@byu.net>
30284
30285         mkdir: avoid xalloc
30286         * lib/mkdir.c (includes): Drop unused header.
30287         Reported by John W. Eaton.
30288
30289 2010-01-04  Jim Meyering  <meyering@redhat.com>
30290
30291         nl_langinfo: avoid configure-time syntax error
30292         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
30293         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
30294         the empty string.  Don't let that provoke a shell syntax error.
30295
30296         regcomp, regexec, fnmatch: avoid array bounds read error
30297         * lib/regcomp.c (build_equiv_class): From glibc:
30298         Use only the low 24 bits of a findidx return value as an index
30299         into the weights array.  Patch by Ulrich Drepper:
30300         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
30301         * lib/regexec.c (check_node_accept_bytes): Likewise.
30302         * lib/fnmatch_loop.c (FCT): Likewise.
30303
30304         regcomp: skip collseq lookup when there are no rules
30305         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
30306         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
30307
30308         regcomp: recognize ill-formed { } expressions
30309         * lib/regcomp.c (parse_dup_op): From glibc:
30310         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
30311
30312         regcomp: fix typo in comment
30313         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
30314         s/satisfy/satisfies/.
30315
30316         regcomp: sync from glibc: remove dead store
30317         * lib/regcomp.c (duplicate_node_closure): Remove useless
30318         search_duplicated_node call and dead store.
30319
30320         regcomp: sync from glibc; always use nl_langinfo
30321         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
30322         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
30323         * modules/regex (Depends-on): Add nl_langinfo.
30324
30325 2010-01-04  Eric Blake  <ebb9@byu.net>
30326
30327         fdopendir: fix configure test
30328         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
30329
30330 2010-01-01  Bruno Haible  <bruno@clisp.org>
30331
30332         wchar: Remove unused configure check.
30333         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
30334
30335 2010-01-01  Eric Blake  <ebb9@byu.net>
30336
30337         headers: make check of system header explicit
30338         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
30339         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
30340         ourselves.
30341         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
30342         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30343         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
30344         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
30345         internals.
30346         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
30347         missing.
30348         Suggested by Bruno Haible.
30349
30350 2010-01-01  Jim Meyering  <meyering@redhat.com>
30351
30352         ChangeLog: tweak to eliminate unnecessary copyright line
30353         * ChangeLog: Remove a copyright line that was mistakenly updated
30354         by today's update-copyright run.  Reported by Eric Blake.
30355
30356         test-update-copyright: don't let envvar setting cause test failure
30357         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
30358
30359 2010-01-01  Bruno Haible  <bruno@clisp.org>
30360
30361         localename: Avoid gcc warning.
30362         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
30363         function if it is not used.
30364
30365 2010-01-01  Jim Meyering  <meyering@redhat.com>
30366
30367         update nearly all FSF copyright year lists to include 2010
30368         Use the same procedure as for 2009, outlined in
30369         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
30370
30371         version-etc: set COPYRIGHT_YEAR to 2010
30372         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
30373
30374 2009-12-31  Eric Blake  <ebb9@byu.net>
30375
30376         doc: correct availability of cygwin 1.5.x getopt
30377         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
30378         variables.
30379         * doc/posix-functions/opterr.texi (opterr): Likewise.
30380         * doc/posix-functions/optind.texi (optind): Likewise.
30381         * doc/posix-functions/optopt.texi (optopt): Likewise.
30382         * doc/posix-functions/tzname.texi (tzname): Likewise.
30383
30384         openat: update maintainer
30385         * modules/openat (Maintainer): Add myself.
30386
30387         utimens: avoid shadowing warning
30388         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
30389         buffers into one, to avoid shadowing, as well as avoiding a
30390         redundant stat.
30391         Reported by Jim Meyering.
30392
30393         test-dup2: avoid compiler warning
30394         * tests/test-dup2.c (is_inheritable): Only define if used.
30395
30396 2010-01-01  Bruno Haible  <bruno@clisp.org>
30397
30398         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
30399         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
30400         defined, use wctomb instead of wcrtomb.
30401
30402 2010-01-01  Bruno Haible  <bruno@clisp.org>
30403
30404         iconv: Reject native Solaris iconv.
30405         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
30406         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
30407
30408 2009-12-31  Bruno Haible  <bruno@clisp.org>
30409
30410         * tests/test-signal.c (main): Remove test of 'SIG'.
30411
30412 2009-12-31  Bruno Haible  <bruno@clisp.org>
30413
30414         spawn: Fix incomplete fix.
30415         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
30416         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
30417         warnings for GNULIB_POSIXCHECK again.
30418         Reported by Eric Blake.
30419
30420 2009-12-31  Bruno Haible  <bruno@clisp.org>
30421
30422         Avoid namespace pollution on glibc systems.
30423         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
30424         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
30425         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
30426         glibc systems.
30427
30428 2009-12-31  Bruno Haible  <bruno@clisp.org>
30429
30430         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
30431         (gl_REPLACE_WCHAR_H): Turn into a no-op.
30432         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
30433         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
30434         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
30435         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
30436         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
30437
30438 2009-12-31  Bruno Haible  <bruno@clisp.org>
30439
30440         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30441         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
30442         afterwards.
30443
30444 2009-12-31  Bruno Haible  <bruno@clisp.org>
30445
30446         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
30447         SYS_UTSNAME_H.
30448
30449 2009-12-31  Bruno Haible  <bruno@clisp.org>
30450
30451         spawn: Fix misapplied patch.
30452         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
30453         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
30454         warnings for GNULIB_POSIXCHECK.
30455
30456 2009-12-31  Bruno Haible  <bruno@clisp.org>
30457
30458         times: Update after sys_times changed.
30459         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
30460         * modules/times (Files): Add it.
30461         (configure.ac): Invoke gl_FUNC_TIMES.
30462
30463 2009-12-31  Bruno Haible  <bruno@clisp.org>
30464
30465         Use AC_C_INLINE where necessary.
30466         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
30467         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
30468         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
30469         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
30470         * m4/mbfile.m4 (gl_MBFILE): Likewise.
30471         * m4/mbiter.m4 (gl_MBITER): Likewise.
30472         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
30473         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
30474         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
30475         * modules/u64 (configure.ac): Likewise.
30476
30477 2009-12-31  Bruno Haible  <bruno@clisp.org>
30478
30479         Use AC_C_INLINE instead of module 'inline' where possible.
30480         * modules/inline (Description): Clarify purpose.
30481         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
30482         * modules/count-one-bits (Depends-on): Remove inline.
30483         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
30484         * modules/openat (Depends-on): Remove inline.
30485         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
30486         instead of depending on module 'inline'.
30487         * modules/filevercmp (Depends-on, configure.ac): Likewise.
30488         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
30489         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
30490         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
30491         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
30492         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
30493         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
30494         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
30495         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
30496         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
30497         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
30498         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
30499         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
30500         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
30501         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
30502         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
30503         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
30504         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
30505         Likewise.
30506         * modules/unictype/property-ascii-hex-digit (Depends-on,
30507         configure.ac): Likewise.
30508         * modules/unictype/property-bidi-arabic-digit (Depends-on,
30509         configure.ac): Likewise.
30510         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
30511         configure.ac): Likewise.
30512         * modules/unictype/property-bidi-block-separator (Depends-on,
30513         configure.ac): Likewise.
30514         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
30515         configure.ac): Likewise.
30516         * modules/unictype/property-bidi-common-separator (Depends-on,
30517         configure.ac): Likewise.
30518         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
30519         Likewise.
30520         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
30521         configure.ac): Likewise.
30522         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
30523         configure.ac): Likewise.
30524         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
30525         configure.ac): Likewise.
30526         * modules/unictype/property-bidi-european-digit (Depends-on,
30527         configure.ac): Likewise.
30528         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
30529         configure.ac): Likewise.
30530         * modules/unictype/property-bidi-left-to-right (Depends-on,
30531         configure.ac): Likewise.
30532         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
30533         configure.ac): Likewise.
30534         * modules/unictype/property-bidi-other-neutral (Depends-on,
30535         configure.ac): Likewise.
30536         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
30537         Likewise.
30538         * modules/unictype/property-bidi-segment-separator (Depends-on,
30539         configure.ac): Likewise.
30540         * modules/unictype/property-bidi-whitespace (Depends-on,
30541         configure.ac): Likewise.
30542         * modules/unictype/property-combining (Depends-on, configure.ac):
30543         Likewise.
30544         * modules/unictype/property-composite (Depends-on, configure.ac):
30545         Likewise.
30546         * modules/unictype/property-currency-symbol (Depends-on,
30547         configure.ac): Likewise.
30548         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
30549         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
30550         Likewise.
30551         * modules/unictype/property-default-ignorable-code-point (Depends-on,
30552         configure.ac): Likewise.
30553         * modules/unictype/property-deprecated (Depends-on, configure.ac):
30554         Likewise.
30555         * modules/unictype/property-diacritic (Depends-on, configure.ac):
30556         Likewise.
30557         * modules/unictype/property-extender (Depends-on, configure.ac):
30558         Likewise.
30559         * modules/unictype/property-format-control (Depends-on, configure.ac):
30560         Likewise.
30561         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
30562         Likewise.
30563         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
30564         Likewise.
30565         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
30566         Likewise.
30567         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
30568         Likewise.
30569         * modules/unictype/property-hyphen (Depends-on, configure.ac):
30570         Likewise.
30571         * modules/unictype/property-id-continue (Depends-on, configure.ac):
30572         Likewise.
30573         * modules/unictype/property-id-start (Depends-on, configure.ac):
30574         Likewise.
30575         * modules/unictype/property-ideographic (Depends-on, configure.ac):
30576         Likewise.
30577         * modules/unictype/property-ids-binary-operator (Depends-on,
30578         configure.ac): Likewise.
30579         * modules/unictype/property-ids-trinary-operator (Depends-on,
30580         configure.ac): Likewise.
30581         * modules/unictype/property-ignorable-control (Depends-on,
30582         configure.ac): Likewise.
30583         * modules/unictype/property-iso-control (Depends-on, configure.ac):
30584         Likewise.
30585         * modules/unictype/property-join-control (Depends-on, configure.ac):
30586         Likewise.
30587         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
30588         Likewise.
30589         * modules/unictype/property-line-separator (Depends-on, configure.ac):
30590         Likewise.
30591         * modules/unictype/property-logical-order-exception (Depends-on,
30592         configure.ac): Likewise.
30593         * modules/unictype/property-lowercase (Depends-on, configure.ac):
30594         Likewise.
30595         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
30596         * modules/unictype/property-non-break (Depends-on, configure.ac):
30597         Likewise.
30598         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
30599         Likewise.
30600         * modules/unictype/property-numeric (Depends-on, configure.ac):
30601         Likewise.
30602         * modules/unictype/property-other-alphabetic (Depends-on,
30603         configure.ac): Likewise.
30604         * modules/unictype/property-other-default-ignorable-code-point
30605         (Depends-on, configure.ac): Likewise.
30606         * modules/unictype/property-other-grapheme-extend (Depends-on,
30607         configure.ac): Likewise.
30608         * modules/unictype/property-other-id-continue (Depends-on,
30609         configure.ac): Likewise.
30610         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
30611         Likewise.
30612         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
30613         Likewise.
30614         * modules/unictype/property-other-math (Depends-on, configure.ac):
30615         Likewise.
30616         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
30617         Likewise.
30618         * modules/unictype/property-paired-punctuation (Depends-on,
30619         configure.ac): Likewise.
30620         * modules/unictype/property-paragraph-separator (Depends-on,
30621         configure.ac): Likewise.
30622         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
30623         Likewise.
30624         * modules/unictype/property-pattern-white-space (Depends-on,
30625         configure.ac): Likewise.
30626         * modules/unictype/property-private-use (Depends-on, configure.ac):
30627         Likewise.
30628         * modules/unictype/property-punctuation (Depends-on, configure.ac):
30629         Likewise.
30630         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
30631         Likewise.
30632         * modules/unictype/property-radical (Depends-on, configure.ac):
30633         Likewise.
30634         * modules/unictype/property-sentence-terminal (Depends-on,
30635         configure.ac): Likewise.
30636         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
30637         Likewise.
30638         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
30639         * modules/unictype/property-terminal-punctuation (Depends-on,
30640         configure.ac): Likewise.
30641         * modules/unictype/property-titlecase (Depends-on, configure.ac):
30642         Likewise.
30643         * modules/unictype/property-unassigned-code-value (Depends-on,
30644         configure.ac): Likewise.
30645         * modules/unictype/property-unified-ideograph (Depends-on,
30646         configure.ac): Likewise.
30647         * modules/unictype/property-uppercase (Depends-on, configure.ac):
30648         Likewise.
30649         * modules/unictype/property-variation-selector (Depends-on,
30650         configure.ac): Likewise.
30651         * modules/unictype/property-white-space (Depends-on, configure.ac):
30652         Likewise.
30653         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
30654         Likewise.
30655         * modules/unictype/property-xid-start (Depends-on, configure.ac):
30656         Likewise.
30657         * modules/unictype/property-zero-width (Depends-on, configure.ac):
30658         Likewise.
30659         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
30660         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
30661         Likewise.
30662
30663 2009-12-31  Bruno Haible  <bruno@clisp.org>
30664
30665         Remove unnecessary AC_C_INLINE invocation.
30666         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
30667         since 2009-08-21.
30668
30669 2009-12-31  Jim Meyering  <meyering@redhat.com>
30670
30671         maint.mk: don't require explicit gpg_key_ID in cfg.mk
30672         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
30673         With this change, we can all remove the gpg_key_ID = ... definition
30674         from our respective cfg.mk files.
30675
30676         maint.mk: create announcement template in ~/, not in /tmp
30677         * top/maint.mk (emit_upload_commands): Adjust.
30678         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
30679         Remove temporary file, .ci-msg.
30680
30681 2009-12-31  Eric Blake  <ebb9@byu.net>
30682
30683         link-warning: always build headers with link warnings
30684         * modules/arpa_inet (Makefile.am): Always build replacement
30685         header.
30686         * modules/ctype (Makefile.am): Likewise.
30687         * modules/dirent (Makefile.am): Likewise.
30688         * modules/inttypes (Makefile.am): Likewise.
30689         * modules/langinfo (Makefile.am): Likewise.
30690         * modules/locale (Makefile.am): Likewise.
30691         * modules/spawn (Makefile.am): Likewise.
30692         * modules/sys_file (Makefile.am): Likewise.
30693         * modules/sys_ioctl (Makefile.am): Likewise.
30694         * modules/sys_select (Makefile.am): Likewise.
30695         * modules/sys_socket (Makefile.am): Likewise.
30696         * modules/sys_times (Makefile.am): Likewise.
30697         * modules/sys_utsname (Makefile.am): Likewise.
30698         * modules/sys_wait (Makefile.am): Likewise.
30699         * modules/wchar (Makefile.am): Likewise.
30700         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
30701         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
30702         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
30703         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
30704         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
30705         Likewise.
30706         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
30707         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30708         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
30709         Likewise.
30710         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
30711         Likewise.
30712         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
30713         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
30714         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
30715         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
30716         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30717         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
30718         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
30719         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
30720         (gl_WCHAR_H_DEFAULTS): Likewise.
30721
30722 2009-12-31  Eric Blake  <ebb9@byu.net>
30723
30724         signal, spawn: use link warnings
30725         * lib/signal.in.h (sigset_t): Make unconditional.
30726         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
30727         (sigpending, sigprocmask, sigaction): Add link warnings.
30728         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
30729         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
30730         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
30731         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
30732         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
30733         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
30734         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
30735         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
30736         (posix_spawn_file_actions_destroy)
30737         (posix_spawn_file_actions_addopen)
30738         (posix_spawn_file_actions_addclose)
30739         (posix_spawn_file_actions_adddup2): Likewise.
30740         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
30741         * tests/test-signal.c (main): Enhance test.
30742
30743         spawn: improve wrapper support
30744         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
30745         (gl_SPAWN_H_DEFAULTS): New defaults.
30746         * modules/spawn (Makefile.am): Substitute them.
30747         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
30748         Only declare if missing or broken.
30749
30750         sys_times, sys_utsname: use include_next
30751         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
30752         header.
30753         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
30754         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
30755         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
30756         * modules/sys_times (Depends-on): Add include_next.
30757         (Makefile.am): Substitute additional values.
30758         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
30759         * lib/sys_times.in.h (includes): Include native header, if
30760         available.
30761         * lib/sys_utsname.in.h (includes): Likewise.
30762         * tests/test-sys_times.c (main): Enhance test.
30763
30764         fdutimensat: revert prior patch
30765         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
30766         utimens.h.
30767         Reported by Bruno Haible.
30768
30769 2009-12-30  Eric Blake  <ebb9@byu.net>
30770
30771         sys_wait: drop link-warning dependency
30772         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
30773         link-warning efforts.
30774         * lib/sys_wait.in.h: Likewise.
30775
30776         fdutimensat: remove bogus dependency
30777         * modules/fdutimensat (Depends-on): Drop inline.
30778
30779         unistd: fix typo
30780         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
30781
30782 2009-12-30  Bruno Haible  <bruno@clisp.org>
30783
30784         Fix compilation error with Solaris cc.
30785         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
30786         * lib/unicase/u16-is-invariant.c: Likewise.
30787         * lib/unicase/u32-is-invariant.c: Likewise.
30788         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
30789
30790 2009-12-30  Bruno Haible  <bruno@clisp.org>
30791
30792         Fix test crash.
30793         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
30794         locales.
30795         Reported by Simon Josefsson <simon@josefsson.org>.
30796
30797 2009-12-30  Bruno Haible  <bruno@clisp.org>
30798
30799         Fix compilation error on most platforms.
30800         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
30801         Reported by Simon Josefsson <simon@josefsson.org>
30802         and Nelson H. F. Beebe <beebe@math.utah.edu>.
30803
30804 2009-12-30  Eric Blake  <ebb9@byu.net>
30805
30806         futimens, utimensat: work around ntfs-3g bug
30807         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
30808         a ctime bug is present, and expand workaround to cover ntfs-3g.
30809         * lib/utimens.c (fdutimens, lutimens): Likewise.
30810         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
30811         (validate_timespec): Adjust return value.
30812         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
30813         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
30814         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
30815
30816 2009-12-29  Eric Blake  <ebb9@byu.net>
30817
30818         link-warning: make usage consistent
30819         * modules/ctype (Depends-on): Add link-warning.
30820         (Makefile.am): Update rules accordingly.
30821         * modules/langinfo (Depends-on, Makefile.am): Likewise.
30822         * modules/locale (Depends-on, Makefile.am): Likewise.
30823         * modules/sys_file (Makefile.am): Likewise.
30824         * modules/getopt-posix (Makefile.am): Delete unused link warning
30825         efforts.
30826         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
30827         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
30828         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
30829         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
30830
30831         stdio: remove unused variables
30832         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
30833         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
30834         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30835
30836         tests: test more substitute headers
30837         * modules/ctype-tests: New file.
30838         * modules/dirent-tests: Likewise.
30839         * modules/spawn-tests: Likewise.
30840         * modules/sys_file-tests: Likewise.
30841         * modules/sys_ioctl-tests: Likewise.
30842         * modules/sys_wait-tests: Likewise.
30843         * tests/test-ctype.c: Likewise.
30844         * tests/test-dirent.c: Likewise.
30845         * tests/test-spawn.c: Likewise.
30846         * tests/test-sys_file.c: Likewise.
30847         * tests/test-sys_ioctl.c: Likewise.
30848         * tests/test-sys_wait.c: Likewise.
30849         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
30850         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
30851         whether or not flock is in use.
30852
30853         tests: remove License section from module
30854         * modules/arpa_inet-tests: Remove unneeded section.
30855         * modules/byteswap-tests: Likewise.
30856         * modules/ceilf-tests: Likewise.
30857         * modules/ceill-tests: Likewise.
30858         * modules/crypto/des-tests: Likewise.
30859         * modules/crypto/gc-arcfour-tests: Likewise.
30860         * modules/crypto/gc-arctwo-tests: Likewise.
30861         * modules/crypto/gc-des-tests: Likewise.
30862         * modules/crypto/gc-hmac-md5-tests: Likewise.
30863         * modules/crypto/gc-hmac-sha1-tests: Likewise.
30864         * modules/crypto/gc-md2-tests: Likewise.
30865         * modules/crypto/gc-md4-tests: Likewise.
30866         * modules/crypto/gc-md5-tests: Likewise.
30867         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
30868         * modules/crypto/gc-rijndael-tests: Likewise.
30869         * modules/crypto/gc-sha1-tests: Likewise.
30870         * modules/crypto/gc-tests: Likewise.
30871         * modules/crypto/md2-tests: Likewise.
30872         * modules/crypto/md4-tests: Likewise.
30873         * modules/fcntl-h-tests: Likewise.
30874         * modules/floorf-tests: Likewise.
30875         * modules/floorl-tests: Likewise.
30876         * modules/frexp-nolibm-tests: Likewise.
30877         * modules/frexp-tests: Likewise.
30878         * modules/frexpl-nolibm-tests: Likewise.
30879         * modules/frexpl-tests: Likewise.
30880         * modules/getaddrinfo-tests: Likewise.
30881         * modules/inttypes-tests: Likewise.
30882         * modules/isfinite-tests: Likewise.
30883         * modules/isinf-tests: Likewise.
30884         * modules/ldexpl-tests: Likewise.
30885         * modules/locale-tests: Likewise.
30886         * modules/math-tests: Likewise.
30887         * modules/netdb-tests: Likewise.
30888         * modules/netinet_in-tests: Likewise.
30889         * modules/printf-frexp-tests: Likewise.
30890         * modules/printf-frexpl-tests: Likewise.
30891         * modules/priv-set-tests: Likewise.
30892         * modules/random_r-tests: Likewise.
30893         * modules/round-tests: Likewise.
30894         * modules/roundf-tests: Likewise.
30895         * modules/roundl-tests: Likewise.
30896         * modules/search-tests: Likewise.
30897         * modules/select-tests: Likewise.
30898         * modules/signal-tests: Likewise.
30899         * modules/stdbool-tests: Likewise.
30900         * modules/stddef-tests: Likewise.
30901         * modules/stdint-tests: Likewise.
30902         * modules/stdio-tests: Likewise.
30903         * modules/stdlib-tests: Likewise.
30904         * modules/string-tests: Likewise.
30905         * modules/strings-tests: Likewise.
30906         * modules/sys_select-tests: Likewise.
30907         * modules/sys_socket-tests: Likewise.
30908         * modules/sys_stat-tests: Likewise.
30909         * modules/sys_time-tests: Likewise.
30910         * modules/sys_utsname-tests: Likewise.
30911         * modules/sysexits-tests: Likewise.
30912         * modules/time-tests: Likewise.
30913         * modules/trunc-tests: Likewise.
30914         * modules/truncf-tests: Likewise.
30915         * modules/truncl-tests: Likewise.
30916         * modules/tsearch-tests: Likewise.
30917         * modules/unistd-tests: Likewise.
30918         * modules/wchar-tests: Likewise.
30919         * modules/wctype-tests: Likewise.
30920
30921         tests: fix license on several tests
30922         * tests/test-des.c: Update to GPLv3+.
30923         * tests/test-flock.c: Likewise.
30924         * tests/test-fsync.c: Likewise.
30925         * tests/test-futimens.h: Likewise.
30926         * tests/test-gc-arcfour.c: Likewise.
30927         * tests/test-gc-arctwo.c: Likewise.
30928         * tests/test-gc-des.c: Likewise.
30929         * tests/test-gc-hmac-md5.c: Likewise.
30930         * tests/test-gc-hmac-sha1.c: Likewise.
30931         * tests/test-gc-md2.c: Likewise.
30932         * tests/test-gc-md4.c: Likewise.
30933         * tests/test-gc-md5.c: Likewise.
30934         * tests/test-gc-pbkdf2-sha1.c: Likewise.
30935         * tests/test-gc-rijndael.c: Likewise.
30936         * tests/test-gc-sha1.c: Likewise.
30937         * tests/test-gc.c: Likewise.
30938         * tests/test-getcwd.c: Likewise.
30939         * tests/test-link.c: Likewise.
30940         * tests/test-link.h: Likewise.
30941         * tests/test-lutimens.h: Likewise.
30942         * tests/test-md2.c: Likewise.
30943         * tests/test-md4.c: Likewise.
30944         * tests/test-mkdir.h: Likewise.
30945         * tests/test-rename.c: Likewise.
30946         * tests/test-rename.h: Likewise.
30947         * tests/test-safe-alloc.c: Likewise.
30948         * tests/test-utimens-common.h: Likewise.
30949         * tests/test-utimens.h: Likewise.
30950
30951         maint: sync license texts
30952         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
30953         * doc/gpl-3.0.texi: Revert copyright year update.
30954         * doc/lgpl-3.0.texi: Likewise.
30955
30956 2009-12-29  Jim Meyering  <meyering@redhat.com>
30957
30958         update nearly all FSF copyright year lists to include 2009
30959         The files named by the following are exempted:
30960             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
30961               test -f "$dst" && { echo "$dst"; continue; }
30962               test -d "$dst" || continue
30963               echo "$dst"/$(basename "$src")
30964             done > exempt
30965             git ls-files tests/unictype >> exempt
30966         In the remaining files, convert to all-interval notation if
30967         - there is already at least one year interval like 2000-2003
30968         - the file is maintained by me
30969         - the file is in lib/uni*/, where that style already prevails
30970         Otherwise, use update-copyright's default.
30971
30972 2009-12-29  Simon Josefsson  <simon@josefsson.org>
30973         and Eric Blake  <ebb9@byu.net>
30974
30975         tests: don't require debug system() to pass
30976         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
30977         * tests/test-rmdir.h (test_rmdir_func): Likewise.
30978         * tests/test-unlink.h (test_unlink_func): Likewise.
30979         * tests/test-fstatat.c (main): ...into callers.
30980         * tests/test-lstat.c (main): Likewise.
30981         * tests/test-rmdir.c (main): Likewise.
30982         * tests/test-unlink.c (main): Likewise.
30983         * tests/test-unlinkat.c (main): Likewise.
30984         * tests/test-areadlink-with-size.c (main): Don't require a
30985         debug-only system call to pass, aiding cross-testing to mingw.
30986         * tests/test-areadlink.c (main): Likewise.
30987         * tests/test-areadlinkat-with-size.c (main): Likewise.
30988         * tests/test-areadlinkat.c (main): Likewise.
30989         * tests/test-canonicalize-lgpl.c (main): Likewise.
30990         * tests/test-canonicalize.c (main): Likewise.
30991         * tests/test-chown.c (main): Likewise.
30992         * tests/test-fchownat.c (main): Likewise.
30993         * tests/test-lchown.c (main): Likewise.
30994         * tests/test-fdutimensat.c (main): Likewise.
30995         * tests/test-futimens.c (main): Likewise.
30996         * tests/test-link.c (main): Likewise.
30997         * tests/test-linkat.c (main): Likewise.
30998         * tests/test-mkdir.c (main): Likewise.
30999         * tests/test-mkdirat.c (main): Likewise.
31000         * tests/test-mkfifo.c (main): Likewise.
31001         * tests/test-mkfifoat.c (main): Likewise.
31002         * tests/test-mknod.c (main): Likewise.
31003         * tests/test-readlink.c (main): Likewise.
31004         * tests/test-remove.c (main): Likewise.
31005         * tests/test-rename.c (main): Likewise.
31006         * tests/test-renameat.c (main): Likewise.
31007         * tests/test-symlink.c (main): Likewise.
31008         * tests/test-symlinkat.c (main): Likewise.
31009         * tests/test-utimens.c (main): Likewise.
31010         * tests/test-utimensat.c (main): Likewise.
31011
31012 2009-12-29  Simon Josefsson  <simon@josefsson.org>
31013
31014         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
31015         on $(UNUSED_PARAMETER_H) to avoid build failure.
31016
31017 2009-12-28  Jim Meyering  <meyering@redhat.com>
31018
31019         update-copyright: you may specify a max. line length other than 72
31020         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
31021
31022         maint: use consistent FSF copyright line syntax
31023         * lib/posixtm.c: Add missing comma in FSF copyright line.
31024         * lib/posixtm.h: Likewise.
31025         * lib/getugroups.c: Add missing ", Inc.".
31026
31027         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
31028         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
31029         FSF copyright line.  Remove trailing blanks.
31030
31031 2009-12-28  Eric Blake  <ebb9@byu.net>
31032
31033         test-dup2: reduce dependencies
31034         * modules/cloexec (Configure.ac): Set witness.
31035         * modules/dup2-tests (Depends-on): Drop cloexec.
31036         * tests/test-dup2.c (main): Skip portion of test if cloexec module
31037         not present.
31038         Suggested by Bruno Haible.
31039
31040 2009-12-26  Bruno Haible  <bruno@clisp.org>
31041
31042         Remove an unneeded dependency.
31043         * modules/fseterr (Depends-on): Remove dup2.
31044
31045 2009-12-26  Eric Blake  <ebb9@byu.net>
31046
31047         tests: use macros.h in more places
31048         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
31049         (ASSERT_STREAM): Provide default of stderr.
31050         * tests/test-dirent-safer.c: Include macros.h, using alternate
31051         stream for assertions.
31052         * tests/test-dup-safer.c: Likewise.
31053         * tests/test-freopen-safer.c: Likewise.
31054         * tests/test-getopt.c: Likewise.
31055         * tests/test-openat-safer.c: Likewise.
31056         * tests/test-pipe.c: Likewise.
31057         * tests/test-popen-safer.c: Likewise.
31058         * modules/dirent-safer-tests (Files): Include macros.h.
31059         * modules/unistd-safer-tests (Files): Likewise.
31060         * modules/freopen-safer-tests (Files): Likewise.
31061         * modules/getopt-posix-tests (Files): Likewise.
31062         * modules/openat-safer-tests (Files): Likewise.
31063         * modules/pipe-tests (Files): Likewise.
31064
31065 2009-12-26  Bruno Haible  <bruno@clisp.org>
31066
31067         javacomp: Portability fix.
31068         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
31069         that it also works on Solaris.
31070
31071 2009-12-26  Bruno Haible  <bruno@clisp.org>
31072
31073         localename: Fix storage allocation of gl_locale_name_thread's result.
31074         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
31075         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
31076         all platforms that have 'uselocale'.
31077         (gl_locale_name_thread_unsafe): New function, extracted from
31078         gl_locale_name_thread.
31079         (gl_locale_name_thread): Call struniq on all platforms that have
31080         'uselocale'.
31081         * tests/test-localename.c (test_locale_name_thread): Check that the
31082         resulting strings are permanently allocated.
31083         * modules/localename-tests (Depends-on): Add strdup.
31084
31085 2009-12-26  Bruno Haible  <bruno@clisp.org>
31086
31087         * tests/test-localename.c (categories): Fill in the strings.
31088
31089 2009-12-26  Jim Meyering  <meyering@redhat.com>
31090
31091         isdir: complete the removal of m4/isdir.m4
31092         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
31093
31094         isdir: clean up, since at least grep still uses it
31095         * lib/isdir.c: Include "isdir.h".
31096         (S_ISDIR): Remove now-unneeded definition.
31097         * modules/isdir (Files): Add lib/isdir.h.
31098         * lib/isdir.h: New file, with declaration.
31099         * m4/isdir.m4: Remove file -- unneeded.
31100
31101 2009-12-25  Bruno Haible  <bruno@clisp.org>
31102
31103         selinux-h: Make generated .h files standalone.
31104         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
31105         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
31106         * lib/se-selinux.in.h: Likewise.
31107         * modules/selinux-h (Depends-on): Add unused-parameter.
31108         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
31109         selinux/selinux.h and selinux/context.h.
31110         Suggested by Eric Blake.
31111
31112 2009-12-25  Bruno Haible  <bruno@clisp.org>
31113
31114         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
31115         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
31116         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
31117         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
31118         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
31119
31120 2009-12-24  Bruno Haible  <bruno@clisp.org>
31121
31122         openat: Fix warning.
31123         * lib/openat-proc.c: Include <unistd.h>.
31124
31125 2009-12-24  Bruno Haible  <bruno@clisp.org>
31126
31127         New module 'unused-parameter'.
31128         * build-aux/unused-parameter.h: New file, extracted from earlier
31129         gnulib-common.m4.
31130         * modules/unused-parameter: New file.
31131         * lib/unistr.h: Include unused-parameter.h.
31132         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
31133         _GL_UNUSED.
31134         * modules/unistr/base (Depends-on): Add unused-parameter.
31135
31136 2009-12-24  Bruno Haible  <bruno@clisp.org>
31137
31138         Add missing dependencies to 'extensions' module.
31139         * m4/extensions.m4: Add comment.
31140         * modules/accept4 (Depends-on): Add extensions.
31141         * modules/dup3 (Depends-on): Likewise.
31142         * modules/fcntl (Depends-on): Likewise.
31143         * modules/futimens (Depends-on): Likewise.
31144         * modules/mknod (Depends-on): Likewise.
31145         * modules/pipe2 (Depends-on): Likewise.
31146         * modules/stat-time (Depends-on): Likewise.
31147         * modules/strcasestr-simple (Depends-on): Likewise.
31148         * modules/strsignal (Depends-on): Likewise.
31149         * modules/utimensat (Depends-on): Likewise.
31150         * modules/localcharset (Depends-on): Likewise. Needed because of
31151         gl_FCNTL_O_FLAGS.
31152         * modules/wcrtomb (Depends-on): Likewise. Needed because of
31153         AC_TYPE_MBSTATE_T.
31154         * modules/wcsnrtombs (Depends-on): Likewise.
31155         * modules/wcsrtombs (Depends-on): Likewise.
31156
31157 2009-12-24  Bruno Haible  <bruno@clisp.org>
31158
31159         binary-io: Avoid gcc warning due to SET_BINARY.
31160         * lib/binary-io.h (SET_BINARY): Cast the result to void.
31161         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
31162
31163 2009-12-24  Bruno Haible  <bruno@clisp.org>
31164
31165         Avoid future namespace pollution on glibc systems.
31166         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
31167         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
31168         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
31169         glibc systems.
31170
31171 2009-12-24  Bruno Haible  <bruno@clisp.org>
31172
31173         Refactor common macros used in tests.
31174         * tests/macros.h: New file.
31175         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
31176         and/or <stdlib.h>, if appropriate.
31177         (ASSERT, SIZEOF): Remove macros.
31178         * tests/test-areadlink-with-size.c: Likewise.
31179         * tests/test-areadlinkat.c: Likewise.
31180         * tests/test-areadlinkat-with-size.c: Likewise.
31181         * tests/test-argmatch.c: Likewise.
31182         * tests/test-argv-iter.c: Likewise.
31183         * tests/test-array-mergesort.c: Likewise.
31184         * tests/test-array_list.c: Likewise.
31185         * tests/test-array_oset.c: Likewise.
31186         * tests/test-avltree_list.c: Likewise.
31187         * tests/test-avltree_oset.c: Likewise.
31188         * tests/test-avltreehash_list.c: Likewise.
31189         * tests/test-base64.c: Likewise.
31190         * tests/test-binary-io.c: Likewise.
31191         * tests/test-bitrotate.c: Likewise.
31192         * tests/test-btowc.c: Likewise.
31193         * tests/test-byteswap.c: Likewise.
31194         * tests/test-c-ctype.c: Likewise.
31195         * tests/test-c-stack.c: Likewise.
31196         * tests/test-c-strcasecmp.c: Likewise.
31197         * tests/test-c-strcasestr.c: Likewise.
31198         * tests/test-c-strncasecmp.c: Likewise.
31199         * tests/test-c-strstr.c: Likewise.
31200         * tests/test-canonicalize-lgpl.c: Likewise.
31201         * tests/test-canonicalize.c: Likewise.
31202         * tests/test-carray_list.c: Likewise.
31203         * tests/test-ceilf1.c: Likewise.
31204         * tests/test-ceilf2.c: Likewise.
31205         * tests/test-ceill.c: Likewise.
31206         * tests/test-chown.c: Likewise.
31207         * tests/test-cloexec.c: Likewise.
31208         * tests/test-copy-acl.c: Likewise.
31209         * tests/test-copy-file.c: Likewise.
31210         * tests/test-count-one-bits.c: Likewise.
31211         * tests/test-dprintf-posix.c: Likewise.
31212         * tests/test-dup2.c: Likewise.
31213         * tests/test-dup3.c: Likewise.
31214         * tests/test-duplocale.c: Likewise.
31215         * tests/test-fbufmode.c: Likewise.
31216         * tests/test-fchdir.c: Likewise.
31217         * tests/test-fchownat.c: Likewise.
31218         * tests/test-fcntl-safer.c: Likewise.
31219         * tests/test-fcntl.c: Likewise.
31220         * tests/test-fdopendir.c: Likewise.
31221         * tests/test-fdutimensat.c: Likewise.
31222         * tests/test-fflush2.c: Likewise.
31223         * tests/test-file-has-acl.c: Likewise.
31224         * tests/test-filevercmp.c: Likewise.
31225         * tests/test-flock.c: Likewise.
31226         * tests/test-floorf1.c: Likewise.
31227         * tests/test-floorf2.c: Likewise.
31228         * tests/test-floorl.c: Likewise.
31229         * tests/test-fnmatch.c: Likewise.
31230         * tests/test-fopen.h: Likewise.
31231         * tests/test-fpending.c: Likewise.
31232         * tests/test-fprintf-posix.c: Likewise.
31233         * tests/test-fpurge.c: Likewise.
31234         * tests/test-freadable.c: Likewise.
31235         * tests/test-freadahead.c: Likewise.
31236         * tests/test-freading.c: Likewise.
31237         * tests/test-freadptr.c: Likewise.
31238         * tests/test-freadptr2.c: Likewise.
31239         * tests/test-freadseek.c: Likewise.
31240         * tests/test-freopen.c: Likewise.
31241         * tests/test-frexp.c: Likewise.
31242         * tests/test-frexpl.c: Likewise.
31243         * tests/test-fseek.c: Likewise.
31244         * tests/test-fseeko.c: Likewise.
31245         * tests/test-fstatat.c: Likewise.
31246         * tests/test-fstrcmp.c: Likewise.
31247         * tests/test-fsync.c: Likewise.
31248         * tests/test-ftell.c: Likewise.
31249         * tests/test-ftello.c: Likewise.
31250         * tests/test-func.c: Likewise.
31251         * tests/test-futimens.c: Likewise.
31252         * tests/test-fwritable.c: Likewise.
31253         * tests/test-fwriting.c: Likewise.
31254         * tests/test-getcwd.c: Likewise.
31255         * tests/test-getdate.c: Likewise.
31256         * tests/test-getdelim.c: Likewise.
31257         * tests/test-getdtablesize.c: Likewise.
31258         * tests/test-getgroups.c: Likewise.
31259         * tests/test-getline.c: Likewise.
31260         * tests/test-getndelim2.c: Likewise.
31261         * tests/test-glob.c: Likewise.
31262         * tests/test-hash.c: Likewise.
31263         * tests/test-i-ring.c: Likewise.
31264         * tests/test-iconv-utf.c: Likewise.
31265         * tests/test-iconv.c: Likewise.
31266         * tests/test-idpriv-drop.c: Likewise.
31267         * tests/test-idpriv-droptemp.c: Likewise.
31268         * tests/test-inet_ntop.c: Likewise.
31269         * tests/test-inet_pton.c: Likewise.
31270         * tests/test-isblank.c: Likewise.
31271         * tests/test-isfinite.c: Likewise.
31272         * tests/test-isinf.c: Likewise.
31273         * tests/test-isnan.c: Likewise.
31274         * tests/test-isnand.h: Likewise.
31275         * tests/test-isnanf.h: Likewise.
31276         * tests/test-isnanl.h: Likewise.
31277         * tests/test-lchown.c: Likewise.
31278         * tests/test-ldexpl.c: Likewise.
31279         * tests/test-link.c: Likewise.
31280         * tests/test-linkat.c: Likewise.
31281         * tests/test-linked_list.c: Likewise.
31282         * tests/test-linkedhash_list.c: Likewise.
31283         * tests/test-localename.c: Likewise.
31284         * tests/test-lseek.c: Likewise.
31285         * tests/test-lstat.c: Likewise.
31286         * tests/test-mbmemcasecmp.c: Likewise.
31287         * tests/test-mbmemcasecoll.c: Likewise.
31288         * tests/test-mbrtowc.c: Likewise.
31289         * tests/test-mbscasecmp.c: Likewise.
31290         * tests/test-mbscasestr1.c: Likewise.
31291         * tests/test-mbscasestr2.c: Likewise.
31292         * tests/test-mbscasestr3.c: Likewise.
31293         * tests/test-mbscasestr4.c: Likewise.
31294         * tests/test-mbschr.c: Likewise.
31295         * tests/test-mbscspn.c: Likewise.
31296         * tests/test-mbsinit.c: Likewise.
31297         * tests/test-mbsncasecmp.c: Likewise.
31298         * tests/test-mbsnrtowcs.c: Likewise.
31299         * tests/test-mbspbrk.c: Likewise.
31300         * tests/test-mbspcasecmp.c: Likewise.
31301         * tests/test-mbsrchr.c: Likewise.
31302         * tests/test-mbsrtowcs.c: Likewise.
31303         * tests/test-mbsspn.c: Likewise.
31304         * tests/test-mbsstr1.c: Likewise.
31305         * tests/test-mbsstr2.c: Likewise.
31306         * tests/test-mbsstr3.c: Likewise.
31307         * tests/test-memchr.c: Likewise.
31308         * tests/test-memchr2.c: Likewise.
31309         * tests/test-memcmp.c: Likewise.
31310         * tests/test-memmem.c: Likewise.
31311         * tests/test-memrchr.c: Likewise.
31312         * tests/test-mkdir.c: Likewise.
31313         * tests/test-mkdirat.c: Likewise.
31314         * tests/test-mkfifo.c: Likewise.
31315         * tests/test-mkfifoat.c: Likewise.
31316         * tests/test-mknod.c: Likewise.
31317         * tests/test-nanosleep.c: Likewise.
31318         * tests/test-nl_langinfo.c: Likewise.
31319         * tests/test-obstack-printf.c: Likewise.
31320         * tests/test-open.c: Likewise.
31321         * tests/test-openat.c: Likewise.
31322         * tests/test-pipe-filter-gi1.c: Likewise.
31323         * tests/test-pipe-filter-gi2-main.c: Likewise.
31324         * tests/test-pipe-filter-ii1.c: Likewise.
31325         * tests/test-pipe-filter-ii2-main.c: Likewise.
31326         * tests/test-pipe2.c: Likewise.
31327         * tests/test-popen.h: Likewise.
31328         * tests/test-posixtm.c: Likewise.
31329         * tests/test-pread.c: Likewise.
31330         * tests/test-printf-frexp.c: Likewise.
31331         * tests/test-printf-frexpl.c: Likewise.
31332         * tests/test-printf-posix.c: Likewise.
31333         * tests/test-priv-set.c: Likewise.
31334         * tests/test-quotearg.c: Likewise.
31335         * tests/test-random_r.c: Likewise.
31336         * tests/test-rawmemchr.c: Likewise.
31337         * tests/test-rbtree_list.c: Likewise.
31338         * tests/test-rbtree_oset.c: Likewise.
31339         * tests/test-rbtreehash_list.c: Likewise.
31340         * tests/test-readlink.c: Likewise.
31341         * tests/test-remove.c: Likewise.
31342         * tests/test-rename.c: Likewise.
31343         * tests/test-renameat.c: Likewise.
31344         * tests/test-rmdir.c: Likewise.
31345         * tests/test-round1.c: Likewise.
31346         * tests/test-roundf1.c: Likewise.
31347         * tests/test-roundl.c: Likewise.
31348         * tests/test-safe-alloc.c: Likewise.
31349         * tests/test-sameacls.c: Likewise.
31350         * tests/test-set-mode-acl.c: Likewise.
31351         * tests/test-setenv.c: Likewise.
31352         * tests/test-sigaction.c: Likewise.
31353         * tests/test-signbit.c: Likewise.
31354         * tests/test-sleep.c: Likewise.
31355         * tests/test-snprintf-posix.c: Likewise.
31356         * tests/test-snprintf.c: Likewise.
31357         * tests/test-sprintf-posix.c: Likewise.
31358         * tests/test-stat-time.c: Likewise.
31359         * tests/test-stat.c: Likewise.
31360         * tests/test-strcasestr.c: Likewise.
31361         * tests/test-strchrnul.c: Likewise.
31362         * tests/test-strerror.c: Likewise.
31363         * tests/test-striconv.c: Likewise.
31364         * tests/test-striconveh.c: Likewise.
31365         * tests/test-striconveha.c: Likewise.
31366         * tests/test-strsignal.c: Likewise.
31367         * tests/test-strstr.c: Likewise.
31368         * tests/test-strtod.c: Likewise.
31369         * tests/test-strverscmp.c: Likewise.
31370         * tests/test-symlink.c: Likewise.
31371         * tests/test-symlinkat.c: Likewise.
31372         * tests/test-trunc1.c: Likewise.
31373         * tests/test-trunc2.c: Likewise.
31374         * tests/test-truncf1.c: Likewise.
31375         * tests/test-truncf2.c: Likewise.
31376         * tests/test-truncl.c: Likewise.
31377         * tests/test-uname.c: Likewise.
31378         * tests/test-unlink.c: Likewise.
31379         * tests/test-unlinkat.c: Likewise.
31380         * tests/test-unsetenv.c: Likewise.
31381         * tests/test-usleep.c: Likewise.
31382         * tests/test-utimens.c: Likewise.
31383         * tests/test-utimensat.c: Likewise.
31384         * tests/test-vasnprintf-posix.c: Likewise.
31385         * tests/test-vasnprintf-posix2.c: Likewise.
31386         * tests/test-vasnprintf.c: Likewise.
31387         * tests/test-vasprintf-posix.c: Likewise.
31388         * tests/test-vasprintf.c: Likewise.
31389         * tests/test-vdprintf-posix.c: Likewise.
31390         * tests/test-vfprintf-posix.c: Likewise.
31391         * tests/test-vprintf-posix.c: Likewise.
31392         * tests/test-vsnprintf-posix.c: Likewise.
31393         * tests/test-vsnprintf.c: Likewise.
31394         * tests/test-vsprintf-posix.c: Likewise.
31395         * tests/test-wcrtomb.c: Likewise.
31396         * tests/test-wcsnrtombs.c: Likewise.
31397         * tests/test-wcsrtombs.c: Likewise.
31398         * tests/test-wctype.c: Likewise.
31399         * tests/test-wcwidth.c: Likewise.
31400         * tests/test-xfprintf-posix.c: Likewise.
31401         * tests/test-xmemdup0.c: Likewise.
31402         * tests/test-xprintf-posix.c: Likewise.
31403         * tests/test-xvasprintf.c: Likewise.
31404         * tests/unicase/test-locale-language.c: Likewise.
31405         * tests/unicase/test-mapping-part1.h: Likewise.
31406         * tests/unicase/test-predicate-part1.h: Likewise.
31407         * tests/unicase/test-u8-casecmp.c: Likewise.
31408         * tests/unicase/test-u8-casecoll.c: Likewise.
31409         * tests/unicase/test-u8-casefold.c: Likewise.
31410         * tests/unicase/test-u8-is-cased.c: Likewise.
31411         * tests/unicase/test-u8-is-casefolded.c: Likewise.
31412         * tests/unicase/test-u8-is-lowercase.c: Likewise.
31413         * tests/unicase/test-u8-is-titlecase.c: Likewise.
31414         * tests/unicase/test-u8-is-uppercase.c: Likewise.
31415         * tests/unicase/test-u8-tolower.c: Likewise.
31416         * tests/unicase/test-u8-totitle.c: Likewise.
31417         * tests/unicase/test-u8-toupper.c: Likewise.
31418         * tests/unicase/test-u16-casecmp.c: Likewise.
31419         * tests/unicase/test-u16-casecoll.c: Likewise.
31420         * tests/unicase/test-u16-casefold.c: Likewise.
31421         * tests/unicase/test-u16-is-cased.c: Likewise.
31422         * tests/unicase/test-u16-is-casefolded.c: Likewise.
31423         * tests/unicase/test-u16-is-lowercase.c: Likewise.
31424         * tests/unicase/test-u16-is-titlecase.c: Likewise.
31425         * tests/unicase/test-u16-is-uppercase.c: Likewise.
31426         * tests/unicase/test-u16-tolower.c: Likewise.
31427         * tests/unicase/test-u16-totitle.c: Likewise.
31428         * tests/unicase/test-u16-toupper.c: Likewise.
31429         * tests/unicase/test-u32-casecmp.c: Likewise.
31430         * tests/unicase/test-u32-casecoll.c: Likewise.
31431         * tests/unicase/test-u32-casefold.c: Likewise.
31432         * tests/unicase/test-u32-is-cased.c: Likewise.
31433         * tests/unicase/test-u32-is-casefolded.c: Likewise.
31434         * tests/unicase/test-u32-is-lowercase.c: Likewise.
31435         * tests/unicase/test-u32-is-titlecase.c: Likewise.
31436         * tests/unicase/test-u32-is-uppercase.c: Likewise.
31437         * tests/unicase/test-u32-tolower.c: Likewise.
31438         * tests/unicase/test-u32-totitle.c: Likewise.
31439         * tests/unicase/test-u32-toupper.c: Likewise.
31440         * tests/unicase/test-ulc-casecmp.c: Likewise.
31441         * tests/unicase/test-ulc-casecoll.c: Likewise.
31442         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
31443         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
31444         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
31445         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
31446         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
31447         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
31448         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
31449         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
31450         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
31451         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
31452         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
31453         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
31454         * tests/unictype/test-bidi_byname.c: Likewise.
31455         * tests/unictype/test-bidi_name.c: Likewise.
31456         * tests/unictype/test-bidi_of.c: Likewise.
31457         * tests/unictype/test-bidi_test.c: Likewise.
31458         * tests/unictype/test-block_list.c: Likewise.
31459         * tests/unictype/test-block_of.c: Likewise.
31460         * tests/unictype/test-block_test.c: Likewise.
31461         * tests/unictype/test-categ_and.c: Likewise.
31462         * tests/unictype/test-categ_and_not.c: Likewise.
31463         * tests/unictype/test-categ_byname.c: Likewise.
31464         * tests/unictype/test-categ_name.c: Likewise.
31465         * tests/unictype/test-categ_none.c: Likewise.
31466         * tests/unictype/test-categ_of.c: Likewise.
31467         * tests/unictype/test-categ_or.c: Likewise.
31468         * tests/unictype/test-categ_test_withtable.c: Likewise.
31469         * tests/unictype/test-combining.c: Likewise.
31470         * tests/unictype/test-decdigit.c: Likewise.
31471         * tests/unictype/test-digit.c: Likewise.
31472         * tests/unictype/test-mirror.c: Likewise.
31473         * tests/unictype/test-numeric.c: Likewise.
31474         * tests/unictype/test-pr_byname.c: Likewise.
31475         * tests/unictype/test-pr_test.c: Likewise.
31476         * tests/unictype/test-predicate-part1.h: Likewise.
31477         * tests/unictype/test-scripts.c: Likewise.
31478         * tests/unictype/test-sy_c_ident.c: Likewise.
31479         * tests/unictype/test-sy_java_ident.c: Likewise.
31480         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
31481         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
31482         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
31483         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
31484         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
31485         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
31486         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
31487         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
31488         * tests/uninorm/test-canonical-decomposition.c: Likewise.
31489         * tests/uninorm/test-compat-decomposition.c: Likewise.
31490         * tests/uninorm/test-composition.c: Likewise.
31491         * tests/uninorm/test-decomposing-form.c: Likewise.
31492         * tests/uninorm/test-decomposition.c: Likewise.
31493         * tests/uninorm/test-u8-nfc.c: Likewise.
31494         * tests/uninorm/test-u8-nfd.c: Likewise.
31495         * tests/uninorm/test-u8-nfkc.c: Likewise.
31496         * tests/uninorm/test-u8-nfkd.c: Likewise.
31497         * tests/uninorm/test-u8-normcmp.c: Likewise.
31498         * tests/uninorm/test-u8-normcoll.c: Likewise.
31499         * tests/uninorm/test-u16-nfc.c: Likewise.
31500         * tests/uninorm/test-u16-nfd.c: Likewise.
31501         * tests/uninorm/test-u16-nfkc.c: Likewise.
31502         * tests/uninorm/test-u16-nfkd.c: Likewise.
31503         * tests/uninorm/test-u16-normcmp.c: Likewise.
31504         * tests/uninorm/test-u16-normcoll.c: Likewise.
31505         * tests/uninorm/test-u32-nfc.c: Likewise.
31506         * tests/uninorm/test-u32-nfd.c: Likewise.
31507         * tests/uninorm/test-u32-nfkc.c: Likewise.
31508         * tests/uninorm/test-u32-nfkd.c: Likewise.
31509         * tests/uninorm/test-u32-normalize-big.c: Likewise.
31510         * tests/uninorm/test-u32-normcmp.c: Likewise.
31511         * tests/uninorm/test-u32-normcoll.c: Likewise.
31512         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
31513         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
31514         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
31515         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
31516         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
31517         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
31518         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
31519         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
31520         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
31521         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
31522         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
31523         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
31524         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
31525         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
31526         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
31527         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
31528         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
31529         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
31530         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
31531         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
31532         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
31533         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
31534         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
31535         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
31536         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
31537         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
31538         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
31539         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
31540         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
31541         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
31542         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
31543         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
31544         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
31545         * tests/uniwidth/test-u8-strwidth.c: Likewise.
31546         * tests/uniwidth/test-u8-width.c: Likewise.
31547         * tests/uniwidth/test-u16-strwidth.c: Likewise.
31548         * tests/uniwidth/test-u16-width.c: Likewise.
31549         * tests/uniwidth/test-u32-strwidth.c: Likewise.
31550         * tests/uniwidth/test-u32-width.c: Likewise.
31551         * tests/uniwidth/test-uc_width.c: Likewise.
31552         * tests/uniwidth/test-uc_width2.c: Likewise.
31553         * modules/acl-tests (Files): Add tests/macros.h.
31554         * modules/areadlink-tests (Files): Likewise.
31555         * modules/areadlink-with-size-tests (Files): Likewise.
31556         * modules/areadlinkat-tests (Files): Likewise.
31557         * modules/areadlinkat-with-size-tests (Files): Likewise.
31558         * modules/argmatch-tests (Files): Likewise.
31559         * modules/argv-iter-tests (Files): Likewise.
31560         * modules/array-list-tests (Files): Likewise.
31561         * modules/array-mergesort-tests (Files): Likewise.
31562         * modules/array-oset-tests (Files): Likewise.
31563         * modules/avltree-list-tests (Files): Likewise.
31564         * modules/avltree-oset-tests (Files): Likewise.
31565         * modules/avltreehash-list-tests (Files): Likewise.
31566         * modules/base64-tests (Files): Likewise.
31567         * modules/binary-io-tests (Files): Likewise.
31568         * modules/bitrotate-tests (Files): Likewise.
31569         * modules/btowc-tests (Files): Likewise.
31570         * modules/byteswap-tests (Files): Likewise.
31571         * modules/c-ctype-tests (Files): Likewise.
31572         * modules/c-stack-tests (Files): Likewise.
31573         * modules/c-strcase-tests (Files): Likewise.
31574         * modules/c-strcasestr-tests (Files): Likewise.
31575         * modules/c-strstr-tests (Files): Likewise.
31576         * modules/canonicalize-lgpl-tests (Files): Likewise.
31577         * modules/canonicalize-tests (Files): Likewise.
31578         * modules/carray-list-tests (Files): Likewise.
31579         * modules/ceilf-tests (Files): Likewise.
31580         * modules/ceill-tests (Files): Likewise.
31581         * modules/chown-tests (Files): Likewise.
31582         * modules/cloexec-tests (Files): Likewise.
31583         * modules/copy-file-tests (Files): Likewise.
31584         * modules/count-one-bits-tests (Files): Likewise.
31585         * modules/dprintf-posix-tests (Files): Likewise.
31586         * modules/dup2-tests (Files): Likewise.
31587         * modules/dup3-tests (Files): Likewise.
31588         * modules/duplocale-tests (Files): Likewise.
31589         * modules/fbufmode-tests (Files): Likewise.
31590         * modules/fchdir-tests (Files): Likewise.
31591         * modules/fcntl-safer-tests (Files): Likewise.
31592         * modules/fcntl-tests (Files): Likewise.
31593         * modules/fdopendir-tests (Files): Likewise.
31594         * modules/fdutimensat-tests (Files): Likewise.
31595         * modules/fflush-tests (Files): Likewise.
31596         * modules/filevercmp-tests (Files): Likewise.
31597         * modules/flock-tests (Files): Likewise.
31598         * modules/floorf-tests (Files): Likewise.
31599         * modules/floorl-tests (Files): Likewise.
31600         * modules/fnmatch-tests (Files): Likewise.
31601         * modules/fopen-safer-tests (Files): Likewise.
31602         * modules/fopen-tests (Files): Likewise.
31603         * modules/fpending-tests (Files): Likewise.
31604         * modules/fprintf-posix-tests (Files): Likewise.
31605         * modules/fpurge-tests (Files): Likewise.
31606         * modules/freadable-tests (Files): Likewise.
31607         * modules/freadahead-tests (Files): Likewise.
31608         * modules/freading-tests (Files): Likewise.
31609         * modules/freadptr-tests (Files): Likewise.
31610         * modules/freadseek-tests (Files): Likewise.
31611         * modules/freopen-tests (Files): Likewise.
31612         * modules/frexp-nolibm-tests (Files): Likewise.
31613         * modules/frexp-tests (Files): Likewise.
31614         * modules/frexpl-nolibm-tests (Files): Likewise.
31615         * modules/frexpl-tests (Files): Likewise.
31616         * modules/fseek-tests (Files): Likewise.
31617         * modules/fseeko-tests (Files): Likewise.
31618         * modules/fstrcmp-tests (Files): Likewise.
31619         * modules/fsync-tests (Files): Likewise.
31620         * modules/ftell-tests (Files): Likewise.
31621         * modules/ftello-tests (Files): Likewise.
31622         * modules/func-tests (Files): Likewise.
31623         * modules/futimens-tests (Files): Likewise.
31624         * modules/fwritable-tests (Files): Likewise.
31625         * modules/fwriting-tests (Files): Likewise.
31626         * modules/getcwd-tests (Files): Likewise.
31627         * modules/getdate-tests (Files): Likewise.
31628         * modules/getdelim-tests (Files): Likewise.
31629         * modules/getdtablesize-tests (Files): Likewise.
31630         * modules/getgroups-tests (Files): Likewise.
31631         * modules/getline-tests (Files): Likewise.
31632         * modules/getndelim2-tests (Files): Likewise.
31633         * modules/glob-tests (Files): Likewise.
31634         * modules/hash-tests (Files): Likewise.
31635         * modules/i-ring-tests (Files): Likewise.
31636         * modules/iconv-tests (Files): Likewise.
31637         * modules/iconv_open-utf-tests (Files): Likewise.
31638         * modules/idpriv-drop-tests (Files): Likewise.
31639         * modules/idpriv-droptemp-tests (Files): Likewise.
31640         * modules/inet_ntop-tests (Files): Likewise.
31641         * modules/inet_pton-tests (Files): Likewise.
31642         * modules/isblank-tests (Files): Likewise.
31643         * modules/isfinite-tests (Files): Likewise.
31644         * modules/isinf-tests (Files): Likewise.
31645         * modules/isnan-tests (Files): Likewise.
31646         * modules/isnand-nolibm-tests (Files): Likewise.
31647         * modules/isnand-tests (Files): Likewise.
31648         * modules/isnanf-nolibm-tests (Files): Likewise.
31649         * modules/isnanf-tests (Files): Likewise.
31650         * modules/isnanl-nolibm-tests (Files): Likewise.
31651         * modules/isnanl-tests (Files): Likewise.
31652         * modules/lchown-tests (Files): Likewise.
31653         * modules/ldexpl-tests (Files): Likewise.
31654         * modules/link-tests (Files): Likewise.
31655         * modules/linkat-tests (Files): Likewise.
31656         * modules/linked-list-tests (Files): Likewise.
31657         * modules/linkedhash-list-tests (Files): Likewise.
31658         * modules/localename-tests (Files): Likewise.
31659         * modules/lseek-tests (Files): Likewise.
31660         * modules/lstat-tests (Files): Likewise.
31661         * modules/mbmemcasecmp-tests (Files): Likewise.
31662         * modules/mbmemcasecoll-tests (Files): Likewise.
31663         * modules/mbrtowc-tests (Files): Likewise.
31664         * modules/mbscasecmp-tests (Files): Likewise.
31665         * modules/mbscasestr-tests (Files): Likewise.
31666         * modules/mbschr-tests (Files): Likewise.
31667         * modules/mbscspn-tests (Files): Likewise.
31668         * modules/mbsinit-tests (Files): Likewise.
31669         * modules/mbsncasecmp-tests (Files): Likewise.
31670         * modules/mbsnrtowcs-tests (Files): Likewise.
31671         * modules/mbspbrk-tests (Files): Likewise.
31672         * modules/mbspcasecmp-tests (Files): Likewise.
31673         * modules/mbsrchr-tests (Files): Likewise.
31674         * modules/mbsrtowcs-tests (Files): Likewise.
31675         * modules/mbsspn-tests (Files): Likewise.
31676         * modules/mbsstr-tests (Files): Likewise.
31677         * modules/memchr-tests (Files): Likewise.
31678         * modules/memchr2-tests (Files): Likewise.
31679         * modules/memcmp-tests (Files): Likewise.
31680         * modules/memmem-tests (Files): Likewise.
31681         * modules/memrchr-tests (Files): Likewise.
31682         * modules/mkdir-tests (Files): Likewise.
31683         * modules/mkfifo-tests (Files): Likewise.
31684         * modules/mkfifoat-tests (Files): Likewise.
31685         * modules/mknod-tests (Files): Likewise.
31686         * modules/nanosleep-tests (Files): Likewise.
31687         * modules/nl_langinfo-tests (Files): Likewise.
31688         * modules/obstack-printf-tests (Files): Likewise.
31689         * modules/open-tests (Files): Likewise.
31690         * modules/openat-tests (Files): Likewise.
31691         * modules/pipe-filter-gi-tests (Files): Likewise.
31692         * modules/pipe-filter-ii-tests (Files): Likewise.
31693         * modules/pipe2-tests (Files): Likewise.
31694         * modules/popen-safer-tests (Files): Likewise.
31695         * modules/popen-tests (Files): Likewise.
31696         * modules/posixtm-tests (Files): Likewise.
31697         * modules/pread-tests (Files): Likewise.
31698         * modules/printf-frexp-tests (Files): Likewise.
31699         * modules/printf-frexpl-tests (Files): Likewise.
31700         * modules/printf-posix-tests (Files): Likewise.
31701         * modules/priv-set-tests (Files): Likewise.
31702         * modules/quotearg-tests (Files): Likewise.
31703         * modules/random_r-tests (Files): Likewise.
31704         * modules/rawmemchr-tests (Files): Likewise.
31705         * modules/rbtree-list-tests (Files): Likewise.
31706         * modules/rbtree-oset-tests (Files): Likewise.
31707         * modules/rbtreehash-list-tests (Files): Likewise.
31708         * modules/readlink-tests (Files): Likewise.
31709         * modules/remove-tests (Files): Likewise.
31710         * modules/rename-tests (Files): Likewise.
31711         * modules/renameat-tests (Files): Likewise.
31712         * modules/rmdir-tests (Files): Likewise.
31713         * modules/round-tests (Files): Likewise.
31714         * modules/roundf-tests (Files): Likewise.
31715         * modules/roundl-tests (Files): Likewise.
31716         * modules/safe-alloc-tests (Files): Likewise.
31717         * modules/setenv-tests (Files): Likewise.
31718         * modules/sigaction-tests (Files): Likewise.
31719         * modules/signbit-tests (Files): Likewise.
31720         * modules/sleep-tests (Files): Likewise.
31721         * modules/snprintf-posix-tests (Files): Likewise.
31722         * modules/snprintf-tests (Files): Likewise.
31723         * modules/sprintf-posix-tests (Files): Likewise.
31724         * modules/stat-tests (Files): Likewise.
31725         * modules/stat-time-tests (Files): Likewise.
31726         * modules/strcasestr-tests (Files): Likewise.
31727         * modules/strchrnul-tests (Files): Likewise.
31728         * modules/strerror-tests (Files): Likewise.
31729         * modules/striconv-tests (Files): Likewise.
31730         * modules/striconveh-tests (Files): Likewise.
31731         * modules/striconveha-tests (Files): Likewise.
31732         * modules/strsignal-tests (Files): Likewise.
31733         * modules/strstr-tests (Files): Likewise.
31734         * modules/strtod-tests (Files): Likewise.
31735         * modules/strverscmp-tests (Files): Likewise.
31736         * modules/symlink-tests (Files): Likewise.
31737         * modules/symlinkat-tests (Files): Likewise.
31738         * modules/trunc-tests (Files): Likewise.
31739         * modules/truncf-tests (Files): Likewise.
31740         * modules/truncl-tests (Files): Likewise.
31741         * modules/uname-tests (Files): Likewise.
31742         * modules/unicase/cased-tests (Files): Likewise.
31743         * modules/unicase/ignorable-tests (Files): Likewise.
31744         * modules/unicase/locale-language-tests (Files): Likewise.
31745         * modules/unicase/tolower-tests (Files): Likewise.
31746         * modules/unicase/totitle-tests (Files): Likewise.
31747         * modules/unicase/toupper-tests (Files): Likewise.
31748         * modules/unicase/u8-casecmp-tests (Files): Likewise.
31749         * modules/unicase/u8-casecoll-tests (Files): Likewise.
31750         * modules/unicase/u8-casefold-tests (Files): Likewise.
31751         * modules/unicase/u8-is-cased-tests (Files): Likewise.
31752         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
31753         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
31754         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
31755         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
31756         * modules/unicase/u8-tolower-tests (Files): Likewise.
31757         * modules/unicase/u8-totitle-tests (Files): Likewise.
31758         * modules/unicase/u8-toupper-tests (Files): Likewise.
31759         * modules/unicase/u16-casecmp-tests (Files): Likewise.
31760         * modules/unicase/u16-casecoll-tests (Files): Likewise.
31761         * modules/unicase/u16-casefold-tests (Files): Likewise.
31762         * modules/unicase/u16-is-cased-tests (Files): Likewise.
31763         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
31764         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
31765         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
31766         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
31767         * modules/unicase/u16-tolower-tests (Files): Likewise.
31768         * modules/unicase/u16-totitle-tests (Files): Likewise.
31769         * modules/unicase/u16-toupper-tests (Files): Likewise.
31770         * modules/unicase/u32-casecmp-tests (Files): Likewise.
31771         * modules/unicase/u32-casecoll-tests (Files): Likewise.
31772         * modules/unicase/u32-casefold-tests (Files): Likewise.
31773         * modules/unicase/u32-is-cased-tests (Files): Likewise.
31774         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
31775         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
31776         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
31777         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
31778         * modules/unicase/u32-tolower-tests (Files): Likewise.
31779         * modules/unicase/u32-totitle-tests (Files): Likewise.
31780         * modules/unicase/u32-toupper-tests (Files): Likewise.
31781         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
31782         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
31783         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
31784         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
31785         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
31786         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
31787         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
31788         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
31789         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
31790         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
31791         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
31792         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
31793         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
31794         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
31795         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
31796         * modules/unictype/bidicategory-name-tests (Files): Likewise.
31797         * modules/unictype/bidicategory-of-tests (Files): Likewise.
31798         * modules/unictype/bidicategory-test-tests (Files): Likewise.
31799         * modules/unictype/block-list-tests (Files): Likewise.
31800         * modules/unictype/block-of-tests (Files): Likewise.
31801         * modules/unictype/block-test-tests (Files): Likewise.
31802         * modules/unictype/category-C-tests (Files): Likewise.
31803         * modules/unictype/category-Cc-tests (Files): Likewise.
31804         * modules/unictype/category-Cf-tests (Files): Likewise.
31805         * modules/unictype/category-Cn-tests (Files): Likewise.
31806         * modules/unictype/category-Co-tests (Files): Likewise.
31807         * modules/unictype/category-Cs-tests (Files): Likewise.
31808         * modules/unictype/category-L-tests (Files): Likewise.
31809         * modules/unictype/category-Ll-tests (Files): Likewise.
31810         * modules/unictype/category-Lm-tests (Files): Likewise.
31811         * modules/unictype/category-Lo-tests (Files): Likewise.
31812         * modules/unictype/category-Lt-tests (Files): Likewise.
31813         * modules/unictype/category-Lu-tests (Files): Likewise.
31814         * modules/unictype/category-M-tests (Files): Likewise.
31815         * modules/unictype/category-Mc-tests (Files): Likewise.
31816         * modules/unictype/category-Me-tests (Files): Likewise.
31817         * modules/unictype/category-Mn-tests (Files): Likewise.
31818         * modules/unictype/category-N-tests (Files): Likewise.
31819         * modules/unictype/category-Nd-tests (Files): Likewise.
31820         * modules/unictype/category-Nl-tests (Files): Likewise.
31821         * modules/unictype/category-No-tests (Files): Likewise.
31822         * modules/unictype/category-P-tests (Files): Likewise.
31823         * modules/unictype/category-Pc-tests (Files): Likewise.
31824         * modules/unictype/category-Pd-tests (Files): Likewise.
31825         * modules/unictype/category-Pe-tests (Files): Likewise.
31826         * modules/unictype/category-Pf-tests (Files): Likewise.
31827         * modules/unictype/category-Pi-tests (Files): Likewise.
31828         * modules/unictype/category-Po-tests (Files): Likewise.
31829         * modules/unictype/category-Ps-tests (Files): Likewise.
31830         * modules/unictype/category-S-tests (Files): Likewise.
31831         * modules/unictype/category-Sc-tests (Files): Likewise.
31832         * modules/unictype/category-Sk-tests (Files): Likewise.
31833         * modules/unictype/category-Sm-tests (Files): Likewise.
31834         * modules/unictype/category-So-tests (Files): Likewise.
31835         * modules/unictype/category-Z-tests (Files): Likewise.
31836         * modules/unictype/category-Zl-tests (Files): Likewise.
31837         * modules/unictype/category-Zp-tests (Files): Likewise.
31838         * modules/unictype/category-Zs-tests (Files): Likewise.
31839         * modules/unictype/category-and-not-tests (Files): Likewise.
31840         * modules/unictype/category-and-tests (Files): Likewise.
31841         * modules/unictype/category-byname-tests (Files): Likewise.
31842         * modules/unictype/category-name-tests (Files): Likewise.
31843         * modules/unictype/category-none-tests (Files): Likewise.
31844         * modules/unictype/category-of-tests (Files): Likewise.
31845         * modules/unictype/category-or-tests (Files): Likewise.
31846         * modules/unictype/category-test-withtable-tests (Files): Likewise.
31847         * modules/unictype/combining-class-tests (Files): Likewise.
31848         * modules/unictype/ctype-alnum-tests (Files): Likewise.
31849         * modules/unictype/ctype-alpha-tests (Files): Likewise.
31850         * modules/unictype/ctype-blank-tests (Files): Likewise.
31851         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
31852         * modules/unictype/ctype-digit-tests (Files): Likewise.
31853         * modules/unictype/ctype-graph-tests (Files): Likewise.
31854         * modules/unictype/ctype-lower-tests (Files): Likewise.
31855         * modules/unictype/ctype-print-tests (Files): Likewise.
31856         * modules/unictype/ctype-punct-tests (Files): Likewise.
31857         * modules/unictype/ctype-space-tests (Files): Likewise.
31858         * modules/unictype/ctype-upper-tests (Files): Likewise.
31859         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
31860         * modules/unictype/decimal-digit-tests (Files): Likewise.
31861         * modules/unictype/digit-tests (Files): Likewise.
31862         * modules/unictype/mirror-tests (Files): Likewise.
31863         * modules/unictype/numeric-tests (Files): Likewise.
31864         * modules/unictype/property-alphabetic-tests (Files): Likewise.
31865         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
31866         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
31867         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
31868         Likewise.
31869         * modules/unictype/property-bidi-block-separator-tests (Files):
31870         Likewise.
31871         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
31872         Likewise.
31873         * modules/unictype/property-bidi-common-separator-tests (Files):
31874         Likewise.
31875         * modules/unictype/property-bidi-control-tests (Files): Likewise.
31876         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
31877         Likewise.
31878         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
31879         Likewise.
31880         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
31881         Likewise.
31882         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
31883         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
31884         Likewise.
31885         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
31886         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
31887         Likewise.
31888         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
31889         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
31890         * modules/unictype/property-bidi-segment-separator-tests (Files):
31891         Likewise.
31892         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
31893         * modules/unictype/property-byname-tests (Files): Likewise.
31894         * modules/unictype/property-combining-tests (Files): Likewise.
31895         * modules/unictype/property-composite-tests (Files): Likewise.
31896         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
31897         * modules/unictype/property-dash-tests (Files): Likewise.
31898         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
31899         * modules/unictype/property-default-ignorable-code-point-tests (Files):
31900         Likewise.
31901         * modules/unictype/property-deprecated-tests (Files): Likewise.
31902         * modules/unictype/property-diacritic-tests (Files): Likewise.
31903         * modules/unictype/property-extender-tests (Files): Likewise.
31904         * modules/unictype/property-format-control-tests (Files): Likewise.
31905         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
31906         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
31907         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
31908         * modules/unictype/property-hex-digit-tests (Files): Likewise.
31909         * modules/unictype/property-hyphen-tests (Files): Likewise.
31910         * modules/unictype/property-id-continue-tests (Files): Likewise.
31911         * modules/unictype/property-id-start-tests (Files): Likewise.
31912         * modules/unictype/property-ideographic-tests (Files): Likewise.
31913         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
31914         * modules/unictype/property-ids-trinary-operator-tests (Files):
31915         Likewise.
31916         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
31917         * modules/unictype/property-iso-control-tests (Files): Likewise.
31918         * modules/unictype/property-join-control-tests (Files): Likewise.
31919         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
31920         * modules/unictype/property-line-separator-tests (Files): Likewise.
31921         * modules/unictype/property-logical-order-exception-tests (Files):
31922         Likewise.
31923         * modules/unictype/property-lowercase-tests (Files): Likewise.
31924         * modules/unictype/property-math-tests (Files): Likewise.
31925         * modules/unictype/property-non-break-tests (Files): Likewise.
31926         * modules/unictype/property-not-a-character-tests (Files): Likewise.
31927         * modules/unictype/property-numeric-tests (Files): Likewise.
31928         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
31929         * modules/unictype/property-other-default-ignorable-code-point-tests
31930         (Files): Likewise.
31931         * modules/unictype/property-other-grapheme-extend-tests (Files):
31932         Likewise.
31933         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
31934         * modules/unictype/property-other-id-start-tests (Files): Likewise.
31935         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
31936         * modules/unictype/property-other-math-tests (Files): Likewise.
31937         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
31938         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
31939         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
31940         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
31941         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
31942         * modules/unictype/property-private-use-tests (Files): Likewise.
31943         * modules/unictype/property-punctuation-tests (Files): Likewise.
31944         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
31945         * modules/unictype/property-radical-tests (Files): Likewise.
31946         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
31947         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
31948         * modules/unictype/property-space-tests (Files): Likewise.
31949         * modules/unictype/property-terminal-punctuation-tests (Files):
31950         Likewise.
31951         * modules/unictype/property-test-tests (Files): Likewise.
31952         * modules/unictype/property-titlecase-tests (Files): Likewise.
31953         * modules/unictype/property-unassigned-code-value-tests (Files):
31954         Likewise.
31955         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
31956         * modules/unictype/property-uppercase-tests (Files): Likewise.
31957         * modules/unictype/property-variation-selector-tests (Files): Likewise.
31958         * modules/unictype/property-white-space-tests (Files): Likewise.
31959         * modules/unictype/property-xid-continue-tests (Files): Likewise.
31960         * modules/unictype/property-xid-start-tests (Files): Likewise.
31961         * modules/unictype/property-zero-width-tests (Files): Likewise.
31962         * modules/unictype/scripts-tests (Files): Likewise.
31963         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
31964         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
31965         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
31966         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
31967         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
31968         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
31969         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
31970         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
31971         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
31972         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
31973         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
31974         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
31975         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
31976         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
31977         * modules/uninorm/composition-tests (Files): Likewise.
31978         * modules/uninorm/decomposing-form-tests (Files): Likewise.
31979         * modules/uninorm/decomposition-tests (Files): Likewise.
31980         * modules/uninorm/filter-tests (Files): Likewise.
31981         * modules/uninorm/nfc-tests (Files): Likewise.
31982         * modules/uninorm/nfd-tests (Files): Likewise.
31983         * modules/uninorm/nfkc-tests (Files): Likewise.
31984         * modules/uninorm/nfkd-tests (Files): Likewise.
31985         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
31986         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
31987         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
31988         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
31989         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
31990         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
31991         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
31992         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
31993         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
31994         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
31995         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
31996         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
31997         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
31998         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
31999         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
32000         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
32001         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
32002         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
32003         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
32004         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
32005         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
32006         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
32007         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
32008         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
32009         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
32010         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
32011         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
32012         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
32013         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
32014         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
32015         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
32016         * modules/uniwidth/u8-width-tests (Files): Likewise.
32017         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
32018         * modules/uniwidth/u16-width-tests (Files): Likewise.
32019         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
32020         * modules/uniwidth/u32-width-tests (Files): Likewise.
32021         * modules/uniwidth/width-tests (Files): Likewise.
32022         * modules/unlink-tests (Files): Likewise.
32023         * modules/unsetenv-tests (Files): Likewise.
32024         * modules/usleep-tests (Files): Likewise.
32025         * modules/utimens-tests (Files): Likewise.
32026         * modules/utimensat-tests (Files): Likewise.
32027         * modules/vasnprintf-posix-tests (Files): Likewise.
32028         * modules/vasnprintf-tests (Files): Likewise.
32029         * modules/vasprintf-posix-tests (Files): Likewise.
32030         * modules/vasprintf-tests (Files): Likewise.
32031         * modules/vdprintf-posix-tests (Files): Likewise.
32032         * modules/vfprintf-posix-tests (Files): Likewise.
32033         * modules/vprintf-posix-tests (Files): Likewise.
32034         * modules/vsnprintf-posix-tests (Files): Likewise.
32035         * modules/vsnprintf-tests (Files): Likewise.
32036         * modules/vsprintf-posix-tests (Files): Likewise.
32037         * modules/wcrtomb-tests (Files): Likewise.
32038         * modules/wcsnrtombs-tests (Files): Likewise.
32039         * modules/wcsrtombs-tests (Files): Likewise.
32040         * modules/wctype-tests (Files): Likewise.
32041         * modules/wcwidth-tests (Files): Likewise.
32042         * modules/xmemdup0-tests (Files): Likewise.
32043         * modules/xprintf-posix-tests (Files): Likewise.
32044         * modules/xvasprintf-tests (Files): Likewise.
32045
32046 2009-12-24  Eric Blake  <ebb9@byu.net>
32047
32048         test-nanosleep: fix typo
32049         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
32050         patch.
32051         Reported by Bruno Haible.
32052
32053 2009-12-24  Bruno Haible  <bruno@clisp.org>
32054
32055         Reduce namespace pollution on glibc systems.
32056         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
32057         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
32058         systems.
32059         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
32060         <getopt.h> on glibc systems.
32061         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
32062         systems.
32063         * lib/fcntl.c: Include <unistd.h> here instead.
32064
32065 2009-12-24  Bruno Haible  <bruno@clisp.org>
32066
32067         * lib/stdlib.in.h (includes): Fix typo in today's commit.
32068
32069 2009-12-24  Eric Blake  <ebb9@byu.net>
32070
32071         tests: add signature checks
32072         * tests/signature.h (SIGNATURE_CHECK): New file.
32073         * modules/atexit-tests (Files): Use it.
32074         * modules/btowc-tests (Files): Likewise.
32075         * modules/canonicalize-lgpl-tests (Files): Likewise.
32076         * modules/ceilf-tests (Files): Likewise.
32077         * modules/ceill-tests (Files): Likewise.
32078         * modules/chown-tests (Files): Likewise.
32079         * modules/dprintf-posix-tests (Files): Likewise.
32080         * modules/dup2-tests (Files): Likewise.
32081         * modules/dup3-tests (Files): Likewise.
32082         * modules/duplocale-tests (Files): Likewise.
32083         * modules/fchdir-tests (Files): Likewise.
32084         * modules/fcntl-tests (Files): Likewise.
32085         * modules/fdopendir-tests (Files): Likewise.
32086         * modules/fflush-tests (Files): Likewise.
32087         * modules/flock-tests (Files): Likewise.
32088         * modules/floorf-tests (Files): Likewise.
32089         * modules/floorl-tests (Files): Likewise.
32090         * modules/fnmatch-tests (Files): Likewise.
32091         * modules/fopen-tests (Files): Likewise.
32092         * modules/fprintf-posix-tests (Files): Likewise.
32093         * modules/freopen-tests (Files): Likewise.
32094         * modules/frexp-nolibm-tests (Files): Likewise.
32095         * modules/frexp-tests (Files): Likewise.
32096         * modules/frexpl-nolibm-tests (Files): Likewise.
32097         * modules/frexpl-tests (Files): Likewise.
32098         * modules/fseek-tests (Files): Likewise.
32099         * modules/fseeko-tests (Files): Likewise.
32100         * modules/fsync-tests (Files): Likewise.
32101         * modules/ftell-tests (Files): Likewise.
32102         * modules/ftello-tests (Files): Likewise.
32103         * modules/futimens-tests (Files): Likewise.
32104         * modules/getaddrinfo-tests (Files): Likewise.
32105         * modules/getcwd-tests (Files): Likewise.
32106         * modules/getdelim-tests (Files): Likewise.
32107         * modules/getdtablesize-tests (Files): Likewise.
32108         * modules/getgroups-tests (Files): Likewise.
32109         * modules/gethostname-tests (Files): Likewise.
32110         * modules/getline-tests (Files): Likewise.
32111         * modules/getopt-posix-tests (Files): Likewise.
32112         * modules/gettimeofday-tests (Files): Likewise.
32113         * modules/glob-tests (Files): Likewise.
32114         * modules/iconv-tests (Files): Likewise.
32115         * modules/inet_ntop-tests (Files): Likewise.
32116         * modules/inet_pton-tests (Files): Likewise.
32117         * modules/isblank-tests (Files): Likewise.
32118         * modules/lchown-tests (Files): Likewise.
32119         * modules/ldexpl-tests (Files): Likewise.
32120         * modules/link-tests (Files): Likewise.
32121         * modules/linkat-tests (Files): Likewise.
32122         * modules/lseek-tests (Files): Likewise.
32123         * modules/lstat-tests (Files): Likewise.
32124         * modules/mbrtowc-tests (Files): Likewise.
32125         * modules/mbsinit-tests (Files): Likewise.
32126         * modules/mbsnrtowcs-tests (Files): Likewise.
32127         * modules/mbsrtowcs-tests (Files): Likewise.
32128         * modules/memchr-tests (Files): Likewise.
32129         * modules/memcmp-tests (Files): Likewise.
32130         * modules/memmem-tests (Files): Likewise.
32131         * modules/memrchr-tests (Files): Likewise.
32132         * modules/mkdir-tests (Files): Likewise.
32133         * modules/mkfifo-tests (Files): Likewise.
32134         * modules/mkfifoat-tests (Files): Likewise.
32135         * modules/mknod-tests (Files): Likewise.
32136         * modules/nanosleep-tests (Files): Likewise.
32137         * modules/nl_langinfo-tests (Files): Likewise.
32138         * modules/obstack-printf-tests (Files): Likewise.
32139         * modules/open-tests (Files): Likewise.
32140         * modules/openat-tests (Files): Likewise.
32141         * modules/perror-tests (Files): Likewise.
32142         * modules/pipe2-tests (Files): Likewise.
32143         * modules/poll-tests (Files): Likewise.
32144         * modules/popen-tests (Files): Likewise.
32145         * modules/posix_spawn-tests (Files): Likewise.
32146         * modules/posix_spawnp-tests (Files): Likewise.
32147         * modules/pread-tests (Files): Likewise.
32148         * modules/printf-posix-tests (Files): Likewise.
32149         * modules/pty-tests (Files): Likewise.
32150         * modules/random_r-tests (Files): Likewise.
32151         * modules/rawmemchr-tests (Files): Likewise.
32152         * modules/readlink-tests (Files): Likewise.
32153         * modules/remove-tests (Files): Likewise.
32154         * modules/rename-tests (Files): Likewise.
32155         * modules/renameat-tests (Files): Likewise.
32156         * modules/rmdir-tests (Files): Likewise.
32157         * modules/round-tests (Files): Likewise.
32158         * modules/roundf-tests (Files): Likewise.
32159         * modules/roundl-tests (Files): Likewise.
32160         * modules/select-tests (Files): Likewise.
32161         * modules/setenv-tests (Files): Likewise.
32162         * modules/sigaction-tests (Files): Likewise.
32163         * modules/sleep-tests (Files): Likewise.
32164         * modules/snprintf-posix-tests (Files): Likewise.
32165         * modules/snprintf-tests (Files): Likewise.
32166         * modules/sprintf-posix-tests (Files): Likewise.
32167         * modules/stat-tests (Files): Likewise.
32168         * modules/strcasestr-tests (Files): Likewise.
32169         * modules/strchrnul-tests (Files): Likewise.
32170         * modules/strerror-tests (Files): Likewise.
32171         * modules/strsignal-tests (Files): Likewise.
32172         * modules/strstr-tests (Files): Likewise.
32173         * modules/strtod-tests (Files): Likewise.
32174         * modules/strverscmp-tests (Files): Likewise.
32175         * modules/symlink-tests (Files): Likewise.
32176         * modules/symlinkat-tests (Files): Likewise.
32177         * modules/times-tests (Files): Likewise.
32178         * modules/trunc-tests (Files): Likewise.
32179         * modules/truncf-tests (Files): Likewise.
32180         * modules/truncl-tests (Files): Likewise.
32181         * modules/tsearch-tests (Files): Likewise.
32182         * modules/uname-tests (Files): Likewise.
32183         * modules/unlink-tests (Files): Likewise.
32184         * modules/unsetenv-tests (Files): Likewise.
32185         * modules/usleep-tests (Files): Likewise.
32186         * modules/utimensat-tests (Files): Likewise.
32187         * modules/vasprintf-tests (Files): Likewise.
32188         * modules/vdprintf-posix-tests (Files): Likewise.
32189         * modules/vfprintf-posix-tests (Files): Likewise.
32190         * modules/vprintf-posix-tests (Files): Likewise.
32191         * modules/vsnprintf-posix-tests (Files): Likewise.
32192         * modules/vsnprintf-tests (Files): Likewise.
32193         * modules/vsprintf-posix-tests (Files): Likewise.
32194         * modules/wcrtomb-tests (Files): Likewise.
32195         * modules/wcsnrtombs-tests (Files): Likewise.
32196         * modules/wcsrtombs-tests (Files): Likewise.
32197         * modules/wcwidth-tests (Files): Likewise.
32198         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
32199         * tests/test-isinf.c (isinf): Likewise.
32200         * tests/test-isnan.c (isnan): Likewise.
32201         * tests/test-signbit.c (signbit): Likewise.
32202         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
32203         declaration, either as macro or with correct signature.
32204         (select): Ensure function under test is declared with correct
32205         signature in correct header.
32206         * tests/test-atexit.c (atexit): Likewise.
32207         * tests/test-btowc.c (btowc): Likewise.
32208         * tests/test-canonicalize-lgpl.c (realpath)
32209         (canonicalize_file_name): Likewise.
32210         * tests/test-ceilf1.c (ceilf): Likewise.
32211         * tests/test-ceill.c (ceill): Likewise.
32212         * tests/test-chown.c (chown): Likewise.
32213         * tests/test-dprintf-posix.c (dprintf): Likewise.
32214         * tests/test-dup2.c (dup2): Likewise.
32215         * tests/test-dup3.c (dup3): Likewise.
32216         * tests/test-duplocale.c (duplocale): Likewise.
32217         * tests/test-fchdir.c (fchdir): Likewise.
32218         * tests/test-fchownat.c (fchownat): Likewise.
32219         * tests/test-fcntl.c (fcntl): Likewise.
32220         * tests/test-fdopendir.c (fdopendir): Likewise.
32221         * tests/test-fflush.c (fflush): Likewise.
32222         * tests/test-flock.c (flock): Likewise.
32223         * tests/test-floorf1.c (floorf): Likewise.
32224         * tests/test-floorl.c (floorl): Likewise.
32225         * tests/test-fnmatch.c (fnmatch): Likewise.
32226         * tests/test-fopen.c (fopen): Likewise.
32227         * tests/test-fprintf-posix.c (fprintf): Likewise.
32228         * tests/test-freopen.c (freopen): Likewise.
32229         * tests/test-frexp.c (frexp): Likewise.
32230         * tests/test-frexpl.c (frexpl): Likewise.
32231         * tests/test-fseek.c (fseek): Likewise.
32232         * tests/test-fseeko.c (fseeko): Likewise.
32233         * tests/test-fstatat.c (fstatat): Likewise.
32234         * tests/test-fsync.c (fsync): Likewise.
32235         * tests/test-ftell.c (ftell): Likewise.
32236         * tests/test-ftello.c (ftello): Likewise.
32237         * tests/test-futimens.c (futimens): Likewise.
32238         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
32239         (gai_strerror): Likewise.
32240         * tests/test-getcwd.c (getcwd): Likewise.
32241         * tests/test-getdelim.c (getdelim): Likewise.
32242         * tests/test-getdtablesize.c (getdtablesize): Likewise.
32243         * tests/test-getgroups.c (getgroups): Likewise.
32244         * tests/test-gethostname.c (gethostname): Likewise.
32245         * tests/test-getline.c (getline): Likewise.
32246         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
32247         Likewise.
32248         * tests/test-gettimeofday.c (gettimeofday): Likewise.
32249         * tests/test-glob.c (glob, globfree): Likewise.
32250         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
32251         * tests/test-inet_ntop.c (inet_ntop): Likewise.
32252         * tests/test-inet_pton.c (inet_pton): Likewise.
32253         * tests/test-isblank.c (isblank): Likewise.
32254         * tests/test-lchown.c (lchown): Likewise.
32255         * tests/test-ldexpl.c (ldexpl): Likewise.
32256         * tests/test-link.c (link): Likewise.
32257         * tests/test-linkat.c (linkat): Likewise.
32258         * tests/test-lseek.c (lseek): Likewise.
32259         * tests/test-lstat.c (lstat): Likewise.
32260         * tests/test-mbrtowc.c (mbrtowc): Likewise.
32261         * tests/test-mbsinit.c (mbsinit): Likewise.
32262         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
32263         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
32264         * tests/test-memchr.c (memchr): Likewise.
32265         * tests/test-memcmp.c (memcmp): Likewise.
32266         * tests/test-memmem.c (memmem): Likewise.
32267         * tests/test-memrchr.c (memrchr): Likewise.
32268         * tests/test-mkdir.c (mkdir): Likewise.
32269         * tests/test-mkdirat.c (mkdirat): Likewise.
32270         * tests/test-mkfifo.c (mkfifo): Likewise.
32271         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
32272         * tests/test-mknod.c (mknod): Likewise.
32273         * tests/test-nanosleep.c (nanosleep): Likewise.
32274         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
32275         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
32276         Likewise.
32277         * tests/test-open.c (open): Likewise.
32278         * tests/test-openat.c (openat): Likewise.
32279         * tests/test-perror.c (perror): Likewise.
32280         * tests/test-pipe2.c (pipe2): Likewise.
32281         * tests/test-poll.c (poll): Likewise.
32282         * tests/test-popen.c (popen, pclose): Likewise.
32283         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
32284         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
32285         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
32286         (posix_spawn_file_actions_destroy)
32287         (posix_spawn_file_actions_addclose)
32288         (posix_spawn_file_actions_addopen)
32289         (posix_spawn_file_actions_adddup2): Likewise.
32290         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
32291         * tests/test-pread.c (pread): Likewise.
32292         * tests/test-printf-posix.c (printf): Likewise.
32293         * tests/test-pty.c (openpty, forkpty): Likewise.
32294         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
32295         (random_r): Likewise.
32296         * tests/test-rawmemchr.c (rawmemchr): Likewise.
32297         * tests/test-readlink.c (readlink): Likewise.
32298         * tests/test-remove.c (remove): Likewise.
32299         * tests/test-rename.c (rename): Likewise.
32300         * tests/test-renameat.c (renameat): Likewise.
32301         * tests/test-rmdir.c (rmdir): Likewise.
32302         * tests/test-round1.c (round): Likewise.
32303         * tests/test-roundf1.c (roundf): Likewise.
32304         * tests/test-roundl.c (roundl): Likewise.
32305         * tests/test-setenv.c (setenv): Likewise.
32306         * tests/test-sigaction.c (sigaction): Likewise.
32307         * tests/test-sleep.c (sleep): Likewise.
32308         * tests/test-snprintf.c (snprintf): Likewise.
32309         * tests/test-sprintf-posix.c (sprintf): Likewise.
32310         * tests/test-stat.c (stat): Likewise.
32311         * tests/test-stpncpy.c (stpncpy): Likewise.
32312         * tests/test-strcasestr.c (strcasestr): Likewise.
32313         * tests/test-strchrnul.c (strchrnul): Likewise.
32314         * tests/test-strerror.c (strerror): Likewise.
32315         * tests/test-strsignal.c (strsignal): Likewise.
32316         * tests/test-strstr.c (strstr): Likewise.
32317         * tests/test-strtod.c (strtod): Likewise.
32318         * tests/test-strverscmp.c (strverscmp): Likewise.
32319         * tests/test-symlink.c (symlink): Likewise.
32320         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
32321         * tests/test-times.c (times): Likewise.
32322         * tests/test-trunc1.c (trunc): Likewise.
32323         * tests/test-truncf1.c (truncf): Likewise.
32324         * tests/test-truncl.c (truncl): Likewise.
32325         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
32326         Likewise.
32327         * tests/test-uname.c (uname): Likewise.
32328         * tests/test-unlink.c (unlink): Likewise.
32329         * tests/test-unlinkat.c (unlinkat): Likewise.
32330         * tests/test-unsetenv.c (unsetenv): Likewise.
32331         * tests/test-usleep.c (usleep): Likewise.
32332         * tests/test-utimensat.c (utimensat): Likewise.
32333         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
32334         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
32335         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
32336         * tests/test-vprintf-posix.c (vprintf): Likewise.
32337         * tests/test-vsnprintf.c (vsnprintf): Likewise.
32338         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
32339         * tests/test-wcrtomb.c (wcrtomb): Likewise.
32340         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
32341         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
32342         * tests/test-wcwidth.c (wcwidth): Likewise.
32343
32344         build: pull in conditional headers during GNULIB_POSIXCHECK
32345         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
32346         definitions from any conditionally-included headers.
32347         * lib/stdlib.in.h (includes): Likewise.
32348         * lib/unistd.in.h (includes): Likewise.
32349
32350 2009-12-24  Bruno Haible  <bruno@clisp.org>
32351
32352         * tests/test-argv-iter.c: Include header file being tested immediately
32353         after config.h.
32354         * tests/test-base64.c: Likewise.
32355         * tests/test-flock.c: Likewise.
32356         * tests/test-fsync.c: Likewise.
32357         * tests/test-getdate.c: Likewise.
32358         * tests/test-getndelim2.c: Likewise.
32359         * tests/test-isfinite.c: Likewise.
32360         * tests/test-isinf.c: Likewise.
32361         * tests/test-strerror.c: Likewise.
32362         * tests/test-strsignal.c: Likewise.
32363
32364 2009-12-23  Eric Blake  <ebb9@byu.net>
32365
32366         unistd: work around cygwin bug
32367         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
32368         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
32369         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
32370
32371 2009-12-23  Bruno Haible  <bruno@clisp.org>
32372
32373         localename: More tests.
32374         * tests/test-localename.c (SIZEOF): New macro.
32375         (categories): New variable.
32376         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
32377         test_locale_name_default): Add test w.r.t. thread locale.
32378         (test_locale_name_thread): New function.
32379         (main): Invoke it.
32380
32381         localename: Make aware of thread locale.
32382         * lib/localename.h (gl_locale_name_thread): New declaration.
32383         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
32384         behaviour with respect to thread locale.
32385         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
32386         <langinfo.h>, glthread/lock.h.
32387         (SIZE_BITS): New macro.
32388         (string_hash): New function.
32389         (struct hash_node): New type.
32390         (HASH_TABLE_SIZE): New macro.
32391         (struniq_hash_table, struniq_lock): New variables.
32392         (struniq): New function.
32393         (gl_locale_name_thread): New function.
32394         (gl_locale_name): Invoke it.
32395         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
32396         * modules/localename (Depends-on): Add lock.
32397         Reported by Mike Gran <spk121@yahoo.com>.
32398
32399 2009-12-23  Eric Blake  <ebb9@byu.net>
32400
32401         va-args: new module
32402         * modules/va-args: New file.
32403         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
32404         * MODULES.html.sh (Core language properties): Mention it.
32405
32406         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
32407         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
32408         named alias for __attribute__((__unused__)).
32409         * lib/chown.c: Update client.
32410         * lib/fchmodat.c: Likewise.
32411         * lib/fts.c: Likewise.
32412         * lib/getdate.y: Likewise.
32413         * lib/getgroups.c: Likewise.
32414         * lib/getopt.c: Likewise.
32415         * lib/getugroups.c: Likewise.
32416         * lib/mkdir.c: Likewise.
32417         * lib/mkfifo.c: Likewise.
32418         * lib/mkfifoat.c: Likewise.
32419         * lib/mknod.c: Likewise.
32420         * lib/mknodat.c: Likewise.
32421         * lib/readlink.c: Likewise.
32422         * lib/se-context.in.h: Likewise.
32423         * lib/se-selinux.in.h: Likewise.
32424         * lib/sockets.c: Likewise.
32425         * lib/symlink.c: Likewise.
32426         * lib/symlinkat.c: Likewise.
32427         * lib/unicodeio.c: Likewise.
32428         * lib/unistr.h: Likewise.
32429         * tests/test-areadlink.c: Likewise.
32430         * tests/test-areadlinkat.c: Likewise.
32431         * tests/test-filenamecat.c: Likewise.
32432         * tests/test-fseeko.c: Likewise.
32433         * tests/test-ftello.c: Likewise.
32434         * tests/test-getdate.c: Likewise.
32435         * tests/test-getgroups.c: Likewise.
32436         * tests/test-gethostname.c: Likewise.
32437         * tests/test-quotearg.c: Likewise.
32438         * tests/test-version-etc.c: Likewise.
32439         * tests/test-xalloc-die.c: Likewise.
32440         * tests/test-xfprintf-posix.c: Likewise.
32441         * tests/test-xprintf-posix.c: Likewise.
32442         * tests/test-xvasprintf.c: Likewise.
32443
32444         tests: avoid compiler warnings
32445         * tests/test-fcntl.c (main): Delete unused parameters.
32446         * tests/test-freopen-safer.c (main): Likewise.
32447         * tests/test-xalloc-die.c (main): Mark unused parameters.
32448         * tests/test-fseeko.c (main): Likewise.
32449         * tests/test-ftello.c (main): Likewise.
32450         * tests/test-nanosleep.c (main): Avoid declaration warning.
32451         * tests/test-sleep.c (main): Likewise.
32452         * tests/test-unsetenv.c (main): Silence warning about string
32453         literal.
32454         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
32455
32456 2009-12-23  Bruno Haible  <bruno@clisp.org>
32457
32458         * tests/test-localename.c (test_locale_name): New function, extracted
32459         from main. Also test mixed situations.
32460         (test_locale_name_posix, test_locale_name_environ,
32461         test_locale_name_default): New functions.
32462         (main): Invoke them all.
32463         * modules/localename-tests (configure.ac): Test for newlocale.
32464
32465 2009-12-23  Bruno Haible  <bruno@clisp.org>
32466
32467         unistd: Ensure getcwd gets declared before being overridden.
32468         * lib/unistd.in.h: Conditionally include <io.h>.
32469
32470 2009-12-22  Bruno Haible  <bruno@clisp.org>
32471
32472         wchar: Diagnose broken combination of glibc and gcc versions and flags.
32473         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
32474         (gl_WCHAR_H): Invoke it.
32475         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
32476         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
32477         Reported by Karl Berry <karl@freefriends.org>.
32478
32479 2009-12-22  Eric Blake  <ebb9@byu.net>
32480
32481         math, unistd: avoid redundant includes
32482         * lib/math.in.h (isnan): No need to re-include <math.h>.
32483         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
32484
32485         getsubopt: work around cygwin bug
32486         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
32487         avoid conflicting with system getsubopt.
32488         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
32489         bug.
32490
32491         getopt: synchronize from glibc
32492         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
32493         parameter order.  Adjust all callers.
32494         (_getopt_internal_r, main): Adjust quoting in error messages.
32495         Drop considerations for outdated POSIX 1003.2 error message.
32496         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
32497         callers.
32498         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
32499
32500         test-getopt: test stderr behavior
32501         * modules/getopt-posix-tests (Depends-on): Add dup2.
32502         * tests/test-getopt.c (ASSERT): Avoid stderr.
32503         (main): Move stderr to a temporary file.
32504         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
32505         Instead, add parameter to inform caller if output occurred.
32506         (test_getopt): Adjust all existing tests to expect silence, and
32507         add new tests of leading ":".
32508         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
32509         glibc shortcomings with leading "-:" or "+:" in optstring.
32510         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32511         Likewise.
32512         * doc/posix-functions/getopt.texi (getopt): Likewise.
32513
32514         test-getopt: enhance test
32515         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
32516         supports optind=0.
32517         * tests/test-getopt.c (OPTIND_MIN): Move...
32518         * tests/test-getopt.h (OPTIND_MIN): ...here.
32519         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
32520         Require that optind=0 works, since modern BSD supports it in
32521         addition to optreset, and since coreutils expects it.
32522         (test_getopt_long_only): New test.
32523         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
32524         glibc shortcomings with 'W;', and enforcement of optind=0.
32525         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32526         Likewise.
32527
32528 2009-12-21  Bruno Haible  <bruno@clisp.org>
32529
32530         localename: Improvements for MacOS X and Cygwin.
32531         * lib/localename.h (gl_locale_name_environ): New declaration.
32532         * lib/localename.c (gl_locale_name_environ): New function, extracted from
32533         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
32534         (gl_locale_name_posix): Invoke it.
32535         (gl_locale_name_default): Add comments. Use Windows native API also on
32536         Cygwin.
32537
32538 2009-12-21  Bruno Haible  <bruno@clisp.org>
32539
32540         Update list of Win32 locale ids.
32541         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
32542         (LANG_SAMI): Renamed from LANG_SAAMI.
32543         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
32544         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
32545         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
32546         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
32547         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
32548         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
32549         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
32550         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
32551         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
32552         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
32553         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
32554         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
32555         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
32556         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
32557         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
32558         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
32559         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
32560         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
32561         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
32562         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
32563         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
32564         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
32565         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
32566         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
32567         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
32568         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
32569         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
32570         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
32571         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
32572         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
32573         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
32574         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
32575         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
32576         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
32577         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
32578         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
32579         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
32580         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
32581         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
32582         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
32583         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
32584         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
32585         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
32586         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
32587         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
32588         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
32589         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
32590         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
32591         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
32592         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
32593         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
32594         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
32595         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
32596         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
32597         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
32598         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
32599         Add more languages and countries for Sami, Sorbian. Add more countries
32600         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
32601         for Pashto. Change country for Syriac, Tswana.
32602
32603 2009-12-21  Eric Blake  <ebb9@byu.net>
32604
32605         test-utimens: avoid spurious failure
32606         * tests/test-chown.h (nap): Factor...
32607         * tests/nap.h: ...into new file.
32608         * tests/test-lchown.h (nap): Avoid duplication.
32609         * tests/test-utimens-common.h (nap): Use shared implementation,
32610         necessary on file systems with 1-second resolution.
32611         * modules/chown-tests (Files): Include new file.
32612         * modules/fdutimensat-tests (Files): Likewise.
32613         * modules/futimens-tests (Files): Likewise.
32614         * modules/lchown-tests (Files): Likewise.
32615         * modules/openat-tests (Files): Likewise.
32616         * modules/utimens-tests (Files): Likewise.
32617         * modules/utimensat-tests (Files): Likewise.
32618
32619 2009-12-19  Eric Blake  <ebb9@byu.net>
32620
32621         futimens, utimensat: work around Linux bug
32622         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
32623         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
32624         * lib/utimensat.c (rpl_utimensat): Work around it.
32625         * lib/futimens.c (rpl_futimens): Adjust comment.
32626
32627         utimens: work around Linux ctime bug
32628         * lib/utimens.c (detect_ctime_bug): New helper function.
32629         (update_timespec): Differentiate between workaround needed for
32630         this bug vs. what is needed for systems that lack utimensat.
32631         (fdutimens, lutimens): Work around bug.
32632
32633         utimens: check for ctime update
32634         * tests/test-utimens-common.h (check_ctime): Define.
32635         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
32636         * tests/test-futimens.h (test_futimens): Likewise.
32637         * tests/test-lutimens.h (test_lutimens): Likewise.
32638         * doc/posix-functions/futimens.texi (futimens): Document the bug.
32639         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
32640
32641 2009-12-19  Bruno Haible  <bruno@clisp.org>
32642
32643         dprintf-posix: Check against memory leak fixed on 2009-12-15.
32644         * tests/test-dprintf-posix2.sh: New file.
32645         * tests/test-dprintf-posix2.c: New file.
32646         * modules/dprintf-posix-tests (Files): Add them.
32647         (configure.ac): Check for getrlimit and setrlimit.
32648         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
32649
32650 2009-12-19  Bruno Haible  <bruno@clisp.org>
32651
32652         fprintf-posix: Check against memory leak fixed on 2009-12-15.
32653         * tests/test-fprintf-posix3.sh: New file.
32654         * tests/test-fprintf-posix3.c: New file.
32655         * modules/fprintf-posix-tests (Files): Add them.
32656         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
32657
32658 2009-12-19  Eric Blake  <ebb9@byu.net>
32659
32660         dirfd: fix prototype
32661         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
32662         * lib/dirfd.c (dirfd): Likewise.
32663
32664         canonicalize: reduce memory usage
32665         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
32666         allocation to size.
32667         Reported by Solar Designer <solar@openwall.com>.
32668
32669 2009-12-19  Bruno Haible  <bruno@clisp.org>
32670
32671         New module attribute 'Applicability'.
32672         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
32673         * gnulib-tool: New option --extract-applicability.
32674         (func_usage): Document it.
32675         (sed_extract_prog): Recognize it.
32676         (func_get_applicability): New function.
32677         (func_import): Generalize handling of 'link-warning' module.
32678         * modules/link-warning (Applicability): New section.
32679         * modules/arg-nonnull (Applicability): New section.
32680         Repoted by Simon Josefsson <simon@josefsson.org>.
32681
32682 2009-12-19  Bruno Haible  <bruno@clisp.org>
32683
32684         fflush: tweak
32685         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
32686         * lib/fseeko.c (rpl_fseeko): Likewise.
32687
32688 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
32689
32690         * lib/gl_list.h: Fix typo in comment.
32691
32692 2009-12-16  Eric Blake  <ebb9@byu.net>
32693
32694         fcntl: use to simplify other modules
32695         * modules/cloexec (Depends-on): Add fcntl.
32696         * modules/fchdir (Depends-on): Likewise.
32697         * modules/fd-safer-flag (Depends-on): Likewise.
32698         * modules/unistd-safer (Depends-on): Likewise.
32699         * modules/dup3 (configure.ac): Set module indicator.
32700         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
32701         missing.
32702         * lib/fchdir.c (_gl_register_dup): Fix comment.
32703         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
32704         * lib/dup-safer.c (dup_safer): Likewise.
32705         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
32706         * lib/dup3.c (dup3): Likewise.
32707         * tests/test-fchdir.c (main): Enhance test.
32708         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
32709
32710         fcntl: port portions of fcntl to mingw
32711         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
32712         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
32713         replacement for mingw.
32714         * modules/fcntl (Description): Update.
32715         (Depends-on): Add dup2.
32716         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
32717         * modules/fcntl-h (Makefile.am): Substitute it.
32718         * lib/fcntl.in.h (fcntl): Update declaration.
32719         (F_DUPFD, F_GETFD): New macros, when needed.
32720         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
32721         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
32722         * tests/test-fcntl.c (check_flags, main): Enhance test for items
32723         we now guarantee.
32724
32725         fcntl: work around cygwin bug in F_DUPFD
32726         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
32727         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
32728         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
32729         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
32730         * doc/posix-functions/fcntl.texi (fcntl): Document it.
32731
32732         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
32733         * modules/fcntl (Files): List new files.
32734         (configure.ac): Run a test.
32735         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
32736         * lib/fcntl.c (rpl_fcntl): Likewise.
32737         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
32738         (gl_FCNTL_H): Always replace fcntl.h.
32739         * modules/fcntl-h (Makefile.am): Substitute witnesses.
32740         * lib/fcntl.in.h (fcntl): Declare replacement.
32741         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
32742         needed, plus a witness.
32743         * doc/posix-functions/fcntl.texi (fcntl): Document this.
32744         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
32745         * tests/test-fcntl.c: New file.
32746         * modules/fcntl-tests: Likewise.
32747
32748         binary-io: avoid potential compilation warning
32749         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
32750         directives.
32751
32752         fflush: avoid compilation error on NetBSD
32753         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
32754         between off_t and fpos_t, since the latter is sometimes a struct.
32755         * lib/fseeko.c (rpl_fseeko): Likewise.
32756         Reported by Alexander Nasonov <alnsn@yandex.ru>.
32757
32758 2009-12-15  Eric Blake  <ebb9@byu.net>
32759
32760         fcntl-h, stdio, sys_ioctl: fix declarations
32761         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
32762         function must not take arguments.
32763         * lib/sys_ioctl.in.h (ioctl): Likewise.
32764         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
32765         (open): Add a link warning.
32766
32767 2009-12-15  Jim Meyering  <meyering@redhat.com>
32768
32769         areadlink, areadlink-with-size: relax license to LGPLv2+
32770         * modules/areadlink (License): Relax to LGPLv2+.
32771         * modules/areadlink-with-size (License): Likewise.
32772
32773 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
32774             Bruno Haible  <bruno@clisp.org>
32775
32776         *printf: Fix memory leak.
32777         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
32778         * lib/vfprintf.c (vfprintf): Likewise.
32779         * lib/dprintf.c (dprintf): Likewise.
32780         * lib/vdprintf.c (vdprintf): Likewise.
32781
32782 2009-12-14  Eric Blake  <ebb9@byu.net>
32783
32784         accept4: adjust module dependencies
32785         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
32786
32787         utimens: one more try at avoiding compiler warning
32788         * lib/utimens.c (lutimens): Lower scope of result.
32789
32790 2009-12-13  Bruno Haible  <bruno@clisp.org>
32791
32792         Move the malloc checking from module 'list' to new module 'xlist'.
32793         * modules/xlist: New file.
32794         * lib/gl_xlist.h: New file.
32795         * lib/gl_xlist.c: New file.
32796         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
32797         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
32798         gl_list_add_last, gl_list_add_before, gl_list_add_after,
32799         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
32800         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
32801         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
32802         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
32803         gl_sortedlist_nx_add): New declarations.
32804         (struct gl_list_implementation): Rename and change methods accordingly.
32805         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
32806         (gl_list_nx_create): Renamed from gl_list_create.
32807         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
32808         (gl_list_nx_set_at): Renamed from gl_list_set_at.
32809         (gl_list_nx_add_first): Renamed from gl_list_add_first.
32810         (gl_list_nx_add_last): Renamed from gl_list_add_last.
32811         (gl_list_nx_add_before): Renamed from gl_list_add_before.
32812         (gl_list_nx_add_after): Renamed from gl_list_add_after.
32813         (gl_list_nx_add_at): Renamed from gl_list_add_at.
32814         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
32815         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
32816         gl_list_create_empty.
32817         (gl_list_nx_create): Renamed from gl_list_create.
32818         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
32819         (gl_list_nx_set_at): Renamed from gl_list_set_at.
32820         (gl_list_nx_add_first): Renamed from gl_list_add_first.
32821         (gl_list_nx_add_last): Renamed from gl_list_add_last.
32822         (gl_list_nx_add_before): Renamed from gl_list_add_before.
32823         (gl_list_nx_add_after): Renamed from gl_list_add_after.
32824         (gl_list_nx_add_at): Renamed from gl_list_add_at.
32825         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
32826         * lib/gl_array_list.c: Don't include xalloc.h.
32827         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
32828         NULL upon out-of-memory.
32829         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
32830         out-of-memory.
32831         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
32832         Change return type to 'int'.
32833         (gl_array_nx_set_at): Renamed from gl_array_set_at.
32834         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
32835         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
32836         upon out-of-memory.
32837         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
32838         upon out-of-memory.
32839         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
32840         upon out-of-memory.
32841         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
32842         upon out-of-memory.
32843         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
32844         out-of-memory.
32845         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
32846         Update.
32847         (gl_array_list_implementation): Update.
32848         * lib/gl_carray_list.c: Don't include xalloc.h.
32849         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
32850         Return NULL upon out-of-memory.
32851         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
32852         out-of-memory.
32853         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
32854         Change return type to 'int'.
32855         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
32856         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
32857         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
32858         upon out-of-memory.
32859         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
32860         upon out-of-memory.
32861         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
32862         out-of-memory.
32863         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
32864         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
32865         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
32866         Update.
32867         (gl_carray_list_implementation): Update.
32868         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
32869         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
32870         gl_linked_create_empty. Return NULL upon out-of-memory.
32871         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
32872         out-of-memory.
32873         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
32874         Change return type to 'int'. Return -1 upon out-of-memory.
32875         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
32876         out-of-memory.
32877         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
32878         upon out-of-memory.
32879         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
32880         upon out-of-memory.
32881         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
32882         NULL upon out-of-memory.
32883         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
32884         upon out-of-memory.
32885         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
32886         out-of-memory.
32887         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
32888         Update.
32889         * lib/gl_linked_list.c: Don't include xalloc.h.
32890         (gl_linked_list_implementation): Update.
32891         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
32892         (add_to_bucket): Change return type to 'int'.
32893         (gl_linkedhash_list_implementation): Update.
32894         * lib/gl_anytree_list1.h (free_subtree): New function.
32895         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
32896         gl_tree_create_empty. Return NULL upon out-of-memory.
32897         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
32898         Change return type to 'int'. Return -1 upon out-of-memory.
32899         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
32900         out-of-memory.
32901         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
32902         (gl_tree_remove_node): New function, moved here from
32903         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
32904         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
32905         Update.
32906         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
32907         malloc, not xmalloc. Return NULL upon out-of-memory.
32908         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
32909         out-of-memory.
32910         (gl_tree_remove_node_from_tree): New function, extracted from
32911         gl_tree_remove_node.
32912         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
32913         upon out-of-memory.
32914         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
32915         out-of-memory.
32916         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
32917         upon out-of-memory.
32918         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
32919         upon out-of-memory.
32920         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
32921         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
32922         not xmalloc. Return NULL upon out-of-memory.
32923         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
32924         out-of-memory.
32925         (gl_tree_remove_node_from_tree): New function, extracted from
32926         gl_tree_remove_node.
32927         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
32928         upon out-of-memory.
32929         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
32930         out-of-memory.
32931         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
32932         upon out-of-memory.
32933         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
32934         upon out-of-memory.
32935         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
32936         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
32937         gl_anytree_list1.h before gl_anyavltree_list2.h.
32938         (gl_avltree_list_implementation): Update.
32939         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
32940         gl_anytree_list1.h before gl_anyavltree_list2.h.
32941         (gl_rbtree_list_implementation): Update.
32942         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
32943         Change return type to 'int'. Return -1 upon out-of-memory. Use
32944         __builtin_expect.
32945         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
32946         (gl_avltreehash_list_implementation): Update.
32947         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
32948         (gl_rbtreehash_list_implementation): Update.
32949         * modules/array-list (Depends-on): Remove xalloc.
32950         * modules/carray-list (Depends-on): Likewise.
32951         * modules/linked-list (Depends-on): Likewise.
32952         * modules/linkedhash-list (Depends-on): Likewise.
32953         * modules/avltree-list (Depends-on): Likewise.
32954         * modules/rbtree-list (Depends-on): Likewise.
32955         * modules/avltreehash-list (Depends-on): Likewise.
32956         * modules/rbtreehash-list (Depends-on): Likewise.
32957
32958         * modules/xsublist: New file.
32959         * lib/gl_xsublist.h: New file.
32960         * lib/gl_xsublist.c: New file.
32961         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
32962         (gl_sublist_nx_create): New declaration.
32963         * lib/gl_sublist.c: Don't include xalloc.h.
32964         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
32965         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
32966         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
32967         Change return type to 'int'. Return -1 upon out-of-memory.
32968         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
32969         upon out-of-memory.
32970         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
32971         NULL upon out-of-memory.
32972         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
32973         upon out-of-memory.
32974         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
32975         NULL upon out-of-memory.
32976         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
32977         NULL upon out-of-memory.
32978         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
32979         upon out-of-memory.
32980         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
32981         (gl_sublist_list_implementation): Update.
32982         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
32983         upon out-of-memory.
32984         * modules/sublist (Depends-on): Remove xalloc.
32985
32986         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
32987         * tests/test-carray_list.c: Likewise.
32988         * tests/test-linked_list.c: Likewise.
32989         * tests/test-linkedhash_list.c: Likewise.
32990         * tests/test-avltree_list.c: Likewise.
32991         * tests/test-rbtree_list.c: Likewise.
32992         * tests/test-avltreehash_list.c: Likewise.
32993         * tests/test-rbtreehash_list.c: Likewise.
32994         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
32995         * modules/carray-list-tests (Makefile.am): Likewise.
32996         * modules/linked-list-tests (Makefile.am): Likewise.
32997         * modules/linkedhash-list-tests (Makefile.am): Likewise.
32998         * modules/avltree-list-tests (Makefile.am): Likewise.
32999         * modules/rbtree-list-tests (Makefile.am): Likewise.
33000         * modules/avltreehash-list-tests (Makefile.am): Likewise.
33001         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
33002
33003         * NEWS: Mention the changes.
33004
33005         * lib/clean-temp.c: Include gl_xlist.h.
33006         * modules/clean-temp (Depends-on): Add xlist.
33007
33008         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
33009         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
33010
33011         * tests/test-array_oset.c: Include gl_xlist.h.
33012         * modules/array-oset-tests (Depends-on): Add xlist.
33013
33014         Reported by José E. Marchesi <jemarch@gnu.org>.
33015
33016 2009-12-13  Bruno Haible  <bruno@clisp.org>
33017
33018         Move the malloc checking from module 'oset' to new module 'xoset'.
33019         * modules/xoset: New file.
33020         * lib/gl_xoset.h: New file.
33021         * lib/gl_xoset.c: New file.
33022         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
33023         declarations.
33024         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
33025         (struct gl_oset_implementation): Rename and change methods accordingly.
33026         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
33027         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
33028         'int'. Mark as __warn_unused_result__.
33029         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
33030         gl_oset_create_empty.
33031         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
33032         'int'.
33033         * lib/gl_array_oset.c: Don't include xalloc.h.
33034         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
33035         malloc, not xmalloc.
33036         (grow): Change return type to 'int'. Don't call xalloc_die.
33037         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
33038         to 'int'.
33039         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
33040         'int'.
33041         (gl_array_oset_implementation): Update.
33042         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
33043         gl_tree_create_empty.
33044         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
33045         'int'.
33046         * lib/gl_avltree_oset.c: Don't include xalloc.h.
33047         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
33048         xmalloc.
33049         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
33050         not xmalloc.
33051         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
33052         xmalloc.
33053         (gl_avltree_oset_implementation): Update.
33054         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
33055         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
33056         xmalloc.
33057         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
33058         not xmalloc.
33059         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
33060         xmalloc.
33061         (gl_rbtree_oset_implementation): Update.
33062         * modules/array-oset (Depends-on): Remove xalloc.
33063         * modules/avltree-oset (Depends-on): Likewise.
33064         * modules/rbtree-oset (Depends-on): Likewise.
33065         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
33066         * tests/test-avltree_oset.c: Likewise.
33067         * tests/test-rbtree_oset.c: Likewise.
33068         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
33069         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
33070         * modules/rbtree-oset-tests (Makefile.am): Likewise.
33071         * NEWS: Mention the change.
33072
33073 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
33074
33075         maint.mk: allow a project to override release-prep commands
33076         * top/maint.mk (alpha, beta, stable): Move release-preparatory
33077         commands into a new rule.
33078         (release-prep): New rule.
33079         (release-prep-hook): New overridable variable.
33080
33081 2009-12-13  Bruno Haible  <bruno@clisp.org>
33082
33083         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
33084
33085 2009-12-13  Jim Meyering  <meyering@redhat.com>
33086
33087         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
33088         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
33089
33090 2009-12-12  Bruno Haible  <bruno@clisp.org>
33091
33092         duplocale: Tweak.
33093         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
33094
33095 2009-12-12  Karl Berry  <karl@gnu.org>
33096
33097         * config/srclist.txt (strtoll.c): tab changes, no more sync.
33098
33099 2009-12-12  Bruno Haible  <bruno@clisp.org>
33100
33101         * m4/po.m4: Undo incorrect untabification.
33102
33103 2009-12-12  Bruno Haible  <bruno@clisp.org>
33104
33105         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
33106         * modules/c-strtod (Depends-on): Add locale.
33107         * modules/c-strtold (Depends-on): Likewise.
33108
33109 2009-12-12  Bruno Haible  <bruno@clisp.org>
33110
33111         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
33112
33113 2009-12-11  Eric Blake  <ebb9@byu.net>
33114
33115         setenv: relax requirement in light of POSIX ruling
33116         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
33117         not NULL.
33118         * tests/test-setenv.c (main): Relax test.
33119         * tests/test-unsetenv.c (main): Likewise.
33120         * doc/posix-functions/setenv.texi (setenv): Document this.
33121         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
33122
33123 2009-12-11  Bruno Haible  <bruno@clisp.org>
33124
33125         New module 'fd-safer-flag'.
33126         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
33127         * lib/dup-safer.c (dup_safer_flag): Remove function.
33128         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
33129         * lib/fd-safer.c (fd_safer_flag): Remove function.
33130         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
33131         * modules/cloexec (configure.ac): Drop indicator macro.
33132         * modules/fd-safer-flag: New file.
33133         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
33134         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
33135         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
33136
33137 2009-12-11  Bruno Haible  <bruno@clisp.org>
33138
33139         Tests for module 'nl_langinfo'.
33140         * modules/nl_langinfo-tests: New file.
33141         * tests/test-nl_langinfo.sh: New file.
33142         * tests/test-nl_langinfo.c: New file.
33143
33144         New module 'nl_langinfo'.
33145         * lib/nl_langinfo.c: New file.
33146         * m4/nl_langinfo.m4: New file.
33147         * modules/nl_langinfo: New file.
33148         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
33149
33150 2009-12-11  Bruno Haible  <bruno@clisp.org>
33151
33152         Tests for module 'langinfo'.
33153         * modules/langinfo-tests: New file.
33154         * tests/test-langinfo.c: New file.
33155
33156         New module 'langinfo'.
33157         * lib/langinfo.in.h: New file.
33158         * m4/langinfo_h.m4: New file.
33159         * modules/langinfo: New file.
33160         * doc/posix-headers/langinfo.texi: Mention the new module.
33161
33162 2009-12-11  Bruno Haible  <bruno@clisp.org>
33163
33164         * lib/config.charset: Untabify.
33165
33166 2009-12-11  Bruno Haible  <bruno@clisp.org>
33167
33168         * modules/unistd-safer (configure.ac): Drop indicator macro.
33169
33170 2009-12-11  Bruno Haible  <bruno@clisp.org>
33171
33172         Move pipe2-safer code to its own file.
33173         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
33174         * lib/pipe-safer.c (pipe2_safer): Remove function.
33175         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
33176         (Makefile.am): Add it to lib_SOURCES.
33177
33178 2009-12-10  Bruno Haible  <bruno@clisp.org>
33179
33180         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
33181
33182 2009-12-10  Bruno Haible  <bruno@clisp.org>
33183
33184         Declare which arguments expect non-NULL values, for GCC and clang.
33185         * build-aux/arg-nonnull.h: New file.
33186         * modules/arg-nonnull: New file.
33187         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
33188         (inet_ntop, inet_pton): Use it.
33189         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
33190         (closedir, dirfd, opendir, scandir, alphasort): Use it.
33191         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
33192         (open, openat): Use it.
33193         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
33194         (fnmatch): Use it.
33195         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
33196         (getopt, getopt_long, getopt_long_only): Use it.
33197         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
33198         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
33199         Use it.
33200         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
33201         (iconv_open): Use it.
33202         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
33203         (strtoimax, strtoumax): Use it.
33204         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
33205         (duplocale): Use it.
33206         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
33207         (frexp, frexpl): Use it.
33208         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
33209         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
33210         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
33211         (tsearch, tfind, tdelete, twalk): Use it.
33212         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
33213         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
33214         sigpending): Use it.
33215         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
33216         (posix_spawn, posix_spawnp, posix_spawnattr_init,
33217         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
33218         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
33219         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
33220         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
33221         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
33222         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
33223         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
33224         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
33225         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
33226         Use it.
33227         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
33228         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
33229         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
33230         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
33231         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
33232         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
33233         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
33234         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
33235         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
33236         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
33237         strtoull, unsetenv): Use it.
33238         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
33239         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
33240         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
33241         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
33242         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
33243         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
33244         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
33245         (strcasecmp, strncasecmp): Use it.
33246         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
33247         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
33248         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
33249         rpl_setsockopt): Use it.
33250         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
33251         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
33252         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
33253         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
33254         (gettimeofday): Use it.
33255         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
33256         (times): Use it.
33257         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
33258         (uname): Use it.
33259         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
33260         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
33261         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
33262         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
33263         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
33264         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
33265         unlinkat, write): Use it.
33266         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
33267         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
33268         * lib/argv-iter.h: Include arg-nonnull.h.
33269         (_ATTRIBUTE_NONNULL_): Remove macro.
33270         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
33271         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
33272         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
33273         optimization.
33274         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
33275         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
33276         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
33277         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
33278         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
33279         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
33280         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
33281         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
33282         * modules/arpa_inet (Depends-on): Add arg-nonnull.
33283         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
33284         * modules/dirent (Depends-on): Add arg-nonnull.
33285         (Makefile.am): Insert arg-nonnull.h into dirent.h.
33286         * modules/fcntl-h (Depends-on): Add arg-nonnull.
33287         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
33288         * modules/fnmatch (Depends-on): Add arg-nonnull.
33289         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
33290         * modules/getopt-posix (Depends-on): Add arg-nonnull.
33291         (Makefile.am): Insert arg-nonnull.h into getopt.h.
33292         * modules/glob (Depends-on): Add arg-nonnull.
33293         (Makefile.am): Insert arg-nonnull.h into glob.h.
33294         * modules/iconv_open (Depends-on): Add arg-nonnull.
33295         (Makefile.am): Insert arg-nonnull.h into iconv.h.
33296         * modules/inttypes (Depends-on): Add arg-nonnull.
33297         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
33298         * modules/locale (Depends-on): Add arg-nonnull.
33299         (Makefile.am): Insert arg-nonnull.h into locale.h.
33300         * modules/math (Depends-on): Add arg-nonnull.
33301         (Makefile.am): Insert arg-nonnull.h into math.h.
33302         * modules/netdb (Depends-on): Add arg-nonnull.
33303         (Makefile.am): Insert arg-nonnull.h into netdb.h.
33304         * modules/search (Depends-on): Add arg-nonnull.
33305         (Makefile.am): Insert arg-nonnull.h into search.h.
33306         * modules/signal (Depends-on): Add arg-nonnull.
33307         (Makefile.am): Insert arg-nonnull.h into signal.h.
33308         * modules/spawn (Depends-on): Add arg-nonnull.
33309         (Makefile.am): Insert arg-nonnull.h into spawn.h.
33310         * modules/stdio (Depends-on): Add arg-nonnull.
33311         (Makefile.am): Insert arg-nonnull.h into stdio.h.
33312         * modules/stdlib (Depends-on): Add arg-nonnull.
33313         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
33314         * modules/string (Depends-on): Add arg-nonnull.
33315         (Makefile.am): Insert arg-nonnull.h into string.h.
33316         * modules/strings (Depends-on): Add arg-nonnull.
33317         (Makefile.am): Insert arg-nonnull.h into strings.h.
33318         * modules/sys_socket (Depends-on): Add arg-nonnull.
33319         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
33320         * modules/sys_stat (Depends-on): Add arg-nonnull.
33321         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
33322         * modules/sys_time (Depends-on): Add arg-nonnull.
33323         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
33324         * modules/sys_times (Depends-on): Add arg-nonnull.
33325         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
33326         * modules/sys_utsname (Depends-on): Add arg-nonnull.
33327         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
33328         * modules/time (Depends-on): Add arg-nonnull.
33329         (Makefile.am): Insert arg-nonnull.h into time.h.
33330         * modules/unistd (Depends-on): Add arg-nonnull.
33331         (Makefile.am): Insert arg-nonnull.h into unistd.h.
33332         * modules/wchar (Depends-on): Add arg-nonnull.
33333         (Makefile.am): Insert arg-nonnull.h into wchar.h.
33334         * modules/argv-iter (Depends-on): Add arg-nonnull.
33335         * tests/test-canonicalize.c (null_ptr): New function.
33336         (main): Use it.
33337         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
33338         (main): Use it.
33339         * tests/test-memmem.c (null_ptr): New function.
33340         (main): Use it.
33341         Reported by Jim Meyering.
33342
33343 2009-12-10  Bruno Haible  <bruno@clisp.org>
33344
33345         Use spaces for indentation, not tabs.
33346         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
33347         * m4/*.m4: Untabify.
33348         * build-aux/*.h: Untabify.
33349         * tests/**/*.[hc]: Untabify.
33350         * README: New section "Indent with spaces, not TABs", based on
33351         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
33352         * NEWS: Mention the change.
33353
33354 2009-12-10  Bruno Haible  <bruno@clisp.org>
33355
33356         pty test: Fix link error.
33357         * modules/pty-tests (Makefile.am): Add the default LDADD value to
33358         test_pty_LDADD.
33359
33360 2009-12-07  Simon Josefsson  <simon@josefsson.org>
33361
33362         * modules/pty: New file.
33363         * modules/pty-tests: New file.
33364         * m4/pty.m4: New file.
33365         * tests/test-pty.c: New file.
33366         * doc/glibc-headers/pty.texi: Modified.
33367         * doc/glibc-functions/forkpty.texi: Modified.
33368         * doc/glibc-functions/openpty.texi: Modified.
33369
33370 2009-12-10  Bruno Haible  <bruno@clisp.org>
33371
33372         Avoid syntax error in C++ mode.
33373         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
33374
33375 2009-12-10  Bruno Haible  <bruno@clisp.org>
33376
33377         Use sed with option -e.
33378         * gnulib-tool (func_version, func_emit_copyright_notice,
33379         func_emit_initmacro_end, func_import, func_create_testdir): Pass
33380         option -e to sed.
33381         * modules/link-warning (Makefile.am): Likewise.
33382
33383 2009-12-10  Jim Meyering  <meyering@redhat.com>
33384
33385         mgetgroups: do not write bytes beyond end of malloc'd buffer
33386         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
33387         username, we call getgroups with a one-element-shorter buffer,
33388         but still told it the length was original, max_n_groups.
33389
33390 2009-12-09  Eric Blake  <ebb9@byu.net>
33391
33392         cloexec: relax license
33393         * modules/cloexec (Maintainer): Add myself.
33394         (License): Use LGPL, not GPL.
33395
33396         link-warning: optimize generation
33397         * modules/link-warning (Makefile.am): Reduce process usage.
33398
33399 2009-12-09  Bruno Haible  <bruno@clisp.org>
33400
33401         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
33402         workaround was added on 2009-11-17.
33403
33404 2009-12-09  Jim Meyering  <meyering@redhat.com>
33405             Bruno Haible  <bruno@clisp.org>
33406
33407         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
33408         * modules/link-warning (Makefile.am): Make the comment-removing sed
33409         command more robust in the face of bootstrap-prepended comment lines.
33410
33411 2009-12-09  Bruno Haible  <bruno@clisp.org>
33412
33413         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
33414         most one group.
33415
33416 2009-12-09  Simon Josefsson <simon@josefsson.org>
33417             Bruno Haible  <bruno@clisp.org>
33418
33419         * build-aux/link-warning.h: Add copyright notice.
33420         * modules/link-warning (Makefile.am): Generate link-warning.h from
33421         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
33422         * NEWS: Mention change in link-warning module.
33423         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
33424         * modules/dirent (Makefile.am): Add dependency to dirent.h.
33425         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
33426         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
33427         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
33428         * modules/math (Makefile.am): Add dependency to math.h.
33429         * modules/search (Makefile.am): Add dependency to search.h.
33430         * modules/signal (Makefile.am): Add dependency to signal.h.
33431         * modules/spawn (Makefile.am): Add dependency to spawn.h.
33432         * modules/stdio (Makefile.am): Add dependency to stdio.h.
33433         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
33434         * modules/string (Makefile.am): Add dependency to string.h.
33435         * modules/strings (Makefile.am): Add dependency to strings.h.
33436         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
33437         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
33438         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
33439         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
33440         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
33441         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
33442         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
33443         * modules/unistd (Makefile.am): Add dependency to unistd.h.
33444         * modules/wchar (Makefile.am): Add dependency to wchar.h.
33445
33446 2009-12-09  Bruno Haible  <bruno@clisp.org>
33447
33448         fchdir: Optimize away rpl_fstat when possible.
33449         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
33450         REPLACE_OPEN_DIRECTORY.
33451         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
33452
33453 2009-12-09  Bruno Haible  <bruno@clisp.org>
33454
33455         * lib/fchdir.c: Update comment.
33456
33457 2009-12-09  Bruno Haible  <bruno@clisp.org>
33458
33459         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
33460
33461 2009-12-08  Eric Blake  <ebb9@byu.net>
33462
33463         fchdir: avoid memory leak on re-registration.
33464         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
33465
33466 2009-12-08  Jim Meyering  <meyering@redhat.com>
33467
33468         init.sh: avoid Solaris 10 /bin/sh portability problem
33469         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
33470         sourced script:
33471           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
33472           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
33473           bar
33474         tests/init.sh relied on that, accepting a --set-path=DIR argument,
33475         and two tests used that idiom.
33476         * tests/init.sh: Update suggested usage comments.
33477         (path_prepend_): New function, to be used in place
33478         of the --src-path=DIR option.
33479         (setup_): Move PATH-prepending code into path_prepend_.
33480         * tests/test-pread.sh: Adapt to new usage.
33481         * tests/test-xalloc-die.sh: Likewise.
33482
33483 2009-12-08  Simon Josefsson  <simon@josefsson.org>
33484
33485         * doc/gnulib.texi (Glibc pty.h): Add.
33486         * doc/glibc-functions/forkpty.texi: Add.
33487         * doc/glibc-functions/openpty.texi: Add.
33488         Suggested by Bruno Haible.
33489
33490 2009-12-08  Eric Blake  <ebb9@byu.net>
33491
33492         fchdir: fix logic bugs
33493         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
33494         * tests/test-fchdir.c (main): Enhance test.
33495         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
33496         is in use.
33497
33498         dup2: fix logic bugs
33499         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
33500         REPLACE_DUP2 to decide when rpl_dup2 is needed.
33501         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
33502         exists.
33503         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
33504
33505 2009-12-07  Eric Blake  <ebb9@byu.net>
33506
33507         unlink: fix m4 detection
33508         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
33509
33510         unistd-safer: add unit test
33511         * modules/unistd-safer-tests: New file.
33512         * tests/test-dup-safer.c: Likewise.
33513         * tests/test-cloexec.c (setmode): Avoid compiler warning.
33514         * tests/test-dup2.c (setmode): Likewise.
33515         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
33516
33517         cloexec: preserve text vs. binary across dup_cloexec
33518         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
33519         mode.
33520         * modules/dup2-tests (Depends-on): Add binary-io.
33521         * modules/cloexec-tests (Depends-on): Likewise.
33522         * tests/test-dup2.c (setmode, is_mode): New helpers.
33523         (main): Add tests that translation mode is preserved.
33524         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
33525         Reported by Bruno Haible.
33526
33527         mgetgroups: reduce duplicate listings
33528         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
33529         resulting array.
33530         * tests/test-chown.h (test_chown): Simplify client.
33531         * tests/test-lchown.h (test_lchown): Likewise.
33532
33533 2009-12-06  Bruno Haible  <bruno@clisp.org>
33534
33535         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
33536         value.
33537
33538 2009-12-06  Bruno Haible  <bruno@clisp.org>
33539
33540         * lib/progname.c: Include stdio.h, stdlib.h.
33541         (set_program_name): Reject a NULL argument.
33542
33543 2009-12-05  Eric Blake  <ebb9@byu.net>
33544
33545         pipe2-safer: new module
33546         * modules/pipe2-safer: New file.
33547         * lib/unistd-safer.h (pipe2_safer): New prototype.
33548         * lib/unistd--.h (pipe2): New wrapper.
33549         * lib/pipe-safer.c (pipe2_safer): New function.
33550         * modules/pipe (Depends-on): Add pipe2-safer.
33551         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
33552
33553         stdlib-safer: preserve cloexec flag for mkostemp[s]
33554         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
33555         fd_safer_flag.
33556
33557         unistd-safer: allow preservation of cloexec status via flag
33558         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
33559         prototypes.
33560         * lib/dup-safer.c (dup_safer_flag): New function.
33561         * lib/fd-safer.c (fd_safer_flag): Likewise.
33562         * modules/cloexec (configure.ac): Set witness.
33563
33564         test-dup2: enhance test
33565         * modules/dup2-tests (Depends-on): Add cloexec.
33566         * tests/test-dup2.c (main): Enhance test.
33567
33568         cloexec: add dup_cloexec
33569         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
33570         header and comments.
33571         * lib/cloexec.c (set_cloexec_flag): Add comments.
33572         (dup_cloexec): New function, with mingw implementation borrowed
33573         from...
33574         * lib/w32spawn.h (dup_noinherit): ...here.
33575         * modules/execute (Depends-on): Add cloexec.
33576         * modules/pipe (Depends-on): Likewise.
33577         * modules/cloexec (Depends-on): Add dup2.
33578         * modules/cloexec-tests (Files): New file.
33579         * tests/test-cloexec.c: Likewise.
33580
33581         test-xalloc-die: fix test for mingw
33582         * modules/xalloc-die-tests (Files): Add tests/init.sh.
33583         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
33584         directory and .exe suffix off argv[0] output.
33585
33586         test-fseeko: fix test for mingw
33587         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
33588         than undefining fseek, so test will pass on mingw.
33589
33590 2009-12-05  Bruno Haible  <bruno@clisp.org>
33591
33592         * lib/progname.h (set_program_name): Clarify specification.
33593         * lib/progname.c (set_program_name): Likewise.
33594         Reported by Jim Meyering.
33595
33596 2009-12-05  Jim Meyering  <meyering@redhat.com>
33597
33598         maint.mk: backslash-escape parens in default regexp
33599         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
33600         backslash-escape the literal parentheses.
33601
33602         maint.mk: news-date-check: use grep -E
33603         * top/maint.mk (today): Define a Make variable, not a...
33604         (news-date-check): ...shell variable.
33605         (news-date-regexp): Use the Make variable.
33606         Use grep's -E option.  Change the failing diagnostic to mention
33607         the variable, $(news-date-regexp).
33608
33609 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
33610
33611         maintainer-makefile: allow customization of NEWS entry format
33612         * top/maint.mk (news-date-regexp): New overridable variable.
33613         (news-date-check): Use it.
33614
33615 2009-12-04  Eric Blake  <ebb9@byu.net>
33616
33617         mgetgroups: add xgetgroups, and avoid ENOSYS failures
33618         * lib/mgetgroups.h (xgetgroups): New prototype.
33619         * lib/mgetgroups.c (xgetgroups): New wrapper.
33620         (mgetgroups): Handle ENOSYS.
33621         * modules/mgetgroups (Depends-on): Add realloc.
33622         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
33623
33624         mgetgroups: avoid argument promotion issues with -1
33625         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
33626         for invalid gid_t.
33627         * tests/test-chown.h (getegid, test_chown): Likewise.
33628         * tests/test-lchown.h (getegid, test_lchown): Likewise.
33629
33630 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
33631
33632         exclude: Fix header file problems.
33633         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
33634
33635 2009-12-01  Jim Meyering  <meyering@redhat.com>
33636
33637         fts: fts_open: do not let an empty string cause immediate failure
33638         This is required in support of GNU rm, for which the command
33639         "rm A '' B" must process and remove both A and B, in spite of
33640         the empty string argument.
33641         * lib/fts.c (fts_open): Do not let the presence of an empty string
33642         cause fts_open to fail immediately.  Most fts-using tools must be
33643         able to process all arguments, in order, and can be expected to
33644         diagnose such arguments themselves.
33645
33646 2009-11-30  Eric Blake  <ebb9@byu.net>
33647
33648         utimens: fix compilation error
33649         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
33650         Declare variable at right scope.
33651
33652 2009-11-29  Jim Meyering  <meyering@redhat.com>
33653
33654         bootstrap: handle perl-5.11's changed --version output
33655         * build-aux/bootstrap (get_version): Handle perl separately,
33656         since perl-5.11's --version output is different.
33657
33658 2009-11-28  Jim Meyering  <meyering@redhat.com>
33659
33660         userspec: depend on the inttostr module, too
33661         * modules/userspec (Depends-on): Add inttostr.
33662
33663         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
33664         * lib/userspec.c (parse_with_separator): Do not accept a user ID
33665         number of MAXUID when it evaluates to (uid_t) -1.
33666         Likewise for group ID.  Reported by Matt McCutchen in
33667         <http://savannah.gnu.org/bugs/?28113>
33668
33669         userspec: reformat to use spaces, not TABs
33670         * lib/userspec.c: Expand TABs to spaces.
33671         Add Emacs' "indent-tabs-mode: nil" hint.
33672
33673 2009-11-27  Eric Blake  <ebb9@byu.net>
33674
33675         getopt-gnu: flush out another BSD bug
33676         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
33677         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
33678         flush out BSD bug.
33679         * tests/test-getopt.h (test_getopt): End lists with NULL.
33680         * tests/test-getopt_long.h (test_getopt_long): Likewise.
33681         (test_getopt_long_posix): Enhance test.
33682         * modules/getopt-posix-tests (Depends-on): Add stdbool.
33683         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
33684         getopt-gnu.
33685         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33686         Likewise.
33687
33688 2009-11-27  Simon Josefsson  <simon@josefsson.org>
33689
33690         * modules/idpriv-droptemp-tests (Notice): Fix text.
33691
33692 2009-11-27  Jim Meyering  <meyering@redhat.com>
33693
33694         test-xalloc-die: avoid spurious failure due to libtool argv difference
33695         In a libtool-enabled project, this test would fail due to a difference
33696         in the emitted program name, e.g.,
33697         -test-xalloc-die: memory exhausted
33698         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
33699         Use program to avoid that.
33700         * modules/xalloc-die-tests (Depends-on): Add progname.
33701         * tests/test-xalloc-die.c: Include progname.h".
33702         (program_name): Remove decl.
33703         (main): Call set_program_name.
33704         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
33705
33706 2009-11-26  Richard Jones  <rjones@redhat.com>
33707
33708         w32sock: leave win32 error in place.
33709         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
33710
33711 2009-11-26  Eric Blake  <ebb9@byu.net>
33712
33713         init.sh: suggest to use skip_ and fail_ functions in comments
33714         * tests/init.sh: Add a sentence.
33715
33716 2009-11-25  Bruno Haible  <bruno@clisp.org>
33717
33718         init.sh: add documentation in comments
33719         * tests/init.sh: Add some developer and user documentation.
33720
33721 2009-11-26  Jim Meyering  <meyering@redhat.com>
33722
33723         init.sh: accommodate even those who specify bogus srcdir manually
33724         * tests/init.sh: Normally, srcdir is guaranteed by automake and
33725         configure-time tests to be sanitized, so that there is no need to
33726         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
33727         (with no double quotes) suffices.  However, since tests may be
33728         invoked manually, and since you may explicitly set srcdir to the
33729         name of a directory containing spaces, do quote its uses here.
33730         * tests/test-pread.sh: Likewise.
33731         Suggested by Bruno Haible.
33732
33733         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
33734         * tests/test-pread.sh: Write no data into the pipe, because
33735         test-pread actually reads none.  This avoids a diagnostic,
33736         "bash: echo: write error: Broken pipe", that arises in the unusual
33737         event something is ignoring SIGPIPE, and might be interpreted
33738         as some sort of failure.  Reported by Bruno Haible.
33739
33740 2009-11-25  Jim Meyering  <meyering@redhat.com>
33741
33742         test-pread: cover failure with ESPIPE and EINVAL
33743         * tests/test-pread.c (main): Test for failure, too.
33744         * tests/test-pread.sh: Invoke with stdin on a pipe.
33745         Suggested by Eric Blake.
33746
33747         pread: improvement and fix
33748         * modules/pread (Depends-on): Depend on lseek, for portability to
33749         e.g., mingw.  Suggested by Eric Blake.
33750         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
33751
33752         unistd.in.h: correct declaration of pread
33753         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
33754         Reported by Richard W.M. Jones.
33755
33756         test-pread.sh: distribute the test script
33757         * modules/pread-tests (Files): Include test-pread.sh.
33758
33759         test-pread.sh: clean up
33760         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
33761         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
33762         That is unnecessary, since it's always ".".
33763         Suggestion from Eric Blake.
33764
33765         test-pread.sh: make executable
33766         * tests/test-pread.sh: Set executable bit.
33767         Reported by Eric Blake.
33768
33769         correct typo in test-pread.sh
33770         * tests/test-pread.sh: Add #! line.
33771
33772         test pread
33773         * tests/test-pread.c: New file.
33774         * tests/test-pread.sh: Likewise.
33775         * modules/pread-tests: Likewise.
33776
33777         pread: new module
33778         * modules/pread: New file.
33779         * lib/unistd.in.h (pread): Define/declare.
33780         * lib/pread.c (pread): New file.
33781         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
33782         * modules/unistd (Makefile.am): Substitute witnesses.
33783         * doc/posix-functions/pread.texi (pread): Update.
33784         * MODULES.html.sh: Add pread.
33785
33786 2009-11-25  Jim Meyering  <meyering@redhat.com>
33787
33788         tests/init.sh: new file to be used via most *.sh tests
33789         * tests/init.sh: New file.
33790
33791 2009-11-25  Eric Blake  <ebb9@byu.net>
33792
33793         utimens: work around older Linux failure with symlinks
33794         * lib/utimens.c (lutimensat_works_really): New variable.
33795         (fdutimens, lutimens): Use it to manage kernels that support
33796         nanosecond times on files, but not on symlinks.
33797         Reported by OndÅ™ej Vašík.
33798
33799         utimes: fix configure grammar
33800         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
33801
33802 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
33803
33804         regex: Fix fastmap for multibyte character ranges.
33805         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
33806         characters when a multibyte character range is included.
33807
33808 2009-11-22  Andy Wingo  <wingo@pobox.com>
33809
33810         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
33811         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
33812
33813 2009-11-24  Bruno Haible  <bruno@clisp.org>
33814
33815         doc: Most *_l functions exist in MacOS X 10.5.
33816         * doc/posix-functions/duplocale.texi: Update platforms list.
33817         * doc/posix-functions/freelocale.texi: Likewise.
33818         * doc/posix-functions/newlocale.texi: Likewise.
33819         * doc/posix-functions/uselocale.texi: Likewise.
33820         * doc/posix-functions/isalnum_l.texi: Likewise.
33821         * doc/posix-functions/isalpha_l.texi: Likewise.
33822         * doc/posix-functions/isblank_l.texi: Likewise.
33823         * doc/posix-functions/iscntrl_l.texi: Likewise.
33824         * doc/posix-functions/isdigit_l.texi: Likewise.
33825         * doc/posix-functions/isgraph_l.texi: Likewise.
33826         * doc/posix-functions/islower_l.texi: Likewise.
33827         * doc/posix-functions/isprint_l.texi: Likewise.
33828         * doc/posix-functions/ispunct_l.texi: Likewise.
33829         * doc/posix-functions/isspace_l.texi: Likewise.
33830         * doc/posix-functions/isupper_l.texi: Likewise.
33831         * doc/posix-functions/iswalnum_l.texi: Likewise.
33832         * doc/posix-functions/iswalpha_l.texi: Likewise.
33833         * doc/posix-functions/iswblank_l.texi: Likewise.
33834         * doc/posix-functions/iswcntrl_l.texi: Likewise.
33835         * doc/posix-functions/iswctype_l.texi: Likewise.
33836         * doc/posix-functions/iswdigit_l.texi: Likewise.
33837         * doc/posix-functions/iswgraph_l.texi: Likewise.
33838         * doc/posix-functions/iswlower_l.texi: Likewise.
33839         * doc/posix-functions/iswprint_l.texi: Likewise.
33840         * doc/posix-functions/iswpunct_l.texi: Likewise.
33841         * doc/posix-functions/iswspace_l.texi: Likewise.
33842         * doc/posix-functions/iswupper_l.texi: Likewise.
33843         * doc/posix-functions/iswxdigit_l.texi: Likewise.
33844         * doc/posix-functions/isxdigit_l.texi: Likewise.
33845         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
33846         * doc/posix-functions/strcasecmp_l.texi: Likewise.
33847         * doc/posix-functions/strcoll_l.texi: Likewise.
33848         * doc/posix-functions/strfmon_l.texi: Likewise.
33849         * doc/posix-functions/strftime_l.texi: Likewise.
33850         * doc/posix-functions/strncasecmp_l.texi: Likewise.
33851         * doc/posix-functions/strxfrm_l.texi: Likewise.
33852         * doc/posix-functions/tolower_l.texi: Likewise.
33853         * doc/posix-functions/toupper_l.texi: Likewise.
33854         * doc/posix-functions/towctrans_l.texi: Likewise.
33855         * doc/posix-functions/towlower_l.texi: Likewise.
33856         * doc/posix-functions/towupper_l.texi: Likewise.
33857         * doc/posix-functions/wcscoll_l.texi: Likewise.
33858         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
33859         * doc/posix-functions/wctrans_l.texi: Likewise.
33860         * doc/posix-functions/wctype_l.texi: Likewise.
33861         * doc/glibc-functions/strptime_l.texi: Likewise.
33862         * doc/glibc-functions/strtod_l.texi: Likewise.
33863         * doc/glibc-functions/strtof_l.texi: Likewise.
33864         * doc/glibc-functions/strtol_l.texi: Likewise.
33865         * doc/glibc-functions/strtold_l.texi: Likewise.
33866         * doc/glibc-functions/strtoll_l.texi: Likewise.
33867         * doc/glibc-functions/strtoul_l.texi: Likewise.
33868         * doc/glibc-functions/strtoull_l.texi: Likewise.
33869         * doc/glibc-functions/wcsftime_l.texi: Likewise.
33870         * doc/glibc-functions/wcstod_l.texi: Likewise.
33871         * doc/glibc-functions/wcstof_l.texi: Likewise.
33872         * doc/glibc-functions/wcstol_l.texi: Likewise.
33873         * doc/glibc-functions/wcstold_l.texi: Likewise.
33874         * doc/glibc-functions/wcstoll_l.texi: Likewise.
33875         * doc/glibc-functions/wcstoul_l.texi: Likewise.
33876         * doc/glibc-functions/wcstoull_l.texi: Likewise.
33877
33878 2009-11-24  Bruno Haible  <bruno@clisp.org>
33879
33880         duplocale: Fix logic bug.
33881         * lib/duplocale.c: Don't include <langinfo.h>.
33882         (_NL_LOCALE_NAME): Remove macro.
33883         (rpl_duplocale): Use setlocale instead of nl_langinfo.
33884         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
33885
33886 2009-11-23  Jim Meyering  <meyering@redhat.com>
33887
33888         test-update-copyright: don't hard-code /usr/bin/perl
33889         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
33890         perl to print the current year.  Gilles Espinasse reported that
33891         the replaced use of perl was hard-coded as /usr/bin/perl.
33892
33893 2009-11-23  Bruno Haible  <bruno@clisp.org>
33894
33895         duplocale: Add support for glibc 2.3.x.
33896         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
33897
33898 2009-11-22  Bruno Haible  <bruno@clisp.org>
33899
33900         vasnprintf: Tiny optimization.
33901         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
33902         MacOS X.
33903
33904 2009-11-22  Bruno Haible  <bruno@clisp.org>
33905
33906         Tests for module 'duplocale'.
33907         * modules/duplocale-tests: New file.
33908         * tests/test-duplocale.c: New file.
33909
33910         New module 'duplocale'.
33911         * m4/duplocale.m4: New file.
33912         * lib/locale.in.h (duplocale): New declaration.
33913         * lib/duplocale.c: New file.
33914         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
33915         gl_LOCALE_H_DEFAULTS): New macros.
33916         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
33917         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
33918         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
33919         REPLACE_DUPLOCALE.
33920         * modules/duplocale: New file.
33921         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
33922
33923 2009-11-22  Bruno Haible  <bruno@clisp.org>
33924
33925         * modules/locale-tests (configure.ac): Test for newlocale function.
33926         * tests/test-locale.c: When the system has extended locale functions,
33927         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
33928
33929         locale: Make locale_t available when possible.
33930         * lib/locale.in.h: Include <xlocale.h> when it exists.
33931         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
33932         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
33933         * modules/locale (Depends-on): Add extensions.
33934         (Makefile.am): Also substitute HAVE_XLOCALE_H.
33935         * doc/posix-headers/locale.texi: Document the problem with locale_t.
33936
33937 2009-11-22  Bruno Haible  <bruno@clisp.org>
33938
33939         Add comments.
33940         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
33941         invocation.
33942         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
33943         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
33944         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
33945
33946 2009-11-22  Bruno Haible  <bruno@clisp.org>
33947
33948         error: account for the possibility of freopen (stdout).
33949         * lib/error.c: Include <unistd.h>.
33950         (flush_stdout): New function, extracted from error and error_at_line.
33951         Determine stdout's fd dynamically.
33952         (error, error_at_line): Invoke flush_stdout.
33953         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
33954         * modules/error (Depends-on): Add unistd.
33955
33956 2009-11-22  Bruno Haible  <bruno@clisp.org>
33957
33958         diffseq: Add comment.
33959         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
33960
33961 2009-11-22  Jim Meyering  <meyering@redhat.com>
33962
33963         c-stack: avoid defining an unused static function
33964         * lib/c-stack.c (find_stack_direction): Do not define this function
33965         when it will not be used.
33966
33967         diffseq: avoid spurious gcc warnings
33968         * lib/diffseq.h (IF_LINT2): Define.
33969         (compareseq): Use it to initialize two members of "part".
33970         This avoids two used-uninitialized warnings.
33971
33972 2009-11-21  Jim Meyering  <meyering@redhat.com>
33973
33974         c-stack: avoid "ignoring return value of `write'" warning
33975         * lib/c-stack.c: Include "ignore-value.h".
33976         (die): Explicitly ignore each write return value.
33977         * modules/c-stack (Depends-on): Add ignore-value.
33978
33979 2009-11-21  Bruno Haible  <bruno@clisp.org>
33980
33981         diffseq: reduce scope of variable 'best'.
33982         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
33983         variable, earlier used for two different purposes.
33984
33985 2009-11-21  Jim Meyering  <meyering@redhat.com>
33986
33987         diffseq: remove useless assignment to "best"
33988         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
33989         assignment.  At that point "best" is already guaranteed to be zero.
33990
33991 2009-11-20  Eric Blake  <ebb9@byu.net>
33992
33993         build: mention ftp redirector in release announcements
33994         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
33995         values that used to come from cfg.mk; mention FTP redirect URL.
33996         * build-aux/announce-gen: Mention the mirror list.
33997         Suggested by Karl Berry.
33998
33999         nanosleep: improve port to mingw
34000         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
34001         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
34002         LIB_NANOSLEEP, but only when needed.
34003         * modules/select (Link): Document LIBSOCKET.
34004         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
34005         enough.
34006
34007         nanosleep: work around cygwin bug
34008         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
34009         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
34010         bug.
34011         (getnow): Delete, not needed.
34012         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
34013         LIB_CLOCK_GETTIME.
34014         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
34015         clock-time, gettime.
34016         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
34017         bug.
34018         * modules/nanosleep-tests: New test.
34019         * tests/test-nanosleep.c: New file.
34020
34021         sleep: work around cygwin bug
34022         * lib/sleep.c (rpl_sleep): Work around the bug.
34023         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
34024         (gl_PREREQ_SLEEP): Delete unused macro.
34025         * modules/sleep (Depends-on): Add verify.
34026         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
34027         * modules/unistd (Makefile.am): Substitute witness.
34028         * lib/unistd.in.h (sleep): Update prototype.
34029         * doc/posix-functions/sleep.texi (sleep): Document the bug.
34030         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
34031         * modules/sleep-tests (Depends-on): Check for alarm.
34032
34033 2009-11-20  Jim Meyering  <meyering@redhat.com>
34034
34035         maint.mk: improve sc_prohibit_magic_number_exit
34036         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
34037         so it does not match uses like System.exit(1).
34038         Add comments showing how to correct all offenders.
34039
34040 2009-11-19  Eric Blake  <ebb9@byu.net>
34041
34042         xalloc-die-tests: add missing library
34043         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
34044
34045         test-xvasprintf: silence compiler warnings
34046         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
34047         empty string from gcc.
34048
34049 2009-11-19  Jim Meyering  <meyering@redhat.com>
34050
34051         xfreopen: new module, from coreutils
34052         * modules/xfreopen: New module.
34053         * lib/xfreopen.c: New file.
34054         * lib/xfreopen.h: New file.
34055         * MODULES.html.sh (File stream based Input/Output"): Add it.
34056
34057 2009-11-19  Eric Blake  <ebb9@byu.net>
34058
34059         manywarnings: depend on warnings
34060         * modules/manywarnings (Depends-on): Add warnings.
34061
34062         build: avoid compiler warnings
34063         * lib/select.c (rpl_select): Delete unused variable.
34064         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
34065
34066 2009-11-18  Eric Blake  <ebb9@byu.net>
34067
34068         tests: avoid false negative with --with-packager
34069         * tests/test-version-etc.sh: Discard packager information.
34070         * tests/test-argp-version-etc-1.sh: Likewise.
34071         Reported by Mike Frysinger.
34072
34073         utimens: fix regression on Solaris
34074         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
34075         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
34076         can only change fd timestamps via futimesat.  Instead, use an
34077         additional witness macro to avoid BSD bug.
34078         Reported by Jim Meyering.
34079
34080 2009-11-17  Eric Blake  <ebb9@byu.net>
34081
34082         usleep: use it to simplify tests
34083         * modules/stat-time-tests (Depends-on): Add usleep.
34084         (configure.ac): Drop usleep check.
34085         * modules/chown-tests (Depends-on, configure.ac): Likewise.
34086         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
34087         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
34088         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
34089         * modules/openat-tests (Depends-on, configure.ac): Likewise.
34090         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
34091         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
34092         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
34093         Likewise.
34094         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
34095         * tests/test-lchown.h (nap): Likewise.
34096         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
34097         * tests/test-stat-time.c (nap): Likewise.
34098         * tests/test-utimens-common.h (nap): Update comments.
34099
34100         usleep: new module
34101         * modules/usleep: New file.
34102         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
34103         * lib/usleep.c (usleep): Likewise.
34104         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
34105         * modules/unistd (Makefile.am): Substitute witnesses.
34106         * lib/unistd.in.h (usleep): Add declaration.
34107         * doc/pastposix-functions/usleep.texi (usleep): Document this.
34108         * MODULES.html.sh (Date and time): Likewise.
34109         * modules/usleep-tests (Depends-on): New test.
34110         * tests/test-usleep.c: New file.
34111
34112         chown: work around OpenBSD bug
34113         * lib/chown.c (rpl_chown): Work around the bug.
34114         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
34115         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
34116         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
34117         * modules/chown (Depends-on): Add stdbool.
34118         * modules/lchown (Depends-on): Likewise.
34119         * doc/posix-functions/chown.texi (chown): Document the bug.
34120         * doc/posix-functions/lchown.texi (lchown): Likewise.
34121         * tests/test-lchown.h (test_chown): Relax test.
34122
34123         mkstemp: avoid conflict with C++ keyword template
34124         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
34125         * lib/mkostemp.c (mkostemp): Likewise.
34126         * lib/mkostemps.c (mkostemps): Likewise.
34127         * lib/mkstemp.c (mkstemp): Likewise.
34128         * lib/mkstemps.c (mkstemps): Likewise.
34129
34130         xalloc-die-tests: optimize
34131         * tests/test-xalloc-die.sh: Reduce number of processes.
34132
34133 2009-11-17  Simon Josefsson  <simon@josefsson.org>
34134
34135         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
34136         patch from ludo@gnu.org (Ludovic Courtès).
34137
34138 2009-11-17  Jim Meyering  <meyering@redhat.com>
34139
34140         version-etc: use proper license string
34141         * modules/version-etc (License): Use LGPL, not LGPLv3+.
34142         * modules/version-etc-fsf: Likewise.
34143
34144 2009-11-17  Simon Josefsson  <simon@josefsson.org>
34145
34146         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
34147         printed to stdout.  Deal with EOL differences.
34148
34149 2009-11-17  Eric Blake  <ebb9@byu.net>
34150
34151         unsetenv: work around Solaris bug
34152         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
34153         * lib/unsetenv.c (rpl_unsetenv): Work around it.
34154         Reported by Jim Meyering.
34155
34156         vasnprintf: avoid compiler warnings
34157         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
34158         variables.
34159         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
34160
34161 2009-11-17  Simon Josefsson  <simon@josefsson.org>
34162
34163         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
34164         settings since xalloc-die is no longer the self test,
34165         xalloc-die.sh is.
34166
34167 2009-11-17  Jim Meyering  <meyering@redhat.com>
34168
34169         test-xalloc-die.sh: make the code agree with the commit log
34170         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
34171         at the end, just in case you happen to have a test-xalloc-die
34172         program in some other PATH directory.
34173
34174         test-xalloc-die.sh: fix a portability bug
34175         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
34176         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
34177         Otherwise, argv[0] (as often seen in diagnostics) would be too
34178         system-dependent, sometimes with, and sometimes without the leading "./".
34179
34180         version-etc-fsf: relax license to LGPLv3+
34181         * modules/version-etc-fsf (License): Relax license.
34182
34183 2009-11-16  Eric Blake  <ebb9@byu.net>
34184
34185         xalloc-die-tests: avoid printing null pointer
34186         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
34187         shell script.
34188         * tests/test-xalloc-die.c (program_name): Declare.
34189         * tests/test-xalloc-die.sh (tmpfiles): New file.
34190
34191         setenv, unsetenv: work around various bugs
34192         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
34193         (setenv) [HAVE_SETENV]: Work around bugs.
34194         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
34195         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
34196         for bugs.
34197         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
34198         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
34199         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
34200         * modules/stdlib (Makefile.am): Update substitutions.
34201         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
34202         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
34203         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
34204         * modules/setenv-tests: New test.
34205         * modules/unsetenv-tests: Likewise.
34206         * tests/test-setenv.c: New file.
34207         * tests/test-unsetenv.c: Likewise.
34208
34209 2009-11-16  Jim Meyering  <meyering@redhat.com>
34210
34211         version-etc: relax license to LGPLv3+
34212         * modules/version-etc (License): Relax license.
34213
34214         better AC_REQUIRE expanded-before-required-warning avoidance
34215         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
34216         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
34217         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
34218         which is no longer needed.
34219
34220 2009-11-16  Eric Blake  <ebb9@byu.net>
34221
34222         test-freading: clean up temporary file
34223         * tests/test-freading.c (main): Remove file on success, and use
34224         ASSERT more liberally.
34225         Reported by Jim Meyering.
34226
34227 2009-11-16  Jim Meyering  <meyering@redhat.com>
34228
34229         avoid new AC_REQUIRE expanded-before-required warnings
34230         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
34231         merely using it.
34232         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
34233         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
34234
34235 2009-11-15  Simon Josefsson  <simon@josefsson.org>
34236
34237         * tests/test-xalloc-die.c: New file.
34238         * modules/xalloc-die-tests: New file.
34239         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
34240         XFAIL_TESTS so it can be appended by modules.
34241
34242 2009-11-15  Simon Josefsson  <simon@josefsson.org>
34243
34244         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
34245         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
34246
34247 2009-11-14  Eric Blake  <ebb9@byu.net>
34248
34249         fnmatch: avoid compiler warning
34250         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
34251         to silence compiler warning about mismatch signedness in ?:.
34252         Reported by Robert Millan.
34253
34254         intprops: add double-inclusion guard
34255         * lib/intprops.h: Allow idempotent includes.
34256         Suggested by Bruce Korb.
34257
34258         openat: detect Solaris fchownat bug
34259         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
34260         penalizing glibc chownat when only lchownat is broken.
34261         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
34262         trailing slash bugs.
34263         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
34264         * modules/openat-tests (Files): Include more files.
34265         (Depends-on): Add mgetgroups, sleep, stat-time.
34266         (configure.ac): Add additional checks.
34267         (Makefile.am): Build new test.
34268         * tests/test-fchownat.c: New file.
34269
34270         lchown: detect Solaris and FreeBSD bug
34271         * lib/lchown.c (rpl_lchown): Work around bug.
34272         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
34273         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34274         * modules/unistd (Makefile.am): Populate it.
34275         * lib/unistd.in.h (lchown): Update declaration.
34276         * doc/posix-functions/lchown.texi (lchown): Document the bug.
34277         * modules/lchown-tests: New file.
34278         * tests/test-lchown.h (test_lchown): Likewise.
34279         * tests/test-lchown.c (main): Likewise.
34280
34281         chown: detect Solaris and FreeBSD bug
34282         * lib/chown.c (rpl_chown): Work around bug.
34283         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
34284         (gl_PREREQ_CHOWN): Delete.
34285         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
34286         * modules/unistd (Makefile.am): Populate it.
34287         * lib/unistd.in.h (chown): Update declaration.
34288         * lib/lchown.c (chown): Update client.
34289         * modules/lchown (Depends-on): Add lstat.
34290         * doc/posix-functions/chown.texi (chown): Document the bug.
34291         * doc/posix-functions/getgroups.texi (getgroups): Document
34292         getgroups pitfall.
34293         * modules/chown-tests: New file.
34294         * tests/test-chown.h (test_chown): Likewise.
34295         * tests/test-chown.c (main): Likewise.
34296
34297 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
34298
34299         gnulib-tool: correctly detect absence of m4 directories
34300         * gnulib-tool: Avoid extra newline on data passed to wc -l.
34301
34302 2009-11-14  Jim Meyering  <meyering@redhat.com>
34303
34304         maint.mk: Prohibit inclusion of "xalloc.h" without use.
34305         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
34306
34307 2009-11-14  John W. Eaton  <jwe@gnu.org>
34308
34309         strftime.h: wrap funtion declaration in extern "C" block
34310         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
34311
34312 2009-11-13  Eric Blake  <ebb9@byu.net>
34313
34314         getgroups: avoid compiler warning
34315         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
34316
34317         getgroups: work around FreeBSD bug
34318         * lib/getgroups.c (rpl_getgroups): Work around the bug.
34319         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
34320         * doc/posix-functions/getgroups.texi (getgroups): Document it.
34321         * tests/test-getgroups.c (main): Fix buffer overrun.
34322
34323         getgroups: avoid compilation failure
34324         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
34325         * modules/getgroups (Depends-on): Add stdint.
34326
34327 2009-11-13  Jim Meyering  <meyering@redhat.com>
34328
34329         test-getgroups: avoid compilation failure
34330         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
34331
34332 2009-11-13  Eric Blake  <ebb9@byu.net>
34333
34334         mgetgroups: new module, taken from coreutils
34335         * modules/mgetgroups: New file.
34336         * lib/mgetgroups.h: Likewise.
34337         * lib/mgetgroups.c (mgetgroups): Likewise.
34338         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
34339         * MODULES.html.sh (Users and groups): Mention it.
34340
34341         getgroups: don't expose GETGROUPS_T to user
34342         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
34343         an element at a time if GETGROUPS_T is wrong size.
34344         * lib/getugroups.h (getugroups): Change signature.
34345         * lib/unistd.in.h (getgroups): Likewise.
34346         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
34347         signature needs fixing.
34348         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
34349         AC_TYPE_GETGROUPS.
34350         * modules/group-member (Depends-on): Add getgroups.
34351         * lib/group-member.c (group_info, get_group_info): Use gid_t.
34352         (group_member): Rely on getgroups replacement.
34353         * lib/getugroups.c (getugroups): Use gid_t.
34354         * tests/test-getgroups.c (main): Likewise.
34355         * NEWS: Mention the signature change.
34356         * doc/posix-functions/getgroups.texi (getgroups): Mention the
34357         problem with signature.
34358         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
34359         GETGROUPS_T is still useful for setgroups.
34360
34361         getgroups, getugroups: provide stubs for mingw
34362         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
34363         * lib/getugroups.c (getugroups): Likewise.
34364         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
34365         function.  Modernize replacement scheme.
34366         (gl_PREREQ_GETGROUPS): Delete.
34367         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
34368         * modules/getgroups (configure.ac): Declare witness.
34369         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
34370         * modules/unistd (Depends-on): Substitute witness.
34371         * lib/unistd.in.h (getgroups): Declare replacement.
34372
34373         getgroups: avoid calling exit
34374         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
34375         drop xalloc.
34376         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
34377         dependencies.
34378         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
34379         exiting, in the rare case of malloc failure.
34380
34381         getgroups: fix logic error
34382         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
34383         has more than 20 groups.
34384         * modules/getgroups-tests: New test.
34385         * tests/test-getgroups.c: New file.
34386
34387 2009-11-13  Simon Josefsson  <simon@josefsson.org>
34388
34389         * tests/test-base64.c: Improve.
34390
34391 2009-11-13  Simon Josefsson  <simon@josefsson.org>
34392
34393         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
34394         Blake <ebb9@byu.net>.
34395
34396 2009-11-13  Simon Josefsson  <simon@josefsson.org>
34397
34398         * tests/test-xvasprintf.c: Add %s%s related checks.
34399
34400 2009-11-12  Eric Blake  <ebb9@byu.net>
34401
34402         version-etc: match standards.texi style
34403         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
34404         and use <> only for URLs.
34405
34406 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
34407
34408         fts: do not fail on a submount during traversal
34409         * lib/fts.c (fts_build): Read the stat info again after opening
34410         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
34411         Original report at http://bugzilla.redhat.com/501848.
34412
34413 2009-11-12  Jim Meyering  <meyering@redhat.com>
34414
34415         bootstrap: sync from coreutils
34416         * build-aux/bootstrap (bootstrap_epilogue): New function.
34417         Use git_modules_config in one more place.  This make bootstrap's
34418         --gnulib-srcdir option more useful for testing.
34419
34420         bootstrap: generalize autoheader check
34421         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
34422         AC_CONFIG_HEADERS.
34423
34424 2009-11-11  Eric Blake  <ebb9@byu.net>
34425
34426         mkfifoat: use new modules for Solaris and BSD bugs
34427         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
34428         * lib/mkfifoat.c (mknodat): Split...
34429         * lib/mknodat.c (mknodat): ...into new file.
34430         * modules/mkfifoat (Files): Ship new file.
34431         (Depends-on): Add mkfifo, mknod.
34432         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
34433         (Depends-on): Add symlink.
34434         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
34435         redundant with test_mkfifo.h.
34436         (do_mkfifoat, do_mknodat): New helpers.
34437
34438         mknod: new module
34439         * modules/mknod: New file.
34440         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
34441         * lib/mknod.c (mknod): Likewise.
34442         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
34443         defaults.
34444         * modules/sys_stat (Makefile.am): Substitute them.
34445         * lib/sys_stat.in.h (mknod): Declare replacement.
34446         * MODULES.html.sh (Support for systems lacking POSIX:2008):
34447         Document it.
34448         * doc/posix-functions/mknod.texi (mknod): Likewise.
34449         * modules/mknod-tests: New test.
34450         * tests/test-mknod.c: Likewise.
34451
34452         mkfifo: new module
34453         * modules/mkfifo: New file.
34454         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
34455         * lib/mkfifo.c (mkfifo): Likewise.
34456         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
34457         defaults.
34458         * modules/sys_stat (Makefile.am): Substitute them.
34459         * lib/sys_stat.in.h (mkfifo): Declare replacement.
34460         * MODULES.html.sh (Support for systems lacking POSIX:2008):
34461         Document it.
34462         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
34463         * modules/mkfifo-tests: New test.
34464         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
34465         from test-mkfifoat.c.
34466         * tests/test-mkfifo.c: New file.
34467
34468         readlink: detect FreeBSD bug
34469         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
34470         slash on symlink.
34471         * doc/posix-functions/readlink.texi (readlink): Document the bug.
34472         * tests/test-readlink.h (test_readlink): Enhance test.
34473
34474         symlink: detect FreeBSD bug
34475         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
34476         slash on symlink.
34477         * doc/posix-functions/symlink.texi (symlink): Document the bug.
34478         * tests/test-symlink.h (test_symlink): Enhance test.
34479
34480 2009-11-10  Eric Blake  <ebb9@byu.net>
34481
34482         link: detect FreeBSD bug
34483         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
34484         symlink.
34485         * doc/posix-functions/link.texi (link): Document the bug.
34486         * tests/test-link.h (test_link): Enhance test.
34487         * tests/test-linkat.c (main): Update caller.
34488
34489         unlink, remove: detect FreeBSD bug
34490         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
34491         slash on symlink.
34492         * doc/posix-functions/unlink.texi (unlink): Document the bug.
34493         * doc/posix-functions/remove.texi (remove): Likewise.
34494         * tests/test-unlink.h (test_unlink): Enhance test.
34495         * tests/test-remove.c (main): Likewise.
34496
34497 2009-11-09  Eric Blake  <ebb9@byu.net>
34498
34499         rename: detect FreeBSD bug
34500         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
34501         slash on symlink.
34502         * modules/renameat-tests (Depends-on): Add filenamecat.
34503         * tests/test-rename.h (test_rename): Allow one more errno.
34504         * tests/test-renameat.c (main): Likewise.
34505         * doc/posix-functions/rename.texi (rename): Document the bug.
34506
34507         open: detect FreeBSD bug
34508         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
34509         symlink.
34510         * doc/posix-functions/open.texi (open): Document the bug.
34511         * doc/posix-functions/utimes.texi (utimes): Likewise.
34512         * tests/test-open.h (test_open): Add parameters, and test symlink
34513         handling.
34514         * tests/test-open.c (main): Adjust caller.
34515         * tests/test-fcntl-safer.c (main): Likewise.
34516         * modules/open-tests (Depends-on): Add stdbool, symlink.
34517         * modules/fcntl-safer-tests (Depends-on): Likewise.
34518         * tests/test-openat.c (main): Add test-open tests.
34519
34520         stat: detect FreeBSD bug
34521         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
34522         symlink.
34523         * doc/posix-functions/stat.texi (stat): Document the bug.
34524         * tests/test-stat.h (test_stat_func): Add argument.
34525         * tests/test-stat.c (main): Adjust caller.
34526         * tests/test-fstatat.c (main): Likewise.
34527         * modules/stat-tests (Depends-on): Add stdbool, symlink.
34528         Reported by Jim Meyering.
34529
34530 2009-11-09  James Youngman  <jay@gnu.org>
34531
34532         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
34533         * lib/strftime.c: Correct placement of #include "ignore-value.h".
34534
34535 2009-11-08  Jim Meyering  <meyering@redhat.com>
34536
34537         utimens: remove invalid futimesat call
34538         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
34539         It used the file descriptor of the target file as the DIR_FD
34540         parameter and NULL as the file name.  That caused failure with
34541         errno == EFAULT on FreeBSD-8.0-rc2
34542
34543 2009-11-07  Eric Blake  <ebb9@byu.net>
34544
34545         fflush, freadseek: use fseeko, not fseek
34546         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
34547         (clear_ungetc_buffer): Avoid potential problems on large files.
34548         * lib/freadseek.c (freadseek): Likewise.
34549         * modules/freadseek (Depends-on): Add fseeko.
34550         * modules/fseek (configure.ac): Set a witness.
34551         * tests/test-fflush.c (main): Use fseeko.
34552         * tests/test-fpurge.c (fseek): Disable link warning.
34553         * tests/test-freadable.c (fseek): Likewise.
34554         * tests/test-freading.c (fseek): Likewise.
34555         * tests/test-fseeko.c (fseek): Likewise.
34556         * tests/test-ftell.c (fseek): Likewise.
34557         * tests/test-ftello.c (fseek): Likewise.
34558         * tests/test-fwritable.c (fseek): Likewise.
34559         * tests/test-fwriting.c (fseek): Likewise.
34560
34561 2009-11-06  Simon Josefsson  <simon@josefsson.org>
34562
34563         * modules/memchr (Depends-on): Drop getpagesize dependency.
34564
34565 2009-11-06  Simon Josefsson  <simon@josefsson.org>
34566
34567         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
34568         Reported by Ludovic Courtès.
34569         * build-aux/pmccabe2html: Improve example usage.
34570         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
34571
34572 2009-11-06  Jim Meyering  <meyering@redhat.com>
34573
34574         do-release-commit-and-tag: New module.
34575         Automate the release-commit and tag process.
34576         * build-aux/do-release-commit-and-tag: New script, from coreutils.
34577         * modules/do-release-commit-and-tag: New file.
34578         * MODULES.html.sh (Support for maintaining and releasing): Add it.
34579
34580 2009-11-06  Simon Josefsson  <simon@josefsson.org>
34581
34582         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
34583         because test-select.c uses inet_pton.
34584
34585 2009-11-06  Simon Josefsson  <simon@josefsson.org>
34586
34587         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
34588         GETADDRINFO_LIB.  Bump serial number.
34589         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
34590         Suggested by Eric Blake <ebb9@byu.net>.
34591
34592 2009-11-05  Eric Blake  <ebb9@byu.net>
34593
34594         strtod: detect darwin bug
34595         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
34596         Reported by Leo Davis.
34597
34598         freopen-safer: new module
34599         * modules/freopen-safer: New module.
34600         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
34601         * lib/freopen-safer.c (freopen_safer): New file.
34602         * lib/stdio-safer.h (freopen_safer): New declaration.
34603         * lib/stdio--.h (freopen): New override.
34604         * MODULES.html.sh (File stream based Input/Output): Mention it.
34605         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
34606         freopen-safer module.
34607         * doc/posix-functions/stderr.texi (stderr): Likewise.
34608         * doc/posix-functions/stdin.texi (stdin): Likewise.
34609         * doc/posix-functions/stdout.texi (stdout): Likewise.
34610         * modules/freopen-safer-tests: New test.
34611         * tests/test-reopen-safer.c: New file.
34612
34613 2009-11-05  Jim Meyering  <meyering@redhat.com>
34614
34615         maint.mk: Prohibit inclusion of "close-stream.h" without use.
34616         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
34617
34618 2009-11-05  Simon Josefsson  <simon@josefsson.org>
34619
34620         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
34621
34622 2009-11-05  Simon Josefsson  <simon@josefsson.org>
34623
34624         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
34625
34626 2009-11-05  Simon Josefsson  <simon@josefsson.org>
34627
34628         Fix link error.
34629         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
34630         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34631
34632 2009-11-05  Simon Josefsson  <simon@josefsson.org>
34633
34634         * tests/test-func.c: Also test value of __func__.
34635
34636 2009-11-05  Simon Josefsson  <simon@josefsson.org>
34637
34638         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
34639         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
34640
34641 2009-11-05  Bruno Haible  <bruno@clisp.org>
34642
34643         Fix link error.
34644         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
34645         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
34646         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
34647
34648 2009-11-05  Bruno Haible  <bruno@clisp.org>
34649
34650         Tests for module 'inet_pton'.
34651         * modules/inet_pton-tests: New file.
34652         * tests/test-inet_pton.c: New file.
34653
34654 2009-11-05  Bruno Haible  <bruno@clisp.org>
34655
34656         Tests for module 'inet_ntop'.
34657         * modules/inet_ntop-tests: New file.
34658         * tests/test-inet_ntop.c: New file.
34659
34660 2009-11-04  Eric Blake  <ebb9@byu.net>
34661
34662         stdlib-safer: wrap all mkstemp variants
34663         * modules/mkostemp (configure.ac): Set witness.
34664         * modules/mkostemps (configure.ac): Likewise.
34665         * modules/mkstemps (configure.ac): Likewise.
34666         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
34667         (mkstemps_safer): Wrap more functions.
34668         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
34669         wrapping.
34670         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
34671         (mkstemps_safer): Implement the wrappers.
34672
34673         mkstemps, mkostemps: new modules
34674         * modules/mkostemps: New module.
34675         * modules/mkstemps: Likewise.
34676         * lib/mkostemps.c (mkostemps): New file.
34677         * lib/mkstemps.c (mkstemps): Likewise.
34678         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
34679         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
34680         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
34681         * modules/stdlib (Makefile.am): Substitute them.
34682         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
34683         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
34684         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
34685         * doc/gnulib.texi (Glibc stdlib.h): Include them.
34686         * MODULES.html.sh (File system functions): Mention them.
34687
34688         tempname: resync from glibc
34689         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
34690         same values for __GT_FILE as glibc.  Abort even when assertions
34691         are disabled.
34692         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
34693         match its value otherwise.  Allow idempotent inclusion.
34694         * lib/mkdtemp.c (mkdtemp): Adjust caller.
34695         * lib/mkostemp.c (mkostemp): Likewise.
34696         * lib/mkstemp.c (mkstemp): Likewise.
34697         * lib/tmpfile.c (tmpfile): Likewise.
34698         * NEWS: Document this.
34699
34700         utimens: fix use of futimens on older Linux
34701         * lib/utimens.c (fdutimens): Use updated, rather than original,
34702         timespec to avoid bug in older Linux kernel.
34703         Reported by Simon Josefsson.
34704
34705 2009-11-04  Bruno Haible  <bruno@clisp.org>
34706
34707         Make num_processors more flexible and consistent.
34708         * lib/nproc.h (enum nproc_query): New type.
34709         (num_processors): Add a 'query' argument.
34710         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
34711         (num_processors): Add a 'query' argument. Test the value of the
34712         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
34713         mingw, count the number of CPUs available for the current process.
34714         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
34715         Check for sched_getaffinity and sched_getaffinity_np.
34716         * modules/nproc (Depends-on): Add c-ctype, extensions.
34717         * NEWS: Mention the change.
34718
34719 2009-11-03  Bruno Haible  <bruno@clisp.org>
34720
34721         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
34722
34723 2009-11-03  Jim Meyering  <meyering@redhat.com>
34724
34725         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
34726         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
34727         if it is defined.
34728
34729 2009-11-02  Eric Blake  <ebb9@byu.net>
34730
34731         mktime, timegm: share common declaration
34732         * lib/mktime-internal.h: New file.
34733         * lib/mktime.c: Use it rather than open-coding a declaration.
34734         * lib/timegm.c: Likewise.
34735         * modules/mktime (Files): Ship it.
34736         * modules/timegm (Files): Likewise.
34737         Suggested by Bruno Haible.
34738
34739         test-update-copyright: update test to match script changes
34740         * tests/test-update-copyright.sh: Avoid hard-coding perl
34741         location.  Don't update *.bak created by earlier runs.
34742
34743 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
34744             Simon Josefsson  <simon@josefsson.org>
34745             Bruno Haible  <bruno@clisp.org>
34746
34747         Fix link error on Solaris 8.
34748         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
34749         also in libnsl. Define also INET_PTON_LIB.
34750         * modules/inet_pton (Link): New section.
34751
34752 2009-11-02  Simon Josefsson  <simon@josefsson.org>
34753             Bruno Haible  <bruno@clisp.org>
34754
34755         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
34756         * modules/inet_ntop (Link): New section.
34757         Reported by Boyan Kasarov <bkasarov@gmail.com>.
34758
34759 2009-11-02  Eric Blake  <ebb9@byu.net>
34760
34761         maint: avoid compiler warnings in m4 macros
34762         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
34763         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
34764
34765 2009-11-02  Simon Josefsson  <simon@josefsson.org>
34766
34767         * m4/pmccabe2html.m4: Remove file.
34768         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
34769         function.  Change maintainer.
34770         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
34771         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
34772         Courtès).
34773
34774 2009-10-31  Eric Blake  <ebb9@byu.net>
34775
34776         fseeko: fix m4 regression
34777         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
34778         regression from 2009-10-27.
34779         Reported by Ralf Wildenhues.
34780
34781 2009-10-31  Jim Meyering  <meyering@redhat.com>
34782
34783         inttostr: aesthetics and improved (compile-time) safety
34784         Define inttype_is_signed rather than inttype_is_unsigned,
34785         since the sole use is via "#if inttype_is_signed".
34786         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
34787         inttype_is_unsigned.
34788         * lib/offtostr.c (inttype_is_signed): Likewise.
34789         * lib/uinttostr.c (inttype_is_signed): Likewise.
34790         * lib/umaxtostr.c (inttype_is_signed): Likewise.
34791         * lib/inttostr.c (inttostr): Use verify to cross-check the
34792         inttype_is_signed value and the signedness of the actual type.
34793         * modules/inttostr (Depends-on): Add verify.
34794
34795 2009-10-30  Eric Blake  <ebb9@byu.net>
34796
34797         build: avoid compiler warnings
34798         * lib/fchmodat.c (lchmod): Mark unused variables.
34799         * lib/getopt.c (_getopt_initialize): Likewise.
34800         * lib/mktime.c (__mktime_internal): Provide prototype.
34801         * lib/inttostr.c (inttostr): Avoid compiler warning even with
34802         older gcc that do not understand #pragma GCC diagnostic.
34803         * lib/uinttostr.c (inttype_is_unsigned): Define.
34804         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
34805
34806 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
34807
34808         stat: fix compilation on AIX
34809         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
34810         only see struct stat64.
34811
34812 2009-10-30  Eric Blake  <ebb9@byu.net>
34813
34814         exclude: make more robust
34815         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
34816         rather than masking a coding bug.
34817         Suggested by Bruno Haible.
34818
34819 2009-10-30  Jim Meyering  <meyering@redhat.com>
34820
34821         perl scripts: remove #!/usr/bin/perl in favor of more portable...
34822         Rather than putting #!/usr/bin/perl on the first line,
34823         start with a variant of what's recommended by "man perlrun" that
34824         invokes the first "perl" program from your shell's search path.
34825         * build-aux/gitlog-to-changelog: Replace #!... as above.
34826         Add a "Local Variables" perl mode setting.
34827         Prompted by a patch from Ludovic Courtès.
34828         Improved by Eric Blake.
34829         * build-aux/useless-if-before-free: Likewise.
34830         * build-aux/announce-gen: Likewise.
34831         * build-aux/update-copyright: Likewise.
34832
34833 2009-10-29  Eric Blake  <ebb9@byu.net>
34834
34835         filenamecat-lgpl: adjust clients
34836         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
34837         filenamecat.
34838         * modules/renameat (Depends-on): Likewise.
34839
34840         filenamecat: split into filenamecat-lgpl
34841         * modules/filenamecat-lgpl: New module.
34842         * modules/filenamecat (Files): Move library-safe files into
34843         filenamecat-lgpl.
34844         (Depends-on): Add filenamecat-lgpl.
34845         (configure.ac): Declare witness.
34846         * lib/filenamecat.h (file_name_concat): Only declare when using
34847         GPL module.
34848         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
34849         Move...
34850         * lib/filenamecat-lgpl.c: ...into new file.
34851         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
34852         (gl_FILE_NAME_CONCAT): Use it.
34853         * MODULES.html.sh (File system functions): Mention new module.
34854
34855         argp: avoid memory leak
34856         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
34857         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
34858         base_name, since the latter malloc()s and can call exit().
34859         Leak introduced 2006-07-03.
34860
34861         dirname-lgpl: adjust clients that don't need full dirname
34862         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
34863         * modules/filenamecat (Depends-on): Likewise.
34864         * modules/linkat (Depends-on): Likewise.
34865         * modules/mkancesdirs (Depends-on): Likewise.
34866         * modules/mkdir (Depends-on): Likewise.
34867         * modules/openat (Depends-on): Likewise.
34868         * modules/savewd (Depends-on): Likewise.
34869         * modules/rename (Depends-on): Likewise.
34870         (License): Relax license.
34871         * modules/mkdir-tests (Depends-on): Drop progname.
34872         (Makefile.am): Delete unneeded LDADD.
34873         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
34874
34875         dirname: split into dirname-lgpl
34876         * modules/dirname-lgpl: New module.
34877         * modules/dirname (Files): Move library-safe files into
34878         dirname-lgpl.
34879         (Depends-on): Add dirname-lgpl.
34880         (configure.ac): Declare witness.
34881         * modules/double-slash-root (License): Relax license.
34882         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
34883         module.
34884         * lib/dirname.c (dir_len, mdir_name): Move...
34885         * lib/dirname-lgpl.c: ...into new file.
34886         * lib/basename.c (last_component, base_len): Move...
34887         * lib/basename-lgpl.c: ...into new file.
34888         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
34889         (gl_DIRNAME): Use it.
34890         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
34891         Mention new module.
34892         * modules/dirname-tests (Depends-on): Add progname.
34893         * tests/test-dirname.c (program_name): Delete.
34894
34895         mkdir: make safe for libraries
34896         * modules/mkdir (Depends-on): Drop xalloc.
34897         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
34898         exit.
34899
34900         tests: avoid some compiler warnings
34901         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
34902         literals.
34903         * tests/test-memchr.c (main): Avoid type mismatch.
34904         * tests/test-arpa_inet.c (main): Avoid unused parameters.
34905         * tests/test-base64.c (main): Likewise.
34906         * tests/test-getdelim.c (main): Likewise.
34907         * tests/test-gethostname.c (main): Likewise.
34908         * tests/test-getline.c (main): Likewise.
34909         * tests/test-netinet_in.c (main): Likewise.
34910         * tests/test-select.c (open_server_socket, main): Likewise.
34911         * tests/test-select-stdin.c (main): Likewise.
34912         * tests/test-sockets.c (main): Likewise.
34913         * tests/test-strsignal.c (main): Likewise.
34914         * tests/test-sys_select.c (main): Likewise.
34915         * tests/test-sys_socket.c (main): Likewise.
34916         * tests/test-u64.c (main): Likewise.
34917         * tests/test-xfprintf-posix.c (main): Likewise.
34918         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
34919
34920         sockets: avoid compiler warning
34921         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
34922
34923         maint: detect usage(1) and other suspicious exits
34924         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
34925
34926 2009-10-29  Jim Meyering  <meyering@redhat.com>
34927
34928         timespec: long-to-int truncation could make timespec_cmp malfunction
34929         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
34930         a multiple of 2^32 nanoseconds as no difference.
34931
34932 2009-10-28  Jim Meyering  <meyering@redhat.com>
34933
34934         fprintftime: wrap macro code argument in "do {...} while(0)"
34935         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
34936         cpy macro must be a statement that can be followed by a semicolon.
34937         Now that the else clause contains a comment and is hence longer
34938         than one line, I require curly braces.  That in turn requires
34939         that we wrap this code block in the standard do...while(0).
34940
34941         fprintftime: remove stray semicolon from previous change
34942         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
34943
34944         fprintftime: avoid a warning about ignored fwrite return value
34945         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
34946         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
34947         that is unsafe.
34948         * modules/fprintftime (Depends-on): Add ignore-value.
34949
34950         exclude: avoid an unwarranted warning
34951         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
34952
34953 2009-10-27  Eric Blake  <ebb9@byu.net>
34954
34955         fseek: avoid compilation failure when fflush is replaced
34956         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
34957         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
34958         module is in use.
34959         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
34960         module is not in use; since REPLACE_FSEEK worked otherwise.
34961         (GNULIB_FTELLO): Likewise for ftell.
34962         Reported by Ian Beckwith and others.
34963
34964 2009-10-27  Bruno Haible  <bruno@clisp.org>
34965
34966         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
34967         Reported by Jim Meyering.
34968
34969 2009-10-27  Jim Meyering  <jim@meyering.net>
34970             Bruno Haible  <bruno@clisp.org>
34971
34972         Avoid warning despite dropping the return value of fwrite.
34973         * lib/unicodeio.c: Include ignore-value.h.
34974         (fwrite_success_callback): Explicitly ignore fwrite's return value.
34975         * modules/unicodeio (Depends-on): Add ignore-value.
34976
34977 2009-10-26  Eric Blake  <ebb9@byu.net>
34978
34979         areadlinkat: fix fallback path
34980         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
34981         pointer and zero.
34982
34983 2009-10-22  Pádraig Brady  <P@draigBrady.com>
34984
34985         Use a better IO block size for modern systems
34986         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
34987         * lib/md2.c: Likewise.
34988         * lib/md4.c: Likewise.
34989         * lib/md5.c: Likewise.
34990         * lib/sha1.c: Likewise.
34991         * lib/sha256.c: Likewise.
34992         * lib/sha512.c: Likewise.
34993
34994 2009-10-22  Eric Blake  <ebb9@byu.net>
34995
34996         tests: avoid several compiler warnings
34997         * tests/test-getcwd.c (main): Avoid buffer underflow.
34998         * tests/test-getdate.c (main): String literals are not safe with
34999         putenv, so use setenv.  Declare unused argument.
35000         * modules/getdate-tests (Depends-on): Add setenv.
35001         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
35002         problems with string literals in char *.
35003         * tests/test-hash.c (main): Avoid shadowing declaration.
35004         (insert_new): Treat string literals as char const *.
35005         * tests/test-getopt.h (test_getopt): Likewise.
35006         (getopt_loop): Alter types to minimize casting elsewhere.
35007         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
35008         (test_getopt_long_posix): Likewise.
35009         (do_getopt_long): Add wrapper to minimize casting.
35010         * tests/test-atexit.c (clear_temp_file): Use void.
35011         * tests/test-areadlink-with-size.c (main): Declare unused
35012         arguments.
35013         * tests/test-areadlink.c (main): Likewise.
35014         * tests/test-areadlinkat-with-size.c (main): Likewise.
35015         * tests/test-areadlinkat.c (main): Likewise.
35016         * tests/test-canonicalize-lgpl.c (main): Likewise.
35017         * tests/test-canonicalize.c (main): Likewise.
35018         * tests/test-dirent-safer.c (main): Likewise.
35019         * tests/test-dirname.c (main): Likewise.
35020         * tests/test-dup2.c (main): Likewise.
35021         * tests/test-fchdir.c (main): Likewise.
35022         * tests/test-fcntl-h.c (main): Likewise.
35023         * tests/test-fcntl-safer.c (main): Likewise.
35024         * tests/test-fdopendir.c (main): Likewise.
35025         * tests/test-fdutimensat.c (main): Likewise.
35026         * tests/test-fflush.c (main): Likewise.
35027         * tests/test-filenamecat.c (main): Likewise.
35028         * tests/test-filevercmp.c (main): Likewise.
35029         * tests/test-fopen-safer.c (main): Likewise.
35030         * tests/test-fopen.c (main): Likewise.
35031         * tests/test-fpending.c (main): Likewise.
35032         * tests/test-fpurge.c (main): Likewise.
35033         * tests/test-freading.c (main): Likewise.
35034         * tests/test-fstatat.c (main): Likewise.
35035         * tests/test-fsync.c (main): Likewise.
35036         * tests/test-futimens.c (main): Likewise.
35037         * tests/test-getndelim2.c (main): Likewise.
35038         * tests/test-gettimeofday.c (main): Likewise.
35039         * tests/test-getopt.c (main): Likewise.
35040         * tests/test-i-ring.c (main): Likewise.
35041         * tests/test-inttypes.c (main): Likewise.
35042         * tests/test-link.c (main): Likewise.
35043         * tests/test-lstat.c (main): Likewise.
35044         * tests/test-math.c (main): Likewise.
35045         * tests/test-md5.c (main): Likewise.
35046         * tests/test-memchr2.c (main): Likewise.
35047         * tests/test-memrchr.c (main): Likewise.
35048         * tests/test-mkdir.c (main): Likewise.
35049         * tests/test-mkdirat.c (main): Likewise.
35050         * tests/test-mkfifoat.c (main): Likewise.
35051         * tests/test-open.c (main): Likewise.
35052         * tests/test-openat-safer.c (main): Likewise.
35053         * tests/test-openat.c (main): Likewise.
35054         * tests/test-quotearg.c (main): Likewise.
35055         * tests/test-rawmemchr.c (main): Likewise.
35056         * tests/test-readlink.c (main): Likewise.
35057         * tests/test-remove.c (main): Likewise.
35058         * tests/test-rename.c (main): Likewise.
35059         * tests/test-renameat.c (main): Likewise.
35060         * tests/test-rmdir.c (main): Likewise.
35061         * tests/test-sha1.c (main): Likewise.
35062         * tests/test-signal.c (main): Likewise.
35063         * tests/test-sigaction.c (main): Likewise.
35064         * tests/test-stat.c (main): Likewise.
35065         * tests/test-stat-time.c (main): Likewise.
35066         * tests/test-stddef.c (main): Likewise.
35067         * tests/test-stdint.c (main): Likewise.
35068         * tests/test-stdio.c (main): Likewise.
35069         * tests/test-stdlib.c (main): Likewise.
35070         * tests/test-strchrnul.c (main): Likewise.
35071         * tests/test-strerror.c (main): Likewise.
35072         * tests/test-string.c (main): Likewise.
35073         * tests/test-strtod.c (main): Likewise.
35074         * tests/test-strverscmp.c (main): Likewise.
35075         * tests/test-symlink.c (main): Likewise.
35076         * tests/test-symlinkat.c (main): Likewise.
35077         * tests/test-sys_stat.c (main): Likewise.
35078         * tests/test-sys_time.c (main): Likewise.
35079         * tests/test-time.c (main): Likewise.
35080         * tests/test-unistd.c (main): Likewise.
35081         * tests/test-unlink.c (main): Likewise.
35082         * tests/test-unlinkat.c (main): Likewise.
35083         * tests/test-utimens.c (main): Likewise.
35084         * tests/test-utimensat.c (main): Likewise.
35085         * tests/test-version-etc.c (main): Likewise.
35086         * tests/test-wchar.c (main): Likewise.
35087         * tests/test-wctype.c (main): Likewise.
35088         * tests/test-xprintf-posix.c (main): Likewise.
35089         * tests/test-posixtm.c (main): Likewise.
35090         (STREQ): Delete unused macro.
35091         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
35092         shadowed variables.
35093         * tests/test-memchr.c (main): Likewise.
35094
35095 2009-10-21  Eric Blake  <ebb9@byu.net>
35096
35097         areadlinkat: avoid failure on older glibc
35098         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
35099         rather than mis-comparing 0 against FUNC_RESULT of char*.
35100
35101 2009-10-21  Bruno Haible  <bruno@clisp.org>
35102
35103         * modules/stpncpy (License): Relicense under LGPLv2+.
35104         Reported by David Lutterkort <lutter@redhat.com>.
35105
35106 2009-10-20  Eric Blake  <ebb9@byu.net>
35107
35108         utimensat: work around Solaris 9 bug
35109         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
35110         has trailing slash bugs.
35111         * tests/test-lutimens.h (test_lutimens): Enhance test.
35112         * tests/test-utimens.h (test_utimens): Likewise.
35113         * doc/posix-functions/utime.texi (utime): Enhance documentation.
35114         * doc/posix-functions/utimes.texi (utimes): Likewise.
35115         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35116         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
35117         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
35118         * doc/posix-functions/futimens.texi (futimens): Likewise.
35119
35120         fdutimensat: new module
35121         * modules/fdutimensat: New file.
35122         * lib/fdutimensat.c (fdutimensat): Likewise.
35123         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
35124         * MODULES.html.sh (File system functions): Mention module.
35125         * modules/fdutimensat-tests: New test.
35126         * tests/test-fdutimensat.c: Likewise.
35127
35128         doc: regenerate INSTALL
35129         * doc/INSTALL: Reflect recent autoconf update.
35130         * doc/INSTALL.ISO: Likewise.
35131         * doc/INSTALL.UTF-8: Likewise.
35132
35133 2009-10-20  Pádraig Brady  <P@draigBrady.com>
35134
35135         acl: warn if ACL support is not detected
35136         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
35137
35138 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
35139
35140         * lib/nproc.h: Add extern "C" block for C++.
35141
35142 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
35143             Bruno Haible  <bruno@clisp.org>
35144
35145         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
35146         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
35147         * doc/posix-functions/isalpha.texi: Likewise.
35148         * doc/posix-functions/isblank.texi: Likewise.
35149         * doc/posix-functions/iscntrl.texi: Likewise.
35150         * doc/posix-functions/isdigit.texi: Likewise.
35151         * doc/posix-functions/isgraph.texi: Likewise.
35152         * doc/posix-functions/islower.texi: Likewise.
35153         * doc/posix-functions/isprint.texi: Likewise.
35154         * doc/posix-functions/ispunct.texi: Likewise.
35155         * doc/posix-functions/isspace.texi: Likewise.
35156         * doc/posix-functions/isupper.texi: Likewise.
35157         * doc/posix-functions/isxdigit.texi: Likewise.
35158
35159 2009-10-18  Bruno Haible  <bruno@clisp.org>
35160
35161         Tests for module 'isblank'.
35162         * modules/isblank-tests: New file.
35163         * tests/test-isblank.c: New file.
35164
35165         New module 'isblank'.
35166         * lib/isblank.c: New file.
35167         * m4/isblank.m4: New file.
35168         * modules/isblank: New file.
35169         * doc/posix-functions/isblank.texi: Mention the new module.
35170
35171 2009-10-18  Bruno Haible  <bruno@clisp.org>
35172
35173         New module 'ctype'.
35174         * lib/ctype.in.h: New file.
35175         * m4/ctype.m4: New file.
35176         * modules/ctype: New file.
35177         * doc/posix-headers/ctype.texi: Mention the new module.
35178
35179 2009-10-18  Jim Meyering  <meyering@redhat.com>
35180
35181         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
35182         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
35183         right after its initialization, rather than farther down.
35184         Keeping these in close proximity makes it easier to ensure
35185         that each such variable is initialized.  E.g.,
35186
35187             LIB_CLOCK_GETTIME=
35188             AC_SUBST([LIB_CLOCK_GETTIME])
35189
35190         This change also increments these serial numbers.
35191         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
35192         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
35193         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
35194
35195 2009-10-18  Bruno Haible  <bruno@clisp.org>
35196
35197         Don't let environment variables perturb build.
35198         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
35199         (gl_PREREQ_GETHRXTIME): ... not here.
35200
35201 2009-10-18  Bruno Haible  <bruno@clisp.org>
35202
35203         Avoid symlink attack in localcharset module.
35204         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
35205         (O_NOFOLLOW): Define fallback.
35206         (get_charset_aliases): Don't open the file if it is a symbolic link.
35207         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
35208         gl_FCNTL_H.
35209         (gl_FCNTL_H): Require it.
35210         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
35211         * modules/localcharset (Files): Add m4/fcntl_h.m4.
35212         Reported by Fergal Glynn <fglynn@veracode.com>.
35213
35214 2009-10-18  Bruno Haible  <bruno@clisp.org>
35215
35216         Implement nproc for mingw.
35217         * lib/nproc.c: Include <windows.h>
35218         (num_processors): On native Windows platforms, try GetSystemInfo.
35219
35220 2009-10-18  Bruno Haible  <bruno@clisp.org>
35221
35222         Implement nproc for IRIX.
35223         * lib/nproc.c: Include <sys/sysmp.h>.
35224         (num_processors): On IRIX systems, try sysmp.
35225         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
35226
35227 2009-10-18  Bruno Haible  <bruno@clisp.org>
35228
35229         Implement nproc for HP-UX.
35230         * lib/nproc.c: Include <sys/pstat.h>
35231         (num_processors): On HP-UX systems, try pstat_getdynamic.
35232         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
35233         pstat_getdynamic.
35234
35235 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
35236             Bruno Haible  <bruno@clisp.org>
35237
35238         Implement nproc for NetBSD, OpenBSD.
35239         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
35240         (ARRAY_SIZE): New macro.
35241         (num_processors): On BSD systems, try sysctl of HW_NCPU.
35242         * m4/nproc.m4: New file.
35243         * modules/nproc (Files): Add m4/nproc.m4.
35244         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
35245         (Makefile.am): Instead, augment lib_SOURCES.
35246
35247 2009-10-18  Bruno Haible  <bruno@clisp.org>
35248
35249         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
35250         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
35251         sys/param.h.
35252
35253 2009-10-16  Eric Blake  <ebb9@byu.net>
35254
35255         utimensat: new module
35256         * modules/utimensat: New file.
35257         * lib/utimensat.c (utimensat): Likewise.
35258         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35259         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
35260         so we can work around Linux bugs.
35261         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35262         * modules/sys_stat (Makefile.am): Substitute them.
35263         * lib/sys_stat.in.h (utimensat): Declare it.
35264         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35265         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35266         * modules/utimensat-tests: New test.
35267         * tests/test-utimensat.c: Likewise.
35268
35269         utimens: let lutimens work on non-symlinks
35270         * lib/utimens.c (lutimens): Fall back to utimens rather than
35271         failing with ENOSYS, when file is not a symlink.
35272         (utimens): Reduce redirection.
35273         * tests/test-lutimens.h (test_lutimens): Update test to cover
35274         non-symlinks.
35275         * tests/test-utimens.h (test_utimens): Update test to cover
35276         symlinks.
35277         * tests/test-utimens.c (main): Update caller.
35278
35279         utimens: cache whether utimensat syscall works
35280         * lib/utimens.c (utimensat_works_really): New cache variable.
35281         (fdutimens, lutimens): Use it to avoid failing syscall.
35282
35283         test-stat-time, test-utimens: improve portability
35284         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
35285         ext4 on alpha, and for cygwin.
35286         * tests/test-utimens-common.h: New file.
35287         (nap): Factor delays into single function.
35288         * tests/test-lutimens.h (test_lutimens): Use new header.
35289         * tests/test-futimens.h (test_futimens): Likewise.
35290         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
35291         timestamps to occur from same machine, as was done previously for
35292         test_utimens.
35293         * modules/utimens-tests (Files): Ship new file.
35294         * modules/futimens-tests (Files): Likewise.
35295         Reported in part by Jim Meyering.
35296
35297         sys_stat: sort replacement declarations
35298         * lib/sys_stat.in.h: Sort declarations.
35299         * lib/futimens.c (futimens): Fix typo.
35300
35301 2009-10-15  Jim Meyering  <meyering@redhat.com>
35302
35303         don't let environment settings perturb build
35304         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
35305         could cause a configure-time and/or build-time malfunction.
35306         Typically, a configure-time function-in-library test is performed
35307         via code like this:
35308
35309           LIB_VAR=
35310           AC_SUBST([LIB_VAR])
35311           prefix_saved_LIBS=$LIBS
35312             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
35313                        [test "$ac_cv_search_FUNC" = "none required" ||
35314                         LIB_VAR=$ac_cv_search_FUNC])
35315           LIBS=$prefix_saved_LIBS
35316
35317         However, in each of the files affected by this change, the LIB_VAR=
35318         initialization was omitted.  Thus, when set in the environment, its
35319         value would propagate into generated Makefiles when FUNC is not found
35320         in LIB_NAME.
35321         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
35322         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
35323         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
35324
35325 2009-10-14  Eric Blake  <ebb9@byu.net>
35326
35327         fchdir: avoid infinite recursion in mingw
35328         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
35329         recursing.
35330
35331         test-stat-time: port to mingw
35332         * tests/test-stat-time.c (force_unlink): Return a value.
35333         (test_ctime) [W32]: Fix compilation error.
35334         (nap): Don't call usleep with too large an argument.  Use
35335         force_unlink.
35336         * doc/pastposix-functions/usleep.texi (usleep): Document the
35337         portability issue.
35338
35339 2009-10-13  Jim Meyering  <meyering@redhat.com>
35340
35341         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
35342         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
35343         * modules/pipe-filter-ii: Likewise.
35344         * modules/sys_socket-tests: Likewise.
35345         * modules/tsearch-tests: Likewise.
35346         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
35347         (check): Depend on it.
35348
35349 2009-10-12  Eric Blake  <ebb9@byu.net>
35350
35351         utimens-tests: port to NFS file systems
35352         * tests/test-utimens.h (test_utimens): Refactor utimecmp
35353         comparisons to avoid spurious failures from timestamp drift
35354         between NFS machines.
35355
35356 2009-10-12  Eric Blake  <ebb9@byu.net>
35357
35358         stat-time-tests: minor cleanups
35359         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
35360         * tests/test-stat-time.c (nap): Separate assignment from call.
35361         Suggested by Paolo Bonzini and Bruno Haible.
35362
35363         sys_stat: guarantee struct timespec
35364         * lib/sys_stat.in.h (includes): Always include <time.h>
35365         * modules/sys_stat (Depends-on): Add time.
35366         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
35367         mode_t permission values.
35368         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
35369         get at subsecond timestamps.
35370
35371 2009-10-10  Eric Blake  <ebb9@byu.net>
35372
35373         futimens: new module
35374         * modules/futimens: New file.
35375         * lib/futimens.c (futimens): Likewise.
35376         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
35377         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
35378         we can work around Linux bugs.
35379         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
35380         * modules/sys_stat (Makefile.am): Substitute them.
35381         * lib/sys_stat.in.h (futimens): Declare it.
35382         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35383         * doc/posix-functions/futimens.texi (futimens): Likewise.
35384         * modules/futimens-tests: New test.
35385         * tests/test-futimens.c: Likewise.
35386
35387         utimens: introduce fdutimens
35388         * lib/utimens.h (fdutimens): New prototype.
35389         * lib/utimens.c (gl_futimens): Move guts...
35390         (fdutimens): ...to new interface.
35391         * tests/test-utimens.c (do_fdutimens): Use it.
35392
35393         utimens: add UTIME_NOW and UTIME_OMIT support
35394         * lib/utimens.c (validate_timespec, update_timespec): New helper
35395         functions.
35396         (gl_futimens, lutimens): Use them.
35397         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
35398         stdbool, sys_stat.
35399         (Link): Mention resulting library dependency.
35400         * modules/utimecmp (Link): Likewise.
35401         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
35402         (Makefile.am): Pick up library dependency.
35403         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
35404         definition.
35405         * tests/test-sys_stat.c: Test the definitions.
35406         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
35407         * NEWS: Document library dependency.
35408
35409         utimecmp: support symlink timestamps
35410         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
35411         hashing when possible.  Use pathconf when available.
35412         (SYSCALL_RESOLUTION): Recognize tighter resolution.
35413         * modules/utimecmp (Depends-on): Add lstat.
35414
35415         utimens: add lutimens interface
35416         * lib/utimens.c (lutimens): New function.
35417         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
35418         * lib/utimens.h (lutimens): Declare new interface.
35419         * tests/test-utimens.c (main): Enhance test.
35420         * tests/test-lutimens.h (test_lutimens): New file.
35421         * modules/utimens-tests (Files): Distribute it.
35422         (Depends-on): Add symlink.
35423         (configure.ac): Check for usleep.
35424
35425         utimens: validate futimens usage
35426         * lib/utimens.c (gl_futimens): Require valid fd up front, using
35427         fewer syscalls on failure later on.  Avoid compiler warning on
35428         mingw.
35429         * modules/utimens (Depends-on): Add dup2.
35430
35431         utimens: add test
35432         * modules/utimens-tests: New test.
35433         * tests/test-utimens.h: New file.
35434         * tests/test-futimens.h: Likewise.
35435         * tests/test-utimens.c: Likewise.
35436
35437         doc: mention timestamp portability issues
35438         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
35439         instead.
35440         * doc/posix-functions/utime.texi (utime): Likewise.
35441         * doc/posix-functions/utimes.texi (utimes): Likewise.
35442         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
35443         instead.
35444         * doc/posix-functions/futimens.texi (futimens): Mention utimens
35445         module.
35446         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35447         Mention weakness with symlink timestamps.
35448         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
35449         to utimensat/futimens instead.
35450         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
35451
35452         test-dup2: enhance test
35453         * tests/test-dup2.c (main): Also check AT_FDCWD.
35454
35455         test-stat-time: avoid more spurious failures
35456         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
35457         xfs; and avoid race if the two timestamps cross quantization edge.
35458
35459         relocatable: prefer 'file system' over 'filesystem'
35460         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
35461         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
35462         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
35463         * doc/relocatable.texi (Enabling Relocatability): Likewise.
35464         * lib/relocatable.c (compute_curr_prefix): Likewise.
35465
35466 2009-10-10  Jim Meyering  <meyering@redhat.com>
35467
35468         stat-time-tests: check for the usleep function
35469         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
35470
35471 2009-10-10  Bruno Haible  <bruno@clisp.org>
35472
35473         * modules/xnanosleep: Put the Link section after the Include section.
35474
35475 2009-10-09  Eric Blake  <ebb9@byu.net>
35476
35477         dup2: work around FreeBSD 6.1 bug
35478         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
35479         * doc/posix-functions/dup2.texi (dup2): Document it.
35480         Reported by Nelson H. F. Beebe and Jim Meyering.
35481
35482         test-stat-time: port to buggy NFS clients
35483         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
35484         (test_ctime): Also skip test if mtime and ctime are skewed.
35485
35486         maint: prefer 'file system' over 'filesystem'
35487         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
35488         * doc/posix-functions/lstat.texi (lstat): Likewise.
35489         * lib/file-has-acl.c (file_has_acl): Likewise.
35490         * lib/fwriteerror.c [TEST]: Likewise.
35491         * tests/test-areadlink.h (test_areadlink): Likewise.
35492         * tests/test-areadlinkat-with-size.c (main): Likewise.
35493         * tests/test-areadlinkat.c (main): Likewise.
35494         * tests/test-canonicalize-lgpl.c (main): Likewise.
35495         * tests/test-canonicalize.c (main): Likewise.
35496         * tests/test-fstatat.c (main): Likewise.
35497         * tests/test-linkat.c (main): Likewise.
35498         * tests/test-lstat.h (test_lstat_func): Likewise.
35499         * tests/test-mkdir.h (test_mkdir): Likewise.
35500         * tests/test-readlink.h (test_readlink): Likewise.
35501         * tests/test-remove.c (main): Likewise.
35502         * tests/test-rename.h (test_rename): Likewise.
35503         * tests/test-renameat.c (main): Likewise.
35504         * tests/test-rmdir.h (test_rmdir_func): Likewise.
35505         * tests/test-symlink.h (test_symlink): Likewise.
35506         * tests/test-symlinkat.c (main): Likewise.
35507         * tests/test-unlink.h (test_unlink_func): Likewise.
35508         * tests/test-unlinkat.c (main): Likewise.
35509
35510         maint: make realtime library usage explicit
35511         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
35512         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
35513         * modules/settime (Link): Likewise.
35514         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
35515
35516         test-stat-time: speed up execution
35517         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
35518         warning on mingw.
35519         (nap): New helper function.
35520         (prepare_test): Use it to reduce sleep time.
35521         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
35522         execution.
35523         * modules/stat-time-tests (configure.ac): Check for usleep.
35524
35525 2009-10-09  Jim Meyering  <meyering@redhat.com>
35526
35527         selinux-h: always use getfilecon wrappers
35528         * lib/getfilecon.c: New file.
35529         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
35530         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
35531         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
35532         (fgetfilecon): Provide a stub.
35533         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
35534         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
35535         file unconditionally.
35536         When <selinux/selinux.h> is found, arrange to use wrappers.
35537         * modules/selinux-h (Files): Add getfilecon.c.
35538         (Makefile.am): Substitute include-next-related bits
35539         into the now-always-generated selinux/selinux.h file.
35540         * doc/glibc-functions/lgetfilecon.texi: New file.
35541         * doc/glibc-functions/fgetfilecon.texi: New file.
35542         * doc/glibc-functions/getfilecon.texi: New file.
35543         * doc/glibc-functions/getfilecon-desc.texi: New file.
35544         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
35545         which to pull in the new files.
35546         * MODULES.html.sh (Misc): Add selinux-h.
35547
35548 2009-10-08  Jim Meyering  <meyering@redhat.com>
35549
35550         unistd: fix comment typo
35551         * lib/unistd.in.h (euidaccess): Fix a comment typo.
35552
35553 2009-10-08  Eric Blake  <ebb9@byu.net>
35554
35555         areadlink: use SIZE_MAX consistently
35556         * modules/areadlink (Depends-on): Add stdint.
35557         * modules/areadlink-with-size (Depends-on): Likewise.
35558         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
35559         gives NULL; drop sys/types, since unistd gives size_t; and add
35560         stdint for SIZE_MAX.
35561         (SIZE_MAX): Rely on headers.
35562         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
35563         and add stdint.
35564         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
35565         (SIZE_MAX): Likewise.
35566         (INITIAL_BUF_SIZE): Turn into enum.
35567         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
35568
35569 2009-10-08  Jim Meyering  <meyering@redhat.com>
35570
35571         areadlinkat: avoid compilation failure
35572         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
35573         Fix typo in comment.
35574
35575 2009-10-07  Eric Blake  <ebb9@byu.net>
35576
35577         areadlinkat-with-size: new module
35578         * modules/areadlinkat-with-size: New module.
35579         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
35580         * lib/areadlink.h (areadlinkat): Declare it.
35581         * MODULES.html.sh (File system functions): Mention it.
35582         * modules/areadlinkat-with-size-tests: New test.
35583         * tests/test-areadlinkat-with-size.c: New file.
35584
35585         xreadlinkat: new module
35586         * modules/xreadlinkat: New module.
35587         * lib/xreadlinkat.c (xreadlinkat): New file.
35588         * lib/xreadlink.h (xreadlinkat): Declare it.
35589         * MODULES.html.sh (File system functions): Mention it.
35590
35591         areadlinkat: new module
35592         * lib/at-func.c (FUNC_FAIL): New define.
35593         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
35594         * modules/areadlinkat: New module.
35595         * lib/linkat.c (areadlinkat): Move...
35596         * lib/areadlinkat.c (areadlinkat): ...to new file.
35597         * lib/areadlink.h (areadlinkat): Declare it.
35598         * modules/linkat (Depends-on): Add areadlinkat.
35599         * MODULES.html.sh (File system functions): Mention it.
35600         * modules/areadlinkat-tests: New test.
35601         * tests/test-areadlinkat.c: New file.
35602
35603         areadlink, areadlink-with-size: add tests
35604         * modules/areadlink-tests: New test.
35605         * modules/areadlink-with-size-tests: Likewise.
35606         * tests/test-areadlink.h: New file.
35607         * tests/test-areadlink.c: Likewise.
35608         * tests/test-areadlink-with-size.c: Likewise.
35609
35610         maint: minor cleanups
35611         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
35612         _UNUSED_PARAMETER_ instead.
35613         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
35614         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
35615         * modules/linkat-tests (Files): Distribute test-link.h.
35616
35617         openat, utimens: whitespace cleanup
35618         * lib/openat.c: Prefer space throughout, rather than mix of 8
35619         spaces vs. tabs.
35620         * lib/at-func.c: Likewise.
35621         * lib/utimens.c: Likewise.
35622
35623         openat: avoid using wrong fd
35624         * lib/openat.c (openat_permissive): Reject user's fd if saving the
35625         working directory chooses same fd.
35626         * lib/at-func.c (AT_FUNC_NAME): Likewise.
35627
35628         mkdir, mkdirat: fix cygwin 1.5.x bug
35629         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
35630         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
35631         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
35632         bug.
35633         (gl_PREREQ_MKDIR): Delete unused macro.
35634         * modules/mkdir (Files): Track file rename.
35635         (configure.ac): Update macro name.
35636         * modules/openat (Depends-on): Add mkdir.
35637         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
35638
35639         mkdir, mkdirat: add tests
35640         * modules/mkdir-tests: New test.
35641         * tests/test-mkdir.h: New file.
35642         * tests/test-mkdir.c: Likewise.
35643         * tests/test-mkdirat.c: Likewise.
35644         * modules/openat-tests (Files): Add new files.
35645         (Makefile.am): Run new test.
35646
35647 2009-10-06  Eric Blake  <ebb9@byu.net>
35648
35649         doc: tweak *at function documentation
35650         * doc/posix-functions/faccessat.texi (faccessat): Mention
35651         known issue with replacement.
35652         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
35653         * doc/posix-functions/linkat.texi (linkat): Likewise.
35654         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
35655         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
35656         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
35657         * doc/posix-functions/renameat.texi (renameat): Likewise.
35658         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35659
35660         openat: fix GNU/Hurd bug in unlinkat
35661         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
35662         broken.
35663         * doc/posix-functions/unlink.texi (unlink): Document this.
35664         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
35665
35666         fdopendir: fix GNU/Hurd bug
35667         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
35668         allowing non-directory fds.
35669         * lib/fdopendir.c (rpl_fdopendir): Work around it.
35670         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35671         * modules/dirent (Makefile.am): Substitute it.
35672         * lib/dirent.in.h (fdopendir): Declare replacement.
35673         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
35674         * tests/test-fdopendir.c (main): Test something other than
35675         /dev/null, since on Hurd that behaves like a directory.
35676
35677         test-symlink: port to GNU/Hurd
35678         * tests/test-symlink.h (test_symlink): Relax expected errno.
35679
35680         doc: tweak more cygwin information
35681         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
35682         now compatible with glibc.
35683         * doc/posix-functions/getopt.texi (getopt): Likewise.
35684
35685         getopt-gnu: add another test
35686         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
35687         guarantee behavior relied on by m4.
35688         * tests/test-getopt.c (main): Use it.
35689         * modules/getopt-posix-tests (Depends-on): Add setenv.
35690         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
35691
35692         getopt: fix compilation on darwin
35693         * lib/getopt.in.h (includes): Leave breadcrumbs during system
35694         include.
35695         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
35696         Reported by Ludovic Courtès.
35697
35698 2009-10-06  Bruno Haible  <bruno@clisp.org>
35699
35700         * modules/size_max (Description): Discourage its use.
35701         Reported by Simon Josefsson.
35702
35703 2009-10-06  Jim Meyering  <meyering@redhat.com>
35704
35705         linkat: avoid compilation failure
35706         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
35707
35708 2009-10-05  Eric Blake  <ebb9@byu.net>
35709
35710         linkat: support Linux 2.6.17
35711         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
35712         linkat on Linux, but allow cache variable override.
35713         * lib/linkat.c (rpl_linkat): Define override.
35714         * modules/linkat (Depends-on): Add symlinkat.
35715         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
35716         * modules/unistd (Makefile.am): Substitute it.
35717         * lib/unistd.in.h (linkat): Declare replacement.
35718         Reported by Pádraig Brady.
35719
35720         quotearg: port test to systems with C.UTF-8 locale
35721         * tests/test-quotearg.c (struct result_strings): Add another
35722         member, differentiating between C.ASCII and C.UTF-8 handling.
35723         (compare_strings): Add parameter.
35724         (main): Adjust all callers.
35725
35726         getopt: avoid clash with FreeBSD _getopt_internal
35727         * lib/getopt.in.h (_getopt_internal): Override the name.
35728         * lib/getopt_int.h (includes): Pick up any overrides.
35729         Reported by Reuben Thomas.
35730
35731         hash: allow C89 compilation
35732         * lib/hash.c (check_tuning): Move declaration before statement.
35733         Reported by Reuben Thomas.
35734
35735 2009-10-05  Karl Berry  <karl@gnu.org>
35736
35737         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
35738
35739 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
35740             Bruno Haible  <bruno@clisp.org>
35741
35742         * lib/uname.c (uname): Use a table-driven algorithm to compute
35743         Windows NT versions.
35744
35745 2009-10-04  Bruno Haible  <bruno@clisp.org>
35746
35747         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
35748         program_invocation_short_name.
35749         * modules/progname (configure.ac): Test for presence of
35750         program_invocation_short_name.
35751         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
35752
35753 2009-10-04  Bruno Haible  <bruno@clisp.org>
35754
35755         * lib/progname.c (set_program_name): Fix comment.
35756         Reported by Jim Meyering.
35757
35758 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
35759             Bruno Haible  <bruno@clisp.org>
35760
35761         * lib/uname.c: Include <string.h>.
35762         (uname): Do only one call to GetVersionEx in the common case.
35763
35764 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
35765             Bruno Haible  <bruno@clisp.org>
35766
35767         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
35768         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
35769         (uname): Add support for Windows CE and various non-x86 CPU types.
35770
35771 2009-10-03  Bruno Haible  <bruno@clisp.org>
35772
35773         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
35774         invocation to tests/configure.ac.
35775         Reported by Ian Beckwith <ianb@erislabs.net>.
35776
35777 2009-10-02  Eric Blake  <ebb9@byu.net>
35778
35779         fchdir: avoid compiler warning
35780         * lib/fchdir.c (canonicalize_file_name)
35781         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
35782
35783         test-open: support mingw errno values
35784         * tests/test-open.h (test_open): Relax test.
35785         * tests/test-fopen.h (test_fopen): Likewise.
35786         * tests/test-openat-safer.c (main): Likewise.
35787
35788         open: fix opening directory on mingw
35789         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
35790
35791         test-open: on GNU/Hurd, /dev/null is a directory
35792         * tests/test-fopen.h (main): Rename...
35793         (test_fopen): ...to this.  Use a guaranteed non-directory when
35794         confirming open behavior on trailing slash.
35795         * tests/test-openat-safer.c (main): Likewise.
35796         * tests/test-open.h (main): Likewise....
35797         (test_open): ...to this.
35798         * tests/test-fopen.c (main): Adjust caller.
35799         * tests/test-fopen-safer.c (main): Likewise.
35800         * tests/test-open.c (main): Likewise.
35801         * tests/test-fcntl-safer.c (main): Likewise.
35802         Reported by Samuel Thibault.
35803
35804         rename, fchdir: don't ignore chdir failure
35805         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
35806         * lib/rename.c (rpl_rename) [W32]: Likewise.
35807         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
35808         an empty destination directory if source cannot be renamed,
35809         although there is still possibility for failure.
35810         * doc/posix-functions/rename.texi (rename): Document the race.
35811         Reported by Jim Meyering.
35812
35813         maint: cleanup whitespace in recent commits
35814         * lib/rename.c (rpl_rename): Remove tabs.
35815         * tests/test-link.h (test_link): Likewise.
35816         * lib/fchdir.c (get_name): Likewise.
35817         Reported by Jim Meyering.
35818
35819 2009-10-02  Ben Pfaff  <blp@gnu.org>
35820
35821         relocatable-prog-wrapper: Add missing dependency on
35822         double-slash-root.
35823         * modules/relocatable-prog-wrapper: Add dependency.
35824         Reported by Ian Beckwith <ianb@erislabs.net>.
35825
35826 2009-10-02  Eric Blake  <ebb9@byu.net>
35827
35828         renameat: fix Solaris bugs
35829         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
35830         needed fixing.
35831         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
35832         * modules/stdio (Makefile.am): Substitute it.
35833         * lib/stdio.in.h (renameat): Declare replacement.
35834         * lib/renameat.c (rpl_renameat): Implement fix.
35835
35836         renameat: new module
35837         * modules/renameat: New file.
35838         * lib/renameat.c (renameat): Likewise.
35839         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
35840         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
35841         * modules/stdio (Makefile.am): Substitute them.
35842         * lib/stdio.in.h (renameat): Declare it.
35843         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
35844         * doc/posix-functions/renameat.texi (renameat): Likewise.
35845         * modules/renameat-tests: New test.
35846         * tests/test-renameat.c: Likewise.
35847
35848         rename: fix mingw bugs
35849         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
35850         directory overwrite bugs.
35851
35852         rename: fix another cygwin 1.5 bug
35853         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
35854         checks.
35855         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
35856         unnecessary cygwin workarounds.  Also work around bug with moving
35857         full directory onto an empty one.
35858         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
35859
35860         rename-dest-slash: merge into rename module
35861         * modules/rename-dest-slash (Status): Mark obsolete.
35862         (Depends-on): Add rename.
35863         (Files): Let rename do it all.
35864         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
35865         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
35866         * m4/rename-dest-slash.m4: ...so this file can be deleted.
35867         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
35868         * lib/rename.c (rpl_rename): Update comments.
35869
35870         rename: fix cygwin 1.5.x bugs
35871         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
35872         * lib/rename.c (rpl_rename): Work around them.
35873         * modules/rename (Depends-on): Add same-inode.
35874
35875         rename: fix Solaris 10 bug
35876         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
35877         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
35878         was the only bug.
35879
35880         rename: fix Solaris 9 bug
35881         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
35882         on non-directory.  Avoid calling exit.
35883         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
35884         strdup.
35885         * modules/rename-tests (Depends-on): Drop lstat.
35886         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
35887         (gl_PREREQ_RENAME): Delete unused macro.
35888
35889         rename-dest-slash: fix NetBSD bug
35890         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
35891         links.
35892         * modules/rename-dest-slash (Depends-on): Add same-inode.
35893
35894         rename-tests: new test, exposes several platform bugs
35895         * modules/rename-tests: New file.
35896         * tests/test-rename.h: Likewise.
35897         * tests/test-rename.c: Likewise.
35898         * doc/posix-functions/rename.texi (rename): Improve documentation,
35899         including bugs that will eventually be fixed in gnulib.
35900
35901 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
35902
35903         * lib/uname.c: Include <stdlib.h>
35904         (uname): Assume version info is available.
35905
35906 2009-10-02  Jim Meyering  <meyering@redhat.com>
35907
35908         gnu-web-doc-update: correct --help output
35909         * build-aux/gnu-web-doc-update: Make --help output relevant.
35910
35911         gnu-web-doc-update: add standard options
35912         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
35913
35914         gnu-web-doc-update: New module.
35915         Use this script to automatically update the on-line web documentation
35916         for your GNU project at http://www.gnu.org/software/$pkg/manual/
35917         * modules/gnu-web-doc-update: New file, from coreutils.
35918         * build-aux/gnu-web-doc-update: New script.
35919
35920 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
35921
35922         link: LoadLibrary is not needed.
35923         * lib/link.c: Use GetModuleHandle.
35924
35925 2009-10-01  Eric Blake  <ebb9@byu.net>
35926
35927         getopt: bump serial number
35928         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
35929         change.
35930
35931         tests: tighten link, rmdir, and remove tests
35932         * tests/test-link.h (includes): No need to use <config.h> here.
35933         Clean up if directory hard link was created, otherwise test for
35934         trailing '.'.
35935         * tests/test-linkat.c (main): Simplify.
35936         * tests/test-remove.c (main): Enhance test for trailing '.'.
35937         * tests/test-rmdir.h (test_rmdir_func): Likewise.
35938
35939 2009-10-01  Jim Meyering  <meyering@redhat.com>
35940
35941         maint.mk: requiring "make major" was annoying, for a "minor" release.
35942         What is intended is "stable", to contrast with alpha and beta,
35943         so require "make stable", not "make major".
35944         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
35945         (get_tool_versions): Likewise.
35946         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
35947
35948 2009-09-30  Ben Pfaff  <blp@gnu.org>
35949
35950         Fix broken build of replacement for Windows tmpfile().
35951         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
35952         flags argument added along with the 'mkostemp' module.
35953
35954 2009-09-28  Bruno Haible  <bruno@clisp.org>
35955
35956         Avoid identifier clash with POSIX function 'remove' defined as a macro.
35957         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
35958         to 'remove_elt'.
35959         (gl_list_remove): Update.
35960         * lib/gl_list.c (gl_list_remove): Update.
35961         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
35962         to 'remove_elt'.
35963         (gl_oset_remove): Update.
35964         * lib/gl_list.c (gl_oset_remove): Update.
35965         Reported by Eric Blake.
35966
35967 2009-09-28  Eric Blake  <ebb9@byu.net>
35968
35969         doc: mention yet more cygwin 1.7 status
35970         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
35971         cygwin.
35972         * doc/glibc-functions/execvpe.texi (execvpe): New file.
35973         * doc/gnulib.texi (Glibc unistd.h): Mention it.
35974
35975         argp: fix test failure
35976         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
35977         that are not upper-case.  Pass correct range to tolower.
35978
35979 2009-09-27  Jim Meyering  <meyering@redhat.com>
35980
35981         test-yesno: work around sparc-dash here-document infelicity
35982         Without this change, the literal \177 byte in a here document
35983         would make dash 0.5.5.1-3 access uninitialized memory.
35984         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
35985         Instead, use a marker, "@", and filter through tr to create the desired
35986         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
35987
35988 2009-09-27  Bruno Haible  <bruno@clisp.org>
35989
35990         Disable untested support for new flavours of ACLs on AIX.
35991         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
35992         progress.
35993         * lib/set-mode-acl.c (qset_acl): Likewise.
35994
35995 2008-12-07  Bruno Haible  <bruno@clisp.org>
35996
35997         Add support for new flavours of ACLs on AIX. (Untested.)
35998         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
35999         (file_has_acl): Add support for newer AIX.
36000         * lib/set-mode-acl.c (qset_acl): Likewise.
36001         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
36002         Rainer Tammer <tammer@tammer.net>.
36003
36004 2009-09-26  Eric Blake  <ebb9@byu.net>
36005
36006         argp: fix compilation of getopt
36007         * lib/getopt.in.h (includes): Use different guard than glibc.
36008         Reported by Sergey Poznyakoff.
36009
36010         doc: mention more cygwin 1.7 status
36011         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
36012         bug.
36013         * doc/posix-functions/execl.texi (execl): Likewise.
36014         * doc/posix-functions/execle.texi (execle): Likewise.
36015         * doc/posix-functions/execlp.texi (execlp): Likewise.
36016         * doc/posix-functions/execv.texi (execv): Likewise.
36017         * doc/posix-functions/execve.texi (execve): Likewise.
36018         * doc/posix-functions/execvp.texi (execvp): Likewise.
36019         * doc/glibc-functions/canonicalize_file_name.texi
36020         (canonicalize_file_name): Cygwin 1.7 now provides this.
36021         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
36022         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
36023         on AT_SYMLINK_NOFOLLOW.
36024
36025 2009-09-24  Eric Blake  <ebb9@byu.net>
36026
36027         test-linkat: make test more robust
36028         * tests/test-linkat.c (main): Avoid collision with EEXIST.
36029
36030         getopt: fix inclusion guards for cygwin
36031         * modules/getopt-posix (Depends-on): Add include-next.
36032         (Makefile.am): Substitute more items in replacement header.
36033         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
36034         <getopt.h>.
36035         * lib/getopt.in.h (includes): Use split inclusion guard, and
36036         prefer <getopt.h> over include <unistd.h> when one is present.
36037         (option): Also override name of 'struct option'.
36038
36039         same-inode: revert prior change; it is not yet ready
36040         * NEWS: Undo mention of this change.
36041         * lib/same-inode.h (same-inode.h): Undo tri-state change.
36042         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
36043         * lib/cycle-check.c (cycle_check): Likewise.
36044         * lib/same.c (same_name): Likewise.
36045         * lib/at-func2.c (at_func2): Likewise.
36046
36047 2009-09-23  Eric Blake  <ebb9@byu.net>
36048
36049         linkat: new module
36050         * modules/linkat: New file.
36051         * lib/at-func2.c (at_func2): Likewise.
36052         * lib/linkat.c (linkat): Likewise.
36053         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
36054         * lib/openat-priv.h (at_func2): Add declaration.
36055         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
36056         * modules/unistd (Makefile.am): Substitute them.
36057         * lib/unistd.in.h (linkat): Declare it.
36058         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36059         * doc/posix-functions/linkat.texi (linkat): Likewise.
36060         * doc/posix-functions/link.texi (link): Tweak wording.
36061         * tests/test-link.c (main): Move guts...
36062         * tests/test-link.h (test_link): ...into new file.
36063         * modules/linkat-tests: New test.
36064         * tests/test-linkat.c: Likewise.
36065         * modules/link-tests (Files): Ship new file.
36066         (Depends-on): Add stdbool.
36067
36068         dirname: add library-safe mdir_name
36069         * lib/dirname.h (mdir_name): New prototype.
36070         * lib/dirname.c (dir_name): Move guts...
36071         (mdir_name): ...to new function that avoids xalloc_die.
36072
36073         fchdir: another mingw fix
36074         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
36075         * lib/fchdir.c (get_name): New helper method; skips canonicalize
36076         on mingw (where it has not yet been ported), and make it optional
36077         elsewhere.
36078         (_gl_register_fd): Use it.
36079
36080         same-inode: make SAME_INODE tri-state, to port to mingw
36081         * NEWS: Mention this change.
36082         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
36083         st_ino always being 0.
36084         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
36085         * lib/cycle-check.c (cycle_check): Likewise.
36086         * lib/same.c (same_name): Likewise.
36087
36088         lstat: avoid mingw compilation error
36089         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
36090         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
36091         lstat ourselves.
36092         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
36093         was adequate.
36094         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
36095         the checks for lstat.
36096         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
36097
36098         link: fix test failure on Solaris 9
36099         * lib/link.c (rpl_link): Don't assume link will catch bogus
36100         trailing slash on source.
36101
36102         test-symlinkat: enhance test
36103         * tests/test-readlink.c (main): Move guts...
36104         * tests/test-readlink.h (test_readlink): ...into new file.
36105         * tests/test-symlink.c (main): Move guts...
36106         * tests/test-symlink.h (test_symlink): ...into new file.
36107         * tests/test-symlinkat.c (main): Use new files for further
36108         coverage.
36109         (do_symlink, do_readlink): New helper functions.
36110         * modules/symlink-tests (Files): Ship new file.
36111         (Depends-on): Add stdbool.
36112         * modules/readlink-tests (Files): Ship new file.
36113         (Depends-on): Add stdbool.
36114         * modules/symlinkat-tests (Files): Use new files.
36115
36116 2009-09-23  Eric Blake  <ebb9@byu.net>
36117
36118         readlink: document portability issue with symlink length
36119         * doc/posix-functions/lstat.texi (lstat): Mention that some file
36120         systems have bogus st_size on symlinks, and mention the
36121         areadlink-with-size module.
36122         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
36123         * doc/posix-functions/readlink.texi (readlink): Mention the
36124         areadlink module, and ERANGE failure.
36125         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
36126         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
36127
36128         readlink: fix Solaris 9 bug with trailing slash
36129         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
36130         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
36131         * doc/posix-functions/readlink.texi (readlink): Document this.
36132         * modules/readlink-tests: New test.
36133         * tests/test-readlink.c: Likewise.
36134
36135         readlink: fix cygwin 1.5.x bug with return type
36136         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
36137         * lib/unistd.in.h (readlink): Use ssize_t.
36138         * lib/readlink.c (readlink): Likewise.
36139         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36140         * modules/unistd (Makefile.am): Substitute it.
36141         * lib/unistd.in.h (readlink): Declare replacement.
36142         * doc/posix-functions/readlink.texi (readlink): Document this.
36143
36144         symlink: use throughout gnulib
36145         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
36146         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
36147         symlink is not used.
36148         * modules/symlinkat (Depends-on): Add symlink.
36149         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
36150         * modules/canonicalize-tests (Depends-on): Likewise.
36151         * modules/lstat-tests (Depends-on): Likewise.
36152         * modules/openat-tests (Depends-on): Likewise.
36153         * modules/remove-tests (Depends-on): Likewise.
36154         * modules/rmdir-tests (Depends-on): Likewise.
36155         * modules/unlink-tests (Depends-on): Likewise.
36156         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
36157         * tests/test-canonicalize.c (symlink): Likewise.
36158         * tests/test-fstatat.c (symlink): Likewise.
36159         * tests/test-lstat.c (symlink): Likewise.
36160         * tests/test-remove.c (symlink): Likewise.
36161         * tests/test-rmdir.c (symlink): Likewise.
36162         * tests/test-unlink.c (symlink): Likewise.
36163         * tests/test-unlinkat.c (symlink): Likewise.
36164
36165         symlink: new module, for Solaris 9 bug
36166         * modules/symlink: New file.
36167         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
36168         * lib/symlink.c: Likewise.
36169         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
36170         * modules/unistd (Makefile.am): Substitute them.
36171         * lib/unistd.in.h (symlink): Declare replacement.
36172         * MODULES.html.sh (File system functions): Mention it.
36173         * doc/posix-functions/symlink.texi (symlink): Likewise.
36174         * modules/symlink-tests: New test.
36175         * tests/test-symlink.c: Likewise.
36176
36177 2009-09-23  Bruno Haible  <bruno@clisp.org>
36178
36179         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
36180         when needed.
36181         Test case: gnulib-tool --import --with-tests atexit inttypes.
36182         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
36183
36184 2009-09-23  Bruno Haible  <bruno@clisp.org>
36185
36186         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
36187         subcommand, not in a subshell.
36188
36189 2009-09-22  Eric Blake  <ebb9@byu.net>
36190
36191         unistd: sort replacement declarations
36192         * lib/unistd.in.h: Sort declarations.
36193
36194         open, openat: minor optimization
36195         * lib/open.c (open): If open succeeded, len is non-zero.
36196         * lib/openat.c (rpl_openat): Likewise.
36197
36198         link-follow: ensure correct result
36199         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
36200         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
36201         distinguish between possible failures.
36202
36203 2009-09-21  Eric Blake  <ebb9@byu.net>
36204
36205         fts: avoid compiler warning
36206         * lib/fts.c (dirent_inode_sort_may_be_useful)
36207         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
36208
36209 2009-09-19  Bruno Haible  <bruno@clisp.org>
36210
36211         * lib/progreloc.c (canonicalize_file_name): New declaration.
36212
36213 2009-09-19  Eric Blake  <ebb9@byu.net>
36214
36215         link: fix quoting
36216         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
36217
36218         openat: fix openat bugs on Solaris 9
36219         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
36220         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
36221         * modules/openat (Depends-on): Add open.
36222         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
36223         * modules/fcntl-h (Makefile.am): Substitute it.
36224         * lib/fcntl.in.h (openat): Declare replacement.
36225         * doc/posix-functions/openat.texi (openat): Document this.
36226
36227         openat: move fstatat and unlinkat into correct files
36228         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
36229         compiled.
36230         * lib/openat.c (fstatat, unlinkat): Move...
36231         * lib/fstatat.c (fstatat): ...into correct files.
36232         * lib/unlinkat.c (unlinkat): Likewise.
36233
36234         openat: fix unlinkat bugs on Solaris 9
36235         * lib/unlinkat.c (unlinkat): New file.
36236         * modules/openat (Depends-on): Add unlink.
36237         (Files): Distribute it.
36238         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
36239         trailing slash behavior is broken.
36240         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36241         * modules/unistd (Makefile.am): Substitute it.
36242         * lib/unistd.in.h (unlinkat): Declare replacement.
36243         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
36244
36245         openat: fix fstatat bugs on Solaris 9
36246         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
36247         stat.
36248         * doc/posix-functions/fstatat.texi (fstatat): Document this.
36249
36250         test-unlinkat: enhance test, to expose Solaris 9 bug
36251         * tests/test-unlink.c (main): Factor guts...
36252         * tests/test-unlink.h (test_rmdir_func): ...into new file.
36253         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
36254         * tests/test-rmdir.c (main): Adjust caller.
36255         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
36256         (unlinker): New helper function.
36257         (rmdirat): Enhance check.
36258         * modules/rmdir-tests (Depends-on): Add stdbool.
36259         * modules/unlink-tests (Depends-on): Likewise.
36260         (Files): Add test-unlink.h.
36261         * modules/openat-tests (Files): Likewise.
36262         (Depends-on): Add unlinkdir.
36263
36264         test-fstatat: new test, to expose Solaris 9 bugs
36265         * tests/test-stat.c (main): Factor guts...
36266         * tests/test-stat.h (test_stat_func): ...into new file.
36267         * tests/test-lstat.c (main): Factor guts...
36268         * tests/test-lstat.h (test_lstat_func): ...into new file.
36269         * tests/test-fstatat.c: New file.
36270         * modules/stat-tests (Files): Add test-stat.h.
36271         * modules/lstat-tests (Files): Add test-lstat.h.
36272         (Depends-on): Add stdbool.
36273         * modules/openat-tests (Depends-on): Add pathmax.
36274         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
36275         (Makefile.am): Run new test.
36276
36277         remove: new module, for mingw and Solaris 9 bugs
36278         * modules/remove: New file.
36279         * lib/remove.c: Likewise.
36280         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
36281         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
36282         * modules/stdio (Makefile.am): Use them.
36283         * lib/stdio.in.h (remove): Declare replacement.
36284         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36285         * doc/posix-functions/remove.texi (remove): Likewise.
36286         * modules/remove-tests: New test.
36287         * tests/test-remove.c: Likewise.
36288
36289         unlink: new module, for Solaris 9 bug
36290         * modules/unlink: New file.
36291         * lib/unlink.c: Likewise.
36292         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
36293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
36294         * modules/unistd (Makefile.am): Use them.
36295         * lib/unistd.in.h (stat): Declare replacement.
36296         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36297         * doc/posix-functions/unlink.texi (unlink): Likewise.
36298         * modules/unlink-tests: New test.
36299         * tests/test-unlink.c: Likewise.
36300
36301         lstat: fix Solaris 9 bug
36302         * lib/lstat.c (lstat): Also check for trailing slash on
36303         non-symlink, non-directories.  Use stat module to simplify logic.
36304         * doc/posix-functions/lstat.texi (lstat): Document it.
36305         * modules/lstat-tests (Depends-on): Add errno, same-inode.
36306         (configure.ac): Check for symlink.
36307         * tests/test-lstat.c (main): Add more tests.
36308
36309         stat: add as dependency to other modules
36310         * modules/chown (Depends-on): Add stat.
36311         * modules/euidaccess (Depends-on): Likewise.
36312         * modules/fchdir (Depends-on): Likewise.
36313         * modules/isdir (Depends-on): Likewise.
36314         * modules/link (Depends-on): Likewise.
36315         * modules/lstat (Depends-on): Likewise.
36316         * modules/mkdir-p (Depends-on): Likewise.
36317         * modules/modechange (Depends-on): Likewise.
36318         * modules/open (Depends-on): Likewise.
36319         * modules/readlink (Depends-on): Likewise.
36320         * modules/same (Depends-on): Likewise.
36321
36322         stat: fix Solaris 9 bug
36323         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
36324         slash.
36325         * lib/stat.c (rpl_stat): Work around it.
36326         * doc/posix-functions/stat.texi (stat): Update documentation.
36327
36328         stat: new module, for mingw bug
36329         * modules/stat: New file.
36330         * lib/stat.c: Likewise.
36331         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
36332         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36333         * modules/sys_stat (Makefile.am): Use them.
36334         * lib/sys_stat.in.h (stat): Declare replacement.
36335         * lib/openat.c (fstatat): Deal with lstat and stat being function
36336         macros.
36337         * modules/openat (Depends-on): Add inline.
36338         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
36339         * doc/posix-functions/stat.texi (stat): Likewise.
36340         * modules/stat-tests: New test.
36341         * tests/test-stat.c: Likewise.
36342
36343 2009-09-19  Jim Meyering  <meyering@redhat.com>
36344
36345         syntax-check: detect unnecessary inclusion of canonicalize.h
36346         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
36347
36348 2009-09-19  Eric Blake  <ebb9@byu.net>
36349
36350         canonicalize-lgpl: adjust clients to use correct header
36351         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
36352         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
36353         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
36354         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
36355         * lib/progreloc.c (includes): Likewise.
36356
36357 2009-09-19  Jim Meyering  <meyering@redhat.com>
36358
36359         test-posixtm.c: correct a comment
36360         * tests/test-posixtm.c: Correct first-line comment.
36361         Spotted by Eric Blake.
36362
36363 2009-09-16  Jim Meyering  <meyering@redhat.com>
36364
36365         posixtm-tests: make T const-correct; add a test case
36366         * tests/test-posixtm.c (T): Declare const.
36367         Add a test for -(2^31+1).
36368         Remove useless can-succeed-only-in-2002 test.
36369
36370         posixtm-tests: adjust the sole failing test
36371         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
36372         expected output matches what mktime now produces.  Cross-checked via
36373         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
36374
36375         posixtm: move #ifdef'd tests into a new module
36376         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
36377         * tests/test-posixtm.c: ... this new file.
36378         * modules/posixtm-tests: New module.
36379
36380 2009-09-19  Eric Blake  <ebb9@byu.net>
36381
36382         openat: simplify use of at-func.c
36383         * lib/at-func.c (includes): Include prerequisites here, to
36384         simplify requirements on client files.
36385         * lib/openat-priv.h: Add double-inclusion guard.
36386         * lib/faccessat.c (includes): Simplify.
36387         * lib/fchmodat.c (includes): Likewise.
36388         * lib/fchownat.c (includes): Likewise.
36389         * lib/mkdirat.c (includes): Likewise.
36390         * lib/mkfifoat.c (includes): Likewise.
36391         * lib/symlinkat.c (includes): Likewise.
36392
36393         openat: allow return of fd 0
36394         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
36395         * modules/save-cwd (Depends-on): Replace fcntl-safer with
36396         unistd-safer.
36397         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
36398         <fcntl.h>; this module does not leak fds.
36399         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
36400         must be allowed to return 0, leaving openat_safer to add the
36401         safety.
36402         (openat_permissive): Avoid writing to just-opened fd 2 if
36403         restoring the current directory fails.
36404         * lib/openat-die.c (openat_restore_fail): Add comment.
36405         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
36406         (save_cwd): Guarantee safe fd, but without use of open_safer.
36407         * tests/test-openat.c: New test.
36408         * modules/openat-tests (Files, Makefile.am): Distribute and build
36409         new file.
36410
36411         relocatable-prog-wrapper: fix build
36412         * modules/relocatable-prog-wrapper (Files): Update name of
36413         canonicalize m4 file, broken on 2009-09-17.
36414         Reported by emad hajjar <aleppos@hotmail.com>.
36415
36416 2009-09-19  Bruno Haible  <bruno@clisp.org>
36417
36418         * lib/safe-alloc.h: Use the standard header with GPL copyright.
36419         * lib/safe-alloc.c: Likewise.
36420         Reported by Ian Beckwith <ianb@erislabs.net>.
36421
36422 2009-09-18  Bruno Haible  <bruno@clisp.org>
36423
36424         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
36425         Reported by <erobles@sensacd.com.mx>.
36426
36427 2009-09-17  Eric Blake  <ebb9@byu.net>
36428
36429         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
36430         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
36431         slashes when checking if last component is missing.
36432         * tests/test-canonicalize.c (main): Test this.
36433
36434         canonicalize, canonicalize-lgpl: honor // if distinct from /
36435         * modules/canonicalize (Files): Add double-slash-root.m4.
36436         * modules/canonicalize-lgpl (Files): Likewise.
36437         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
36438         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
36439         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
36440         fallback definition.
36441         (canonicalize_filename_mode): Use it to protect //.
36442         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
36443         (__realpath): Likewise.
36444         * tests/test-canonicalize.c (main): Test this.
36445         * tests/test-canonicalize-lgpl.c (main): Likewise.
36446         * modules/canonicalize-tests (Depends-on): Add same-inode.
36447         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
36448
36449         canonicalize-lgpl: fix glibc bug with trailing slash
36450         * m4/canonicalize-lgpl.m4: Move contents...
36451         * m4/canonicalize.m4: ...here.
36452         (gl_CANONICALIZE_LGPL): Factor realpath check...
36453         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
36454         glibc 2.3.5 bug, fixed 2005-04-27.
36455         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
36456         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
36457         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
36458         * modules/canonicalize-lgpl (Files): Manage file rename.
36459         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
36460         * modules/stdlib (Makefile.am): Substitute witness.
36461         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
36462         is needed.
36463         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
36464         replacement is required.
36465         * lib/canonicalize.c (canonicalize_file_name): Likewise.
36466         * doc/glibc-functions/canonicalize_file_name.texi
36467         (canonicalize_file_name): Document this.
36468         * doc/posix-functions/realpath.texi (realpath): Likewise.
36469
36470         canonicalize-lgpl: reject non-directory with trailing slash
36471         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
36472         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
36473         catches failures in glibc 2.3.5.
36474         * tests/test-canonicalize.c (main): Likewise.
36475
36476         canonicalize-lgpl: use native realpath if it works
36477         * lib/canonicalize-lgpl.c (realpath): Guard with
36478         FUNC_REALPATH_WORKS.
36479         * lib/stdlib.in.h (realpath): Make declaration optional based on
36480         HAVE_REALPATH.
36481         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
36482         native realpath works.
36483         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
36484         * modules/stdlib (Makefile.am): Substitute witness.
36485
36486         canonicalize, canonicalize-lgpl: use <stdlib.h>
36487         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
36488         (Include): Mention <stdlib.h>.
36489         (configure.ac): Mention functions we provide.
36490         * modules/canonicalize (configure.ac): Likewise.
36491         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
36492         realpath if canonicalize_file_name is missing.
36493         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
36494         * modules/stdlib (Makefile.am): Substitute witnesses.
36495         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
36496         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
36497         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
36498         * NEWS: Document this.
36499         * doc/glibc-functions/canonicalize_file_name.texi
36500         (canonicalize_file_name): Likewise.
36501         * doc/posix-functions/realpath.texi (realpath): Likewise.
36502         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
36503
36504         test-canonicalize: consolidate into single C program
36505         * tests/test-canonicalize.sh: Delete; move setup into...
36506         * tests/test-canonicalize.c (main): ...the program, making it
36507         easier to run in debugger.  Add some tests.
36508         * modules/canonicalize-tests (Files): Remove unused file.
36509         (Depends-on): Add progname.
36510         (configure.ac, Makefile.am): Simplify.
36511
36512         test-canonicalize-lgpl: consolidate into single C program
36513         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
36514         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
36515         easier to run in debugger.  Add some tests.
36516         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
36517         (configure.ac, Makefile.am): Simplify.
36518
36519         canonicalize: avoid resolvepath
36520         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
36521         unnecessary checks.
36522         * lib/canonicalize.c (includes): Simplify.
36523         (canonicalize_file_name): Drop resolvepath implementation.
36524         * modules/canonicalize (Depends-on): Drop filenamecat.
36525
36526         canonicalize: don't lose errno
36527         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
36528         over calls to free.
36529
36530         canonicalize: simplify errno handling
36531         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
36532         assignment.
36533
36534         canonicalize, canonicalize-lgpl: update module dependencies
36535         * modules/canonicalize (Depends-on): Add extensions, lstat,
36536         pathmax, stdlib.
36537         (Files): Drop pathmax.h.
36538         (configure.ac): Adjust macro name.
36539         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
36540         lstat, stdlib, sys_stat.
36541         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
36542         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
36543         extensions.
36544         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
36545         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
36546         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
36547         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
36548         declaration, if available.
36549         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
36550         we can rely on the readlink module.
36551         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
36552         (includes): Use <unistd.h> unconditionally.
36553
36554 2009-09-17  Eric Blake  <ebb9@byu.net>
36555
36556         maint: make Include sections of modules consistent
36557         * modules/alloca: Use only header name; no need to list #include.
36558         * modules/alloca-opt: Likewise.
36559         * modules/arpa_inet: Likewise.
36560         * modules/canon-host: Likewise.
36561         * modules/configmake: Likewise.
36562         * modules/dirent: Likewise.
36563         * modules/eealloc: Likewise.
36564         * modules/environ: Likewise.
36565         * modules/fchdir: Likewise.
36566         * modules/fcntl: Likewise.
36567         * modules/fcntl-h: Likewise.
36568         * modules/gethrxtime: Likewise.
36569         * modules/gettime: Likewise.
36570         * modules/ignore-value: Likewise.
36571         * modules/inet_ntop: Likewise.
36572         * modules/inet_pton: Likewise.
36573         * modules/inttypes: Likewise.
36574         * modules/isnand-nolibm: Likewise.
36575         * modules/isnanf-nolibm: Likewise.
36576         * modules/mbchar: Likewise.
36577         * modules/mbfile: Likewise.
36578         * modules/mbiter: Likewise.
36579         * modules/mbuiter: Likewise.
36580         * modules/netdb: Likewise.
36581         * modules/netinet_in: Likewise.
36582         * modules/nproc: Likewise.
36583         * modules/pagealign_alloc: Likewise.
36584         * modules/poll: Likewise.
36585         * modules/printf-frexp: Likewise.
36586         * modules/pthread: Likewise.
36587         * modules/putenv: Likewise.
36588         * modules/random_r: Likewise.
36589         * modules/relocatable-prog: Likewise.
36590         * modules/search: Likewise.
36591         * modules/select: Likewise.
36592         * modules/selinux-h: Likewise.
36593         * modules/settime: Likewise.
36594         * modules/signal: Likewise.
36595         * modules/size_max: Likewise.
36596         * modules/socklen: Likewise.
36597         * modules/ssize_t: Likewise.
36598         * modules/stdarg: Likewise.
36599         * modules/stdbool: Likewise.
36600         * modules/stddef: Likewise.
36601         * modules/stdint: Likewise.
36602         * modules/stdio: Likewise.
36603         * modules/stdlib: Likewise.
36604         * modules/string: Likewise.
36605         * modules/strings: Likewise.
36606         * modules/sys_file: Likewise.
36607         * modules/sys_ioctl: Likewise.
36608         * modules/sys_select: Likewise.
36609         * modules/sys_socket: Likewise.
36610         * modules/sys_stat: Likewise.
36611         * modules/sys_time: Likewise.
36612         * modules/sys_times: Likewise.
36613         * modules/sys_utsname: Likewise.
36614         * modules/sys_wait: Likewise.
36615         * modules/sysexits: Likewise.
36616         * modules/time: Likewise.
36617         * modules/times: Likewise.
36618         * modules/tmpfile: Likewise.
36619         * modules/trim: Likewise.
36620         * modules/unistd: Likewise.
36621         * modules/wchar: Likewise.
36622         * modules/wctype: Likewise.
36623
36624 2009-09-17  Bruno Haible  <bruno@clisp.org>
36625
36626         Make getdate.y compile on QNX and NetBSD 5 / i386.
36627         * m4/getdate.m4 (gl_GETDATE): Conditionally define
36628         TIME_T_FITS_IN_LONG_INT.
36629         * lib/getdate.y (long_time_t): New type.
36630         (relative_time): Change type of 'seconds' field to long_time_t.
36631         (get_date): Update types of local variables. Check against overflow
36632         during conversion from long_time_t to time_t.
36633         Reported by Matt Kraai <kraai@ftbfs.org>
36634         and Hasso Tepper <hasso@netbsd.org>.
36635
36636 2009-09-17  Bruno Haible  <bruno@clisp.org>
36637
36638         * modules/COPYING: Update copyright years.
36639         * modules/README: Likeiwse.
36640         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
36641         Reported by Ian Beckwith <ianb@erislabs.net>.
36642
36643 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
36644
36645         * users.txt: Update references for gnuit package.
36646
36647 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
36648
36649         * m4/getdelim.m4: Fix typo in copyright line.
36650
36651 2009-09-17  Bruno Haible  <bruno@clisp.org>
36652
36653         * lib/atoll.c: Use the standard header with GPL copyright.
36654         * lib/argz.in.h: Likewise.
36655         * lib/glob.c: Likewise.
36656         * lib/glob-libc.h: Likewise.
36657         * lib/random_r.c: Likewise.
36658         * lib/siglist.h: Likewise.
36659         * lib/strsignal.c: Likewise.
36660         Reported by Ian Beckwith <ianb@erislabs.net>.
36661
36662 2009-09-17  Eric Blake  <ebb9@byu.net>
36663
36664         rmdir: ensure correct dependency order
36665         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
36666
36667 2009-09-17  Bruno Haible  <bruno@clisp.org>
36668
36669         Disable assertion that fails on NetBSD 5 / i386.
36670         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
36671         Reported by Sam Steingold <sds@gnu.org>
36672         and Hasso Tepper <hasso@netbsd.org>.
36673
36674 2009-09-16  Eric Blake  <ebb9@byu.net>
36675
36676         unlinkdir: port to mingw
36677         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
36678         on which no one can unlink a directory.
36679
36680         stdlib: sort witness names
36681         * modules/stdlib (Makefile.am): Sort replacements.
36682         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
36683         * lib/stdlib.in.h: Likewise.
36684
36685         parse-duration-tests: avoid link failure
36686         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
36687         LIBINTL.
36688         Reported by Tom G. Christensen.
36689
36690         openat-tests: ensure unlinkat behaves like rmdir
36691         * tests/test-rmdir.c (main): Factor guts...
36692         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
36693         * modules/rmdir-tests (Files): Ship new file.
36694         * modules/openat-tests: New test.
36695         * tests/test-unlinkat.c: Likewise.
36696
36697         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
36698         * modules/rmdir-errno (Status, Notice): Now obsolete.
36699
36700         rmdir: work around cygwin 1.5.x and mingw bugs
36701         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
36702         * lib/rmdir.c (rmdir): Work around it.
36703         * modules/rmdir (Status, Notice): No longer obsolete.
36704         (Files): Add dos.m4.
36705         (Depends-on): Add unistd.
36706         (configure.ac): Set witnesses.
36707         (License): Relax to LGPLv2+.
36708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
36709         * modules/unistd (Makefile.am): Substitute witnesses.
36710         * lib/unistd.in.h (rmdir): Declare replacement.
36711         * doc/posix-functions/rmdir.texi (rmdir): Document this.
36712         * modules/rmdir-tests: New tests.
36713         * tests/test-rmdir.c: Likewise.
36714
36715 2009-09-15  Eric Blake  <ebb9@byu.net>
36716
36717         fchdir: improve use of replacement functions
36718         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
36719         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
36720         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
36721         REPLACE_CLOSEDIR.
36722         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
36723         * modules/sys_stat (Makefile.am): Substitute correct witness.
36724         * modules/dirent (Makefile.am): Likewise.
36725         * modules/unistd (Makefile.am): Likewise.
36726         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
36727         * lib/unistd.in.h (dup): Likewise.
36728         * lib/sys_stat.in.h (fstat): Likewise.
36729
36730         maint: ignore gnulib-tool temp files
36731         * .gitignore: Ignore files created during gnulib-tool --test.
36732
36733 2009-09-13  Jim Meyering  <meyering@redhat.com>
36734
36735         posixtm: don't reject a time that specify "60" as the number of seconds
36736         * lib/posixtm.c (posixtime): The code to reject invalid dates
36737         would also reject a time specified with the .60 suffix.
36738         But POSIX allows that, in order to accommodate leap seconds.
36739         So don't reject it.
36740         (main): Adjust tests accordingly.
36741         * modules/posixtm (Depends-on): Add stpcpy.
36742
36743 2009-09-11  Jim Meyering  <meyering@redhat.com>
36744
36745         announce-gen: include [$release_type] in emitted Subject:
36746         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
36747         e.g., [stable] in the emitted Subject: line.
36748
36749 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36750
36751         Remove obsolete macros from several modules.
36752         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
36753         obsolete Autoconf macros with their modern counterparts.
36754         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
36755         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
36756         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
36757         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
36758         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
36759         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
36760         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
36761         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
36762         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
36763         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
36764         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
36765         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
36766         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
36767         * m4/sockets.m4 (gl_SOCKETS): Likewise.
36768         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
36769         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
36770         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
36771         * m4/time_r.m4 (gl_TIME_R): Likewise.
36772         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
36773         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
36774         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
36775
36776         Fix copyright header in build-aux scripts.
36777         * build-aux/git-version-gen: Fix copyright header to match GPLv3
36778         recommendation.
36779         * build-aux/ncftpput-ftp: Likewise.
36780         * build-aux/update-copyright: Likewise.
36781
36782 2009-09-09  Eric Blake  <ebb9@byu.net>
36783
36784         test-link: allow Linux choice of errno
36785         * tests/test-link.c (main): Relax test for alternate error.
36786
36787         strndup: fix improper m4 caching
36788         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
36789         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
36790         (gl_PREREQ_STRNDUP): Delete.
36791         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
36792         * modules/string (Makefile.am): Substitute it.
36793         * lib/string.in.h (strndup): Modernize prototype.
36794
36795         getcwd: port to mingw
36796         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
36797         different from the POSIX assumptions made throughout the getcwd
36798         module; fortunately, the mingw getcwd does not need replacement.
36799         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
36800         * modules/getcwd-tests: New test.
36801         * tests/test-getcwd.c: Likewise.
36802
36803         link: fix platform bugs
36804         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
36805         * lib/link.c (link): Work around them.  Fix related mingw bug.
36806         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
36807         * modules/unistd (Makefile.am): Substitute it.
36808         * lib/unistd.in.h (link): Declare replacement.
36809         * doc/posix-functions/link.texi (link): Document this.
36810         * modules/link (Depends-on): Add strdup-posix, sys_stat.
36811
36812         test-link: consolidate into single C program, test more cases
36813         * tests/test-link.sh: Delete.
36814         * tests/test-link.c: Test more error conditions.  Exposes bugs on
36815         at least Cygwin and Solaris.
36816         * modules/link-tests (Files): Remove unused file.
36817         (Depends-on): Add errno, sys_stat.
36818         (Makefile.am): Simplify.
36819
36820 2009-09-08  Bruno Haible  <bruno@clisp.org>
36821
36822         Work around towlower, towupper bug on mingw.
36823         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
36824         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
36825         * doc/posix-functions/towlower.texi: Mention the mingw bug.
36826         * doc/posix-functions/towupper.texi: Likewise.
36827         Reported by Eric Blake.
36828
36829 2009-09-08  Jim Meyering  <meyering@redhat.com>
36830
36831         build: don't try to run autoheader if we don't use it
36832         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
36833         is not used in configure.ac.
36834
36835 2009-09-08  Eric Blake  <ebb9@byu.net>
36836
36837         euidaccess: fix compilation error
36838         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
36839
36840         rawmemchr: relax license
36841         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
36842         okay.
36843         Reported by Jim Meyering.
36844
36845         mkfifoat: new module
36846         * modules/mkfifoat: New file.
36847         * lib/mkfifoat.c: Likewise.
36848         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
36849         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
36850         * modules/sys_stat (Makefile.am): Use them.
36851         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
36852         * MODULES.html.sh (File system functions): Mention module.
36853         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
36854         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
36855         * modules/mkfifoat-tests: New test.
36856         * tests/test-mkfifoat.c: Likewise.
36857
36858         strchrnul: relax license
36859         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
36860         okay.
36861         Reported by Jim Meyering.
36862
36863 2009-09-08  Eric Blake  <ebb9@byu.net>
36864
36865         fstatat: fix compilation on Solaris
36866         * lib/fstatat.c (includes): Add fcntl.h.
36867         Reported by Pádraig Brady.
36868
36869 2009-09-07  Eric Blake  <ebb9@byu.net>
36870
36871         rename: modernize replacement
36872         * modules/rename (Depends-on): Add stdio.
36873         (configure.ac): Declare witness.
36874         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
36875         stdio take care of replacement.
36876         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
36877         * modules/stdio (Makefile.am): Substitute them.
36878         * lib/stdio.in.h (rename): Declare replacement.
36879         * lib/rename.c (includes): Allow cross-compilation to non-windows
36880         machines.
36881         * doc/posix-functions/rename.texi (rename): Improve
36882         documentation.
36883
36884         stdio: sort witness names
36885         * modules/stdio (Makefile.am): Sort replacements.
36886         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36887         * lib/stdio.in.h: Likewise.
36888
36889         getcwd: minor cleanups
36890         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
36891         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
36892
36893         openat: provide more convenience names
36894         * modules/faccessat (configure.ac): Add C witness.
36895         * lib/unistd.in.h (readlinkat): Fix typo.
36896         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
36897         convenience wrappers.
36898         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
36899         wrappers in syntax checks.
36900
36901 2009-09-06  Eric Blake  <ebb9@byu.net>
36902
36903         doc: fix comments in recent patches
36904         * lib/faccessat.c: Mention correct function.
36905         * lib/fchmodat.c: Likewise.
36906         * lib/fchownat.c: Likewise.
36907         * lib/symlinkat.c: Likewise.
36908         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
36909         constants.
36910
36911         faccessat, symlinkat: continue cleanup of previous patch
36912         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
36913         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
36914         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
36915         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
36916         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
36917         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
36918         set.
36919
36920 2009-09-06  Bruno Haible  <bruno@clisp.org>
36921
36922         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
36923         (fstatat): Declare if GNULIB_FSTATAT is set.
36924         (mkdirat): Declare if GNULIB_MKDIRAT is set.
36925         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
36926         (unlinkat): Declare if GNULIB_UNLINKAT is set.
36927         * modules/fcntl-h (Files): Remove m4/openat.m4.
36928         * modules/sys_stat (Files): Remove m4/openat.m4.
36929         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
36930         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
36931         * modules/unistd (Files): Remove m4/openat.m4.
36932         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
36933         GNULIB_OPENAT.
36934         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
36935         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
36936         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
36937         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
36938         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
36939         gl_OPENAT_DEFAULTS.
36940         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
36941         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
36942         Don't require gl_OPENAT_DEFAULTS.
36943         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
36944         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
36945         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
36946         (gl_OPENAT_DEFAULTS): Remove macro.
36947
36948 2009-09-06  Bruno Haible  <bruno@clisp.org>
36949
36950         * modules/openat (configure.ac): Remove unneeded witness.
36951
36952 2009-09-06  Bruno Haible  <bruno@clisp.org>
36953
36954         Set errno to ENOSYS when a function is entirely unsupported.
36955         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
36956         EOPNOTSUPP.
36957         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
36958         * modules/chown (Depends-on): Remove errno.
36959
36960 2009-09-06  Bruno Haible  <bruno@clisp.org>
36961
36962         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
36963
36964 2009-09-06  Bruno Haible  <bruno@clisp.org>
36965
36966         * lib/sys_stat.in.h: Fix preprocessor command indentation.
36967
36968 2009-09-06  Ben Pfaff  <blp@gnu.org>
36969             Bruno Haible  <bruno@clisp.org>
36970
36971         Work around a glibc bug in strtok_r.
36972         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
36973         Undefine if UNDEFINE_STRTOK_R is set.
36974         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
36975         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36976         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
36977         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
36978         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
36979         UNDEFINE_STRTOK_R.
36980         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
36981
36982 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
36983
36984         exclude: minor fix
36985         * lib/exclude.c: Include wctype.h
36986
36987 2009-09-06  Akim Demaille  <demaille@gostai.com>
36988
36989         bootstrap: improve error message
36990         * build-aux/bootstrap (find_tool): Upon failure, report the list
36991         of candidates.
36992         Honor the initial value of the envvar.
36993
36994 2009-09-05  Eric Blake  <ebb9@byu.net>
36995
36996         symlinkat: new module
36997         * modules/symlinkat: New file.
36998         * lib/symlinkat.c: Likewise.
36999         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
37000         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
37001         * modules/unistd (Makefile.am): Use them.
37002         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
37003         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
37004         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
37005         * MODULES.html.sh (File system functions): Mention module.
37006         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
37007         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
37008         * modules/symlinkat-tests: New test.
37009         * tests/test-symlinkat.c: Likewise.
37010
37011         test-openat-safer: add more checks
37012         * tests/test-openat-safer.c (main): Check more code paths.
37013
37014 2009-09-05  Jim Meyering  <meyering@redhat.com>
37015
37016         syntax-check: detect unnecessary inclusion of openat.h
37017         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
37018
37019 2009-09-05  Bruno Haible  <bruno@clisp.org>
37020
37021         Support towlower, towupper.
37022         * doc/posix-functions/towlower.texi: Mention module wctype.
37023         * doc/posix-functions/towupper.texi: Likewise.
37024         * lib/wctype.in.h (towlower, towupper): New functions.
37025         * tests/test-wctype.c: Include stdio.h, stdlib.h.
37026         (ASSERT): New macro.
37027         (e): New variable.
37028         (main): Test also towlower, towupper. Test WEOF argument.
37029         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
37030
37031 2009-09-05  Bruno Haible  <bruno@clisp.org>
37032
37033         Fix conversion behaviour when the input is invalid.
37034         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
37035         mark occurring in first pass of indirect conversion.
37036         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
37037         input.
37038         Found by clang's static analyzer.
37039
37040 2009-09-05  Bruno Haible  <bruno@clisp.org>
37041
37042         * tests/test-striconveh.c (main): Test indirect conversion on platforms
37043         where direct conversion is possible.
37044
37045 2009-09-04  Eric Blake  <ebb9@byu.net>
37046
37047         openat: fail with ENOENT on empty name
37048         * lib/openat-proc.c (openat_proc_name): Special-case the empty
37049         buffer.
37050
37051         link-follow: fix logic bug in prior patch
37052         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
37053         reversed sense of yes and no in prior patch.  Avoid confusing
37054         compilation failure with desired semantics.
37055
37056         link-follow: accomodate mingw and cross-compilation
37057         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
37058         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
37059         cross-compilation results to -1, to make linkat easier to
37060         implement when cross-compiling.  Trivially support mingw.
37061         * modules/link-follow (configure.ac): Call new name.
37062         * NEWS: Mention this.
37063
37064 2009-09-03  Eric Blake  <ebb9@byu.net>
37065
37066         faccessat: compile replacement
37067         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
37068         needed.
37069
37070         fts: fix compilation error
37071         * lib/fts.c (includes): Re-add "openat.h", for
37072         openat_needs_fchdir.
37073
37074         faccessat: new module
37075         * modules/faccessat: New file.
37076         * lib/faccessat.c: Likewise.
37077         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
37078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37079         * modules/unistd (Makefile.am): Use it.
37080         * lib/unistd.in.h (faccessat): Declare it.
37081         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
37082         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
37083         * MODULES.html.sh (File system functions): Mention it.
37084         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
37085         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
37086
37087         euidaccess: prefer POSIX over non-standard implementation
37088         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
37089         * lib/euidaccess.c (euidaccess): Use it if available.
37090
37091         openat: make template easier to use
37092         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
37093         AT_FUNC_F2 to be undefined.
37094         (VALIDATE_FLAG): New macro; use it to reject bad flags.
37095         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
37096         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
37097         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
37098         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
37099         Likewise.
37100         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
37101         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
37102         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
37103         Likewise.
37104
37105         openat: declare in POSIX headers
37106         * NEWS: Mention this.
37107         * modules/openat (configure.ac): Declare witnesses.
37108         (Depends-on): Add fcntl-h, sys_stat, unistd.
37109         (Include): Mention correct headers.
37110         * modules/fcntl-h (Depends-on): Add link-warning.
37111         (Files): Add openat.m4.
37112         (Makefile.am): Substitute witnesses.
37113         * modules/sys_stat (Files, Makefile.am): Likewise.
37114         * modules/unistd (Files, Makefile.am): Likewise.
37115         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
37116         (gl_OPENAT_DEFAULTS): New macro.
37117         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
37118         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
37119         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
37120         (SYS_STAT_H): Remove unused variable.
37121         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
37122         * lib/fcntl--.h (includes): Remove unneeded header.
37123         * lib/openat-safer.c (includes): Likewise.
37124         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
37125         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
37126         appropriate headers.
37127         (__OPENAT_PREFIX): Delete.
37128         * lib/fcntl.in.h (openat): Provide declaration.
37129         (AT_FDCWD): Fix Solaris bug.
37130         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
37131         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
37132         * lib/fchmodat.c (includes):  Adjust to find declaration.
37133         * lib/fchownat.c (includes): Likewise.
37134         * lib/mkdirat.c (includes): Likewise.
37135         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
37136         still visible.
37137
37138 2009-09-02  Eric Blake  <ebb9@byu.net>
37139
37140         errno: use consistently
37141         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
37142         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
37143         * lib/canonicalize.c (ELOOP): Likewise.
37144         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
37145         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
37146         * lib/lchown.c (EOPNOTSUPP): Likewise.
37147         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
37148         * lib/savewd.c (ESTALE): Likewise.
37149         * lib/settime.c (ENOSYS): Likewise.
37150         * lib/utimens.c (ENOSYS): Likewise.
37151         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
37152         * lib/chdir-safer.c (ELOOP): Likewise.
37153         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
37154         * modules/c-stack (Depends-on): Add errno.
37155         * modules/canonicalize (Depends-on): Likewise.
37156         * modules/chdir-safer (Depends-on): Likewise.
37157         * modules/fdopendir (Depends-on): Likewise.
37158         * modules/inet_ntop (Depends-on): Likewise.
37159         * modules/inet_pton (Depends-on): Likewise.
37160         * modules/lchown (Depends-on): Likewise.
37161         * modules/openat (Depends-on): Likewise.
37162         * modules/savewd (Depends-on): Likewise.
37163         * modules/settime (Depends-on): Likewise.
37164         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
37165
37166         fts: avoid leaking fds
37167         * modules/fts (Depends-on): Add cloexec.
37168         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
37169         flag.
37170
37171         fts: make directory fds more robust
37172         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
37173         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
37174
37175         backupfile, chdir-long, fts, savedir: make safer
37176         * lib/backupfile.c (includes): Use "dirent--.h", since
37177         numbered_backup can write to stderr during readdir.
37178         * lib/savedir.c (includes): Likewise.
37179         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
37180         emulation can write to stderr on failure.
37181         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
37182         * lib/getcwd.c: Document why opendir_safer is unused.
37183         * lib/glob.c: Likewise.
37184         * lib/scandir.c: Likewise.
37185         * lib/openat-proc.c: Likewise, for open_safer.
37186         * modules/backupfile (Depends-on): Add dirent-safer.
37187         * modules/savedir (Depends-on): Likewise.
37188         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
37189         * modules/chdir-long (Depends-on): Add openat-safer.
37190
37191         openat-safer: new module
37192         * modules/openat-safer: New file.
37193         * lib/openat-safer.c: Likewise.
37194         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
37195         * lib/fcntl-safer.h (openat_safer): Declare.
37196         * lib/fcntl--.h (openat): Override.
37197         * MODULES.html.sh (File descriptor based I/O): Mention it.
37198         * lib/openat.h: Add double-inclusion guards.
37199         * lib/openat.c (includes): Only include "fcntl-safer.h", not
37200         "fcntl--.h", so we can implement openat.
37201         * modules/openat-safer-tests: New test.
37202         * tests/test-openat-safer.c: New file.
37203
37204         dirent-safer: new module
37205         * modules/dirent-safer: New file.
37206         * lib/dirent--.h: Likewise.
37207         * lib/dirent-safer.h: Likewise.
37208         * lib/opendir-safer.c: Likewise.
37209         * m4/dirent-safer.m4: Likewise.
37210         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
37211         * modules/dirent-safer-tests: New test.
37212         * tests/test-dirent-safer.c: New file.
37213         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
37214
37215         fdopendir: optimize on mingw
37216         * lib/unistd.in.h (_gl_directory_name): New prototype.
37217         * lib/fchdir.c (_gl_directory_name): Implement it.
37218         (fchdir): Use it to simplify implementation.
37219         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
37220         fchdir, when available, to avoid calling [f]chdir().
37221
37222         fdopendir: split into its own module
37223         * lib/openat.c (fdopendir): Move...
37224         * lib/fdopendir.c: ...into new file.
37225         * modules/fdopendir: New module.
37226         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
37227         * modules/openat (Depends-on): Add fdopendir.
37228         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
37229         fdopendir here.
37230         * modules/savedir (Depends-on): Only need fdopendir, not full
37231         openat.
37232         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
37233         * lib/openat.h (fdopendir): Drop prototype.
37234         * lib/dirent.in.h (fdopendir): Provide prototype.
37235         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
37236         * modules/dirent (Makefile.am): Substitute them.
37237         * MODULES.html.sh (File system functions): Mention it.
37238         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
37239         * modules/fdopendir-tests: New file.
37240         * tests/test-fdopendir.c: Likewise.
37241
37242         fchdir: use more consistent macro convention
37243         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
37244         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
37245         REPLACE_FCHDIR, rather than relying on config.h macros.
37246         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
37247         inside a single make-time REPLACE_FCHDIR block, rather than using
37248         the config.h FCHDIR_REPLACEMENT.
37249         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
37250         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
37251         Manage fstat replacement.
37252         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
37253         REPLACE_FCHDIR.
37254         * modules/sys_stat (Files): Add m4/unistd_h.m4.
37255         (Makefile.am): Substitute REPLACE_FCHDIR.
37256         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
37257         FCHDIR_REPLACEMENT.
37258         * lib/dup-safer.c (dup_safer): Likewise.
37259         * lib/dup2.c (rpl_dup2): Likewise.
37260         * lib/dup3.c (rpl_dup3): Likewise.
37261         * lib/open.c (rpl_open): Likewise.
37262
37263         fchdir: simplify error handling, and support dup3
37264         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
37265         stdbool, malloc-posix, realloc-posix.
37266         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
37267         (ensure_dirs_slot): Return false on allocation failure.
37268         (rpl_dup2): Delete.
37269         (_gl_register_dup): New function.
37270         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
37271         (_gl_register_fd): Close fd on allocation failure.
37272         * lib/fcntl.in.h (_gl_register_fd): Update signature.
37273         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
37274         prototype.
37275         (rpl_dup2_fchdir): Delete prototype.
37276         * lib/open.c (open): Update caller.
37277         * lib/dup2.c (dup2): Track fchdir metadata.
37278         * lib/dup3.c (dup3): Likewise.
37279         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
37280         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
37281
37282 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37283
37284         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
37285         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
37286         don't pass arguments to AC_OUTPUT.
37287
37288 2009-09-02  Bruno Haible  <bruno@clisp.org>
37289
37290         * modules/mkdtemp (License): Relicense under LGPLv2+.
37291         Reported by Paolo Bonzini.
37292
37293 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37294
37295         Replace uses of obsolete autoconf macros in Jim's modules.
37296         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
37297         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
37298         can evoke a warning from autoconf when run with -Wobsolete
37299         enabled.  They were declared obsolete for good reasons (see
37300         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
37301         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
37302         should not continue using the deprecated macros.
37303         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
37304         obsolete Autoconf macros with modern counterparts.
37305         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
37306         * m4/dos.m4 (gl_AC_DOS): Likewise.
37307         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
37308         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
37309         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
37310         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
37311         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
37312         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
37313         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
37314         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
37315         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
37316         Likewise.
37317         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
37318         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
37319         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
37320         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
37321         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
37322         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
37323
37324 2009-09-01  Eric Blake  <ebb9@byu.net>
37325
37326         fchdir: fix off-by-one bug in previous patch
37327         * lib/fchdir.c (rpl_fstat): Use correct bounds.
37328         (_gl_unregister_fd): Delete useless if.
37329
37330 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
37331
37332         maint.mk: sort the list of syntax-check rules
37333         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
37334         easier to get a sense of progress when the rules are run sequentially
37335         and take a long time.
37336
37337 2009-09-01  Simon Josefsson  <simon@josefsson.org>
37338
37339         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
37340         * modules/netinet_in: Likewise.
37341         * modules/sys_file: Likewise.
37342         * modules/sys_ioctl: Likewise.
37343         * modules/sys_select: Likewise.
37344         * modules/sys_socket: Likewise.
37345         * modules/sys_stat: Likewise.
37346         * modules/sys_time: Likewise.
37347         * modules/sys_times: Likewise.
37348         * modules/sys_utsname: Likewise.
37349         * modules/sys_wait: Likewise.
37350
37351 2009-09-01  Jim Meyering  <meyering@redhat.com>
37352
37353         fts: help ensure that return values are not ignored
37354         * lib/fts_.h (__GNUC_PREREQ): Define.
37355         (__attribute_warn_unused_result__): Define.
37356         (fts_children, fts_close, fts_open, fts_read): Declare with
37357         __attribute_warn_unused_result__.
37358
37359         fts: fts_close now fails also when closing a dir file descriptor fails
37360         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
37361         and propagate to caller, along with errno.
37362
37363         announce-gen: correct formatting in --help output
37364         * build-aux/announce-gen (usage): Move the one-line description in
37365         --help output "up", to where it belongs, just after Usage:.
37366
37367 2009-08-31  Eric Blake  <ebb9@byu.net>
37368
37369         fchdir: port to mingw
37370         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
37371         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
37372         opened, then use a substitute.
37373         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
37374         replacement.
37375         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
37376         (_gl_register_fd): No need to check stat if open already filters
37377         all directories.
37378         (fchdir): Fix error condition to match POSIX.
37379         * modules/fchdir (Depends-on): Add sys_stat.
37380         * doc/posix-functions/open.texi (open): Document the limitation.
37381         * modules/fchdir-tests: New file.
37382         * tests/test-fchdir.c: Likewise.
37383
37384         canonicalize: allow cross-testing from cygwin to mingw
37385         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
37386         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
37387         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
37388         Likewise.
37389         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
37390         target does not support symlinks.
37391         * tests/test-canonicalize-lgpl.sh: Likewise.
37392
37393         chown: avoid compilation warning on mingw
37394         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
37395         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
37396         mingw.
37397         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
37398         * modules/chown (Depends-on): Add errno.
37399
37400 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
37401
37402         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
37403         command.
37404
37405 2009-08-31  Jim Meyering  <meyering@redhat.com>
37406
37407         canonicalize: remove useless initialization
37408         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
37409         initialization of local, "end".
37410
37411 2009-08-30  Bruno Haible  <bruno@clisp.org>
37412
37413         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
37414         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
37415         ENOSYS.
37416
37417 2009-08-30  Bruno Haible  <bruno@clisp.org>
37418
37419         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
37420         /usr/xpg4/bin/tr when it exists.
37421         * tests/test-pipe-filter-gi1.sh: Likewise.
37422
37423 2009-08-30  Bruno Haible  <bruno@clisp.org>
37424
37425         Work around deficient /usr/bin/id program on Solaris.
37426         * tests/test-file-has-acl.sh (ID): New variable.
37427         * tests/test-set-mode-acl.sh (ID): Likewise.
37428         * tests/test-copy-acl.sh (ID): Likewise.
37429         * tests/test-copy-file.sh (ID): Likewise.
37430
37431 2009-08-30  Bruno Haible  <bruno@clisp.org>
37432
37433         New module 'xstriconveh'.
37434         * lib/xstriconveh.h: New file.
37435         * lib/xstriconveh.c: New file.
37436         * modules/xstriconveh: New file.
37437
37438 2009-08-30  Bruno Haible  <bruno@clisp.org>
37439
37440         Make it easier to use mem_cd_iconveh.
37441         * lib/striconveh.h (iconveh_t): New type.
37442         (iconveh_open, iconveh_close): New declarations.
37443         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
37444         with a single 'const iconveh_t *' argument.
37445         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
37446         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
37447         with a single 'const iconveh_t *' argument.
37448         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
37449         * tests/test-striconveh.c (main): Update.
37450         * NEWS: Mention the change.
37451
37452 2009-08-30  Bruno Haible  <bruno@clisp.org>
37453
37454         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
37455         problem.
37456
37457 2009-08-30  Bruno Haible  <bruno@clisp.org>
37458
37459         Work around iconv_open problem on Solaris.
37460         * lib/iconv_open-solaris.gperf: New file.
37461         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
37462         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
37463         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
37464         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
37465         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
37466         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
37467
37468 2009-08-29  Jim Meyering  <meyering@redhat.com>
37469
37470         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
37471         * top/maint.mk (cvs-check): Remove target; it was just an alias
37472         to the better-named vc-diff-check.
37473         (maintainer-distcheck): Remove rule.  It was used only from
37474         the (alpha/beta/major) target, and all of its commands but one
37475         were coreutils-specific.
37476         (vc-dist): Remove rule.
37477         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
37478         Run vc-diff-check, not vc-dist.
37479         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
37480
37481 2009-08-27  Bruno Haible  <bruno@clisp.org>
37482
37483         * tests/test-bitrotate.c (main): Remove test that uses a shift count
37484         of 0.
37485
37486 2009-08-27  Bruno Haible  <bruno@clisp.org>
37487
37488         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
37489         compilers.
37490         * doc/func.texi: Document the SunPRO C bug.
37491
37492 2009-08-27  Bruno Haible  <bruno@clisp.org>
37493
37494         Fix link error on Solaris.
37495         * tests/test-parse-duration.c (xstrdup): Remove function.
37496
37497 2009-08-26  Pádraig Brady  <P@draigbrady.com>
37498
37499         ignore-value: handle pointer types, too
37500         * lib/ignore-value.h (__attribute__): Remove definition.
37501         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
37502         of a more concise and more-often effective "(void) i" statement.
37503         (ignore_ptr): New function to suppress warnings from functions that
37504         return pointers, and to make it explicit that one function doesn't
37505         handle all cases.
37506
37507 2009-08-25  Bruno Haible  <bruno@clisp.org>
37508
37509         dup2: work around a Linux bug.
37510         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
37511         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
37512         * doc/posix-functions/dup2.texi: Mention the Linux bug.
37513         Reported by Simon Josefsson.
37514
37515 2009-08-25  Jim Meyering  <meyering@redhat.com>
37516
37517         libguestfs uses gnulib
37518         * users.txt: Add libguestfs.
37519
37520 2009-08-24  Eric Blake  <ebb9@byu.net>
37521
37522         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
37523         * lib/pipe2.c (includes): Add binary-io.h.
37524         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
37525
37526 2009-08-24  Bruno Haible  <bruno@clisp.org>
37527
37528         Tolerate declared but missing accept4 syscall.
37529         * lib/accept4.c (accept4): Invoke original accept4 function first, if
37530         available.
37531         * lib/sys_socket.in.h (accept4): If the function is already present,
37532         override it.
37533         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
37534         * modules/accept4 (Makefile.am): Compile accept4.c always.
37535         Reported by Paolo Bonzini and Eric Blake.
37536
37537 2009-08-23  Bruno Haible  <bruno@clisp.org>
37538
37539         New module 'accept4'.
37540         * lib/sys_socket.in.h (accept4): New declaration.
37541         * lib/accept4.c: New file.
37542         * m4/accept4.m4: New file.
37543         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
37544         GNULIB_ACCEPT4, HAVE_ACCEPT4.
37545         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
37546         HAVE_ACCEPT4.
37547         * modules/accept4: New file.
37548         * doc/glibc-functions/accept4.texi: Mention the new module.
37549
37550 2009-08-24  Jim Meyering  <meyering@redhat.com>
37551
37552         progname: also set global program_invocation_name, when possible
37553         Before this change, a libtool-enabled program that calls glibc's
37554         error function would report the program name as
37555         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
37556         * modules/progname (configure.ac): Check for a declaration of
37557         program_invocation_name.
37558         * lib/progname.c:  Include <errno.h>.
37559         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
37560         Set program_invocation_name.
37561
37562 2009-08-23  Bruno Haible  <bruno@clisp.org>
37563
37564         * lib/dup3.c: Include <string.h>.
37565
37566 2009-08-23  Bruno Haible  <bruno@clisp.org>
37567
37568         * lib/dup3.c (dup3): Test only once whether the system actually exists.
37569         * lib/pipe2.c (pipe2): Likewise.
37570         Suggested by Eric Blake.
37571
37572 2009-08-23  Bruno Haible  <bruno@clisp.org>
37573
37574         Tolerate declared but missing dup3 syscall.
37575         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
37576         * lib/unistd.in.h (dup3): If the function is already present,
37577         override it.
37578         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
37579         * modules/dup3 (Makefile.am): Compile dup3.c always.
37580         Reported by Paolo Bonzini.
37581
37582 2009-08-23  Bruno Haible  <bruno@clisp.org>
37583
37584         Tolerate declared but missing pipe2 syscall.
37585         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
37586         available.
37587         * lib/unistd.in.h (pipe2): If the function is already present,
37588         override it.
37589         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
37590         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
37591         Reported by Paolo Bonzini.
37592
37593 2009-08-23  Bruno Haible  <bruno@clisp.org>
37594
37595         * lib/pipe2.c (pipe2): Move #ifs inside function.
37596
37597 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
37598
37599         quotearg: document limitations of quote_these_too
37600         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
37601         those limitations are created.
37602         * lib/quotearg.h (set_char_quoting): Document that digits and
37603         letters that are special after backslash are not permitted.
37604         (quotearg_char): Cross-reference set_char_quoting documentation.
37605
37606 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
37607
37608         quotearg: implement custom_quoting_style
37609         * lib/quotearg.c: (struct quoting_options): Add left_quote and
37610         right_quote fields.
37611         (set_custom_quoting): New public function.
37612         (quotearg_buffer_restyled): Add left_quote and right_quote
37613         arguments, handle them very much like locale quoting, and update
37614         all uses.
37615         (quotearg_n_custom): New public function.
37616         (quotearg_n_custom_mem): New public function.
37617         (quotearg_custom): New public function.
37618         (quotearg_custom_mem): New public function.
37619         * lib/quotearg.h: Prototype and document new public functions.
37620         (enum quoting_style): For escape_quoting_style and
37621         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
37622         ignored even though they're otherwise like c_quoting_style.
37623         Add custom_quoting_style member and document with comparison to
37624         clocale_quoting_style.
37625         * tests/test-quotearg.c (custom_quotes): New array.
37626         (custom_results): New array.
37627         (main): Extend to test custom quoting.
37628
37629 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
37630
37631         quotearg: fix right quote escaping when it's in quote_these_too
37632         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
37633         quote, be sure to prepend only one backslash.
37634         * tests/test-quotearg.c (use_quote_double_quotes): New function.
37635         (main): Test it.
37636
37637 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
37638
37639         quotearg-tests: test escaping of embedded locale quotes
37640         * tests/test-quotearg.c (struct result_strings): Add member for
37641         new input.
37642         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
37643         (inputs): Add new input.
37644         (results_g): Add expected results.
37645         (flag_results): Likewise.
37646         (locale_results): Likewise.
37647         (compare_strings): Check those.
37648
37649 2009-08-23  Bruno Haible  <bruno@clisp.org>
37650
37651         Tests for module 'dup3'.
37652         * modules/dup3-tests: New file.
37653         * tests/test-dup3.c: New file.
37654
37655         New module 'dup3'.
37656         * lib/unistd.in.h (dup3): New declaration.
37657         * lib/dup3.c: New file.
37658         * m4/dup3.m4: New file.
37659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
37660         HAVE_DUP3.
37661         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
37662         * modules/dup3: New file.
37663         * doc/glibc-functions/dup3.texi: Mention the new module.
37664
37665 2009-08-23  Bruno Haible  <bruno@clisp.org>
37666
37667         Tweak the dup2 test.
37668         * tests/test-dup2.c (main): Create the test file empty. Verify that an
37669         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
37670         the test file is still empty. Fix argument order of lseek.
37671
37672 2009-08-23  Bruno Haible  <bruno@clisp.org>
37673
37674         Avoid test link errors when the modules getopt-gnu, gettext are used.
37675         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
37676         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37677
37678 2009-08-23  Bruno Haible  <bruno@clisp.org>
37679
37680         Fix getdtablesize() on mingw.
37681         * lib/getdtablesize.c (getdtablesize): Implement differently.
37682         * lib/unistd.in.h (getdtablesize): Improve comment.
37683
37684 2009-08-23  Bruno Haible  <bruno@clisp.org>
37685
37686         New module 'mkostemp'.
37687         Based on Ulrich Drepper's 2007-08-10 change in glibc.
37688         * lib/stdlib.in.h (mksotemp): New declaration.
37689         * lib/mkostemp.c: New file, from glibc with modifications.
37690         * lib/tempname.h (GT_FILE): Remove outdated comment.
37691         (gen_tempname): Add flags argument.
37692         * lib/tempname.c (__GT_BIGFILE): Remove macro.
37693         (__GT_FILE): Map to 1.
37694         (small_open, large_open): Remove macros.
37695         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
37696         * lib/mkstemp.c (mkstemp): Update.
37697         * lib/mkdtemp.c (mkdtemp): Likewise.
37698         * m4/mkostemp.m4: New file.
37699         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
37700         HAVE_MKOSTEMP.
37701         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
37702         HAVE_MKOSTEMP.
37703         * modules/mkostemp: New file, based on modules/mkstemp.
37704         * doc/glibc-functions/mkostemp.texi: Mention the new module.
37705         * NEWS: Mention the change.
37706
37707 2009-08-23  Bruno Haible  <bruno@clisp.org>
37708
37709         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
37710         Reported by Eric Blake.
37711
37712 2009-08-23  Bruno Haible  <bruno@clisp.org>
37713
37714         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
37715         Reported by Eric Blake.
37716
37717 2009-08-23  Bruno Haible  <bruno@clisp.org>
37718
37719         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
37720         * modules/pipe2 (Depends-on): Likewise.
37721
37722 2009-08-23  Eric Blake  <ebb9@byu.net>
37723
37724         fcntl-h: add O_TTY_INIT support
37725         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
37726         * tests/test-fcntl-h.c (o): Test it.
37727         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
37728
37729         fcntl-h: rename from fcntl, in preparation for fcntl(2)
37730         * modules/fcntl: Move <fcntl.h> header replacement...
37731         * modules/fcntl-h: ...to new name, so as not to collide with
37732         like-named function.
37733         * tests/test-fcntl.c: Rename...
37734         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
37735         * modules/fcntl-tests: Rename...
37736         * modules/fcntl-h-tests: ...to this.  Update test file name.
37737         * modules/chdir-long (Depends-on): Update clients.
37738         * modules/chdir-safer (Depends-on): Likewise.
37739         * modules/fcntl-safer (Depends-on): Likewise.
37740         * modules/fts (Depends-on): Likewise.
37741         * modules/mkancesdirs (Depends-on): Likewise.
37742         * modules/mkdir-p (Depends-on): Likewise.
37743         * modules/open (Depends-on): Likewise.
37744         * modules/savewd (Depends-on): Likewise.
37745         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
37746         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
37747
37748 2009-08-22  Bruno Haible  <bruno@clisp.org>
37749
37750         * modules/binary-io (License): Relicense under LGPL.
37751         * modules/pipe2 (License): Likewise.
37752
37753 2009-08-22  Bruno Haible  <bruno@clisp.org>
37754
37755         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
37756         return value.
37757         * lib/pipe-filter-gi.c (filter_init): Likewise.
37758         Reported by Eric Blake.
37759
37760 2009-08-22  Bruno Haible  <bruno@clisp.org>
37761
37762         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
37763         * modules/pipe (Depends-on): Add pipe2.
37764
37765 2009-08-22  Bruno Haible  <bruno@clisp.org>
37766
37767         Tests for module 'pipe2'.
37768         * modules/pipe2-tests: New file.
37769         * tests/test-pipe2.c: New file.
37770
37771         New module 'pipe2'.
37772         * lib/unistd.in.h (pipe2): New declaration.
37773         * lib/pipe2.c: New file.
37774         * m4/pipe2.m4: New file.
37775         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
37776         HAVE_PIPE2.
37777         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
37778         * modules/pipe2: New file.
37779         * doc/glibc-functions/pipe2.texi: Mention the new module.
37780
37781 2009-08-22  Bruno Haible  <bruno@clisp.org>
37782
37783         Reference some new glibc functions.
37784         * doc/glibc-functions/accept4.texi: New file.
37785         * doc/glibc-functions/dup3.texi: New file.
37786         * doc/glibc-functions/mkostemp.texi: New file.
37787         * doc/glibc-functions/pipe2.texi: New file.
37788         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
37789         (Glibc sys/socket.h): Refer to accept4.
37790         (Glibc unistd.h): Refer to dup3, pipe2.
37791         Reported by Eric Blake.
37792
37793 2009-08-22  Jim Meyering  <meyering@redhat.com>
37794             Bruno Haible  <bruno@clisp.org>
37795
37796         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
37797         This makes it so packages using automake-1.11's silent-rules option
37798         can print e.g., a single "GEN    configmake.h" line, rather than
37799         the 30+ statements that perform the job.  If you want to see the
37800         actual commands, you can still run "make V=1".
37801         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
37802         so that make output is abbreviated when those variables are defined
37803         appropriately.
37804         * modules/argz: Likewise.
37805         * modules/arpa_inet: Likewise.
37806         * modules/byteswap: Likewise.
37807         * modules/configmake: Likewise.
37808         * modules/dirent: Likewise.
37809         * modules/errno: Likewise.
37810         * modules/fcntl: Likewise.
37811         * modules/float: Likewise.
37812         * modules/fnmatch: Likewise.
37813         * modules/getopt-posix: Likewise.
37814         * modules/glob: Likewise.
37815         * modules/iconv_open: Likewise.
37816         * modules/inttypes: Likewise.
37817         * modules/localcharset: Likewise.
37818         * modules/locale: Likewise.
37819         * modules/math: Likewise.
37820         * modules/netdb: Likewise.
37821         * modules/netinet_in: Likewise.
37822         * modules/poll: Likewise.
37823         * modules/posix_spawnp-tests: Likewise.
37824         * modules/sched: Likewise.
37825         * modules/search: Likewise.
37826         * modules/selinux-h: Likewise.
37827         * modules/signal: Likewise.
37828         * modules/spawn: Likewise.
37829         * modules/stdarg: Likewise.
37830         * modules/stdbool: Likewise.
37831         * modules/stddef: Likewise.
37832         * modules/stdint: Likewise.
37833         * modules/stdio: Likewise.
37834         * modules/stdlib: Likewise.
37835         * modules/string: Likewise.
37836         * modules/strings: Likewise.
37837         * modules/sys_file: Likewise.
37838         * modules/sys_ioctl: Likewise.
37839         * modules/sys_select: Likewise.
37840         * modules/sys_socket: Likewise.
37841         * modules/sys_stat: Likewise.
37842         * modules/sys_time: Likewise.
37843         * modules/sys_times: Likewise.
37844         * modules/sys_utsname: Likewise.
37845         * modules/sys_wait: Likewise.
37846         * modules/sysexits: Likewise.
37847         * modules/time: Likewise.
37848         * modules/unistd: Likewise.
37849         * modules/wchar: Likewise.
37850         * modules/wctype: Likewise.
37851
37852 2009-08-22  Jim Meyering  <meyering@redhat.com>
37853
37854         announce-gen: detect write failure
37855         * build-aux/announce-gen: Add Coda at end.
37856         Remove equivalent-but-more-verbose block at top.
37857
37858 2009-08-19  Akim Demaille  <demaille@gostai.com>
37859
37860         bootstrap: --help to stdout.
37861         * bootstrap (usage): Don't send --help to stderr.
37862         Use a here doc instead of a long string.
37863
37864 2009-08-21  Eric Blake  <ebb9@byu.net>
37865
37866         test-popen-safer: split from test-popen
37867         * tests/test-popen.c (main): Move...
37868         * tests/test-popen.h: ...into new file.
37869         * tests/test-popen-safer2.c: New file.
37870         * modules/popen-tests (Files): Add test-popen.h.
37871         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
37872         Suggested by Bruno Haible.
37873
37874         test-fcntl-safer: split from test-open
37875         * tests/test-open.c (main): Move...
37876         * tests/test-open.h: ...into new file.
37877         * tests/test-fcntl-safer.c: New file.
37878         * modules/open-tests (Files): Add test-open.h.
37879         * modules/fcntl-safer-tests: New file.
37880         Suggested by Bruno Haible.
37881
37882         test-fopen-safer: split from test-fopen
37883         * tests/test-fopen.c (main): Move...
37884         * tests/test-fopen.h: ...into new file.
37885         * tests/test-fopen-safer.c: New file.
37886         * modules/fopen-tests (Files): Add test-fopen.h.
37887         * modules/fopen-safer-tests: New file.
37888         Suggested by Bruno Haible.
37889
37890 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
37891
37892         popen-safer: test O_CLOEXEC at run-time.
37893         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
37894
37895 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
37896
37897         fcntl: move more flags to the header
37898         * lib/cloexec.c: Do not define FD_CLOEXEC here.
37899         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
37900         * lib/fcntl.in.h: Do both things here.
37901
37902 2009-08-21  Jim Meyering  <meyering@redhat.com>
37903
37904         consistently remove $@-t before redirecting to it
37905         * modules/argz: Remove $@-t and $@ before redirecting to the former.
37906         * modules/alloca-opt: Likewise.
37907         * modules/byteswap: Likewise.
37908         * modules/fnmatch: Likewise.
37909         * modules/getopt-posix: Likewise.
37910         * modules/glob: Likewise.
37911         * modules/poll: Likewise.
37912         * modules/posix_spawnp-tests: Likewise.
37913         * modules/sys_socket: Likewise.
37914         * modules/sysexits: Likewise.
37915
37916 2009-08-21  Eric Blake  <ebb9@byu.net>
37917
37918         popen: simplify access to original popen
37919         * lib/popen.c (rpl_popen): No need to worry about popen being a
37920         macro.
37921         Reported by Bruno Haible.
37922
37923 2009-08-20  Eric Blake  <ebb9@byu.net>
37924
37925         build: avoid some compiler warnings
37926         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
37927         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
37928         type.
37929         (new_exclude_segment, excluded_file_pattern_p)
37930         (excluded_file_name_p): Reduce scope.
37931         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
37932         old-style declaration.
37933
37934 2009-08-20  Simon Josefsson  <simon@josefsson.org>
37935
37936         * tests/test-exclude1.sh: Handle Windows EOL.
37937         * tests/test-exclude2.sh: Likewise.
37938         * tests/test-exclude3.sh: Likewise.
37939         * tests/test-exclude4.sh: Likewise.
37940         * tests/test-exclude5.sh: Likewise.
37941         * tests/test-exclude6.sh: Likewise.
37942         * tests/test-exclude7.sh: Likewise.
37943
37944 2009-08-19  Akim Demaille  <demaille@gostai.com>
37945
37946         bootstrap: find sha1sum when named gsha1sum.
37947         * bootstrap (find_tool): New.
37948         ($SHA1SUM): New.
37949         Use it.
37950
37951 2009-08-20  Jim Meyering  <meyering@redhat.com>
37952
37953         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
37954         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
37955         expression that converts "." in a file name to "\." in the resulting
37956         regexp.  Start with a dummy statement, so that prior shell variable
37957         definitions are expanded portably.  Reported by Simon Josefsson.
37958
37959 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
37960
37961         Fix polling for writeability of a screen buffer.
37962         * lib/poll.c: Distinguish input and screen buffers for the
37963         Win32 implementation.
37964         * lib/select.c: Likewise.
37965
37966 2009-08-19  Eric Blake  <ebb9@byu.net>
37967
37968         popen-safer: prevent popen from clobbering std descriptors
37969         * modules/popen-safer: New file.
37970         * lib/popen-safer.c: Likewise.
37971         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
37972         * lib/stdio--.h (popen): Provide override.
37973         * lib/stdio-safer.h (popen_safer): Provide declaration.
37974         * tests/test-popen.c (includes): Partially test this.
37975         * modules/popen-safer-tests: New file, for more tests.
37976         * tests/test-popen-safer.c: Likewise.
37977         * MODULES.html.sh (file stream based Input/Output): Mention it.
37978
37979         tests: test some of the *-safer modules
37980         * modules/fopen-safer (Depends-on): Add fopen.
37981         * modules/fcntl-safer (Depends-on): Add fcntl.
37982         * modules/stdlib-safer (Depends-on): Add stdlib.
37983         (configure.ac): Set indicator.
37984         * modules/unistd-safer (configure.ac): Likewise.
37985         * modules/tmpfile-safer (configure.ac): Likewise.
37986         (Depends-on): Add tmpfile.
37987         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
37988         active.
37989         * tests/test-fopen.c (includes): Test safer versions when they are
37990         in use.
37991         * tests/test-open.c (includes): Likewise.
37992
37993         popen: fix cygwin 1.5 bug when stdin closed
37994         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
37995         * modules/popen: New file.
37996         * modules/popen-tests: Likewise.
37997         * tests/test-popen.c: Likewise.
37998         * m4/popen.m4: Likewise.
37999         * lib/popen.c: Likewise.
38000         * lib/stdio.in.h (popen): New declaration.
38001         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
38002         * modules/stdio (Makefile.am): Likewise.
38003         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
38004
38005 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
38006
38007         maint.mk: give full control over update-copyright exclusions
38008         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
38009         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
38010         (update-copyright): Don't force inclusion of top-level
38011         ChangeLog.  Don't force exclusion of all COPYING files, but make
38012         them the default exclusion instead.
38013
38014 2009-08-16  Bruno Haible  <bruno@clisp.org>
38015
38016         Fix test failures on Solaris 10.
38017         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
38018         tests when Solaris iconv() is used.
38019         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
38020         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
38021         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
38022         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
38023         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
38024
38025 2009-08-16  Bruno Haible  <bruno@clisp.org>
38026
38027         Fix test failures on Solaris 10.
38028         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
38029         'tr' program and pass it as first argument.
38030         * tests/test-pipe-filter-gi1.sh: Likewise.
38031         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
38032         program as first argument.
38033         * tests/test-pipe-filter-gi1.c (main): Likewise.
38034
38035 2009-08-16  Eric Blake  <ebb9@byu.net>
38036
38037         fpurge: fix previous commits
38038         * modules/fpurge (Makefile.am): Make replacement conditional,
38039         partially reverting 2007-04-29 change; missed in previous
38040         attempt.
38041         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
38042         is missing.
38043
38044 2009-08-16  Bruno Haible  <bruno@clisp.org>
38045
38046         Clarify fpurge's effect on the file position.
38047         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
38048         * tests/test-fpurge.c (main): Make a second pass for checking the file
38049         position.
38050
38051 2009-08-16  Bruno Haible  <bruno@clisp.org>
38052
38053         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
38054         declaration of fpurge is missing.
38055         * tests/test-fpurge.c (main): Check that the file has not more contents
38056         than expected. Close the file before removing it.
38057
38058 2009-08-15  Eric Blake  <ebb9@byu.net>
38059
38060         fpurge: don't wrap working cygwin implementation
38061         * lib/fpurge.c (fpurge): Fix comment typo.
38062         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
38063         1.7 to avoid replacement.
38064         * tests/test-fpurge.c (main): Enhance test.
38065
38066 2009-08-15  Eric Blake  <ebb9@byu.net>
38067         and Jim Meyering  <meyering@redhat.com>
38068
38069         test-update-copyright: skip if perl is insufficient
38070         * tests/test-update-copyright.sh: Failure to run maintainer tool
38071         should not cause testsuite failure on cygwin 1.5.
38072
38073 2009-08-14  Eric Blake  <ebb9@byu.net>
38074
38075         doc: mention more functions added in cygwin 1.7.0
38076         * doc/posix-headers/limits.texi (limits.h): Update for recent
38077         cygwin additions.
38078         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
38079         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
38080         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
38081         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
38082         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
38083
38084 2009-08-14  Eric Blake  <ebb9@byu.net>
38085
38086         maint.mk: simplify update-copyright rule
38087         * top/maint.mk (update-copyright-local): Delete, and document how
38088         to do it in cfg.mk instead.
38089         (update-copyright-exclude-regexp): Delete, and document how to do
38090         it in .x-update-copyright instead.
38091         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
38092         exclude ChangeLog.
38093
38094 2009-08-14  Bruno Haible  <bruno@clisp.org>
38095
38096         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
38097
38098 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
38099
38100         maint.mk: support update-copyright-env
38101         * top/maint.mk (update-copyright-env): Define place-holder.
38102         (update-copyright): Expand $(update-copyright-env) before
38103         invoking update-copyright.
38104
38105 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
38106
38107         update-copyright: implement forced reformatting
38108         * build-aux/update-copyright: Implement and document
38109         UPDATE_COPYRIGHT_FORCE.
38110         * tests/test-update-copyright.sh: Test it.
38111
38112 2009-08-14  Eric Blake  <ebb9@byu.net>
38113         and Bruno Haible  <bruno@clisp.org>
38114
38115         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
38116         * tests/test-locale.c: Revert previous patch related to NULL.
38117         * tests/test-stdio.c: Likewise.
38118         * tests/test-stdlib.c: Likewise.
38119         * tests/test-string.c: Likewise.
38120         * tests/test-unistd.c: Likewise.
38121         * modules/time-tests (Depends-on): Add verify.
38122         * modules/wchar-tests (Depends-on): Likewise.
38123         * tests/test-time.c: Test for NULL compliance.
38124         * tests/test-wchar.c: Likewise.
38125         * modules/locale (Depends-on): Add stddef.
38126         * modules/stdio (Depends-on): Likewise.
38127         * modules/stdlib (Depends-on): Likewise.
38128         * modules/string (Depends-on): Likewise.
38129         * modules/time (Depends-on): Likewise.
38130         * modules/unistd (Depends-on): Likewise.
38131         * modules/wchar (Depends-on): Likewise.
38132         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
38133         * lib/stdlib.in.h (includes): Likewise.
38134         * lib/string.in.h (includes): Likewise.
38135         * lib/time.in.h (includes): Likewise.
38136         * lib/unistd.in.h (includes): Likewise.
38137         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
38138         replaced.
38139         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38140         * m4/stddef_h.m4: New file.
38141         * modules/stddef: Likewise.
38142         * lib/stddef.in.h: Likewise.
38143         * modules/stddef-tests: Likewise.
38144         * tests/test-stddef.c: Likewise.
38145         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
38146         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
38147         * doc/posix-headers/locale.texi (locale.h): Likewise.
38148         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
38149         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
38150         * doc/posix-headers/string.texi (string.h): Likewise.
38151         * doc/posix-headers/time.texi (time.h): Likewise.
38152         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
38153         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
38154
38155 2009-08-14  Eric Blake  <ebb9@byu.net>
38156
38157         doc: improve git diff of texinfo files
38158         * .gitattributes: Add rule for *.texi files, with hint on how to
38159         use it.
38160         Copied from m4, and based on a report by Bruno Haible.
38161
38162 2009-08-14  Bruno Haible  <bruno@clisp.org>
38163
38164         Disable multithread support by default on Cygwin 1.5.x for real.
38165         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
38166
38167 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
38168
38169         update-copyright: much ado about intervals
38170         * build-aux/update-copyright: Implement and document
38171         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
38172         of copyright year intervals.
38173         Also, document UPDATE_COPYRIGHT_YEAR.
38174         * tests/test-update-copyright.sh: Test it.
38175
38176         update-copyright: convert 2-digit to 4-digit years
38177         * build-aux/update-copyright: Implement and document.
38178         * tests/test-update-copyright.sh: Update.
38179
38180 2009-08-14  Jim Meyering  <meyering@redhat.com>
38181
38182         test-exclude: avoid coreutils "make check" failure
38183         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
38184         just as in test-argmatch.c.
38185
38186 2009-08-13  Eric Blake  <ebb9@byu.net>
38187
38188         test-dup2: fix bad assumption
38189         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
38190         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
38191
38192         test-version-etc: fix CRLF portability issue
38193         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
38194         recognize \r.
38195         * tests/test-argp-version-etc-1.sh: Likewise.
38196
38197         getopt: update client modules
38198         * modules/argp (Depends-on): Use getopt-gnu.
38199         * modules/git-merge-changelog (Depends-on): Likewise.
38200         * modules/long-options (Depends-on): Likewise.
38201         * modules/xstrtol (Depends-on): Likewise.
38202
38203 2009-08-13  Simon Josefsson  <simon@josefsson.org>
38204
38205         * tests/test-version-etc.sh: Don't fail on different
38206         project/version.  Don't fail on CRLF differences.  Rewrite to use
38207         multiple -e instead of multiple sed forks, suggested by Eric Blake
38208         <ebb9@byu.net>.
38209         * tests/test-argp-version-etc-1.sh: Likewise.
38210
38211 2009-08-13  Simon Josefsson  <simon@josefsson.org>
38212
38213         * tests/test-version-etc.sh: Don't fail on different
38214         project/version.
38215
38216 2009-08-12  Bruno Haible  <bruno@clisp.org>
38217
38218         Tests for modules 'getopt-posix', 'getopt-gnu'.
38219         * modules/getopt-posix-tests: New file.
38220         * tests/test-getopt.c: New file.
38221         * tests/test-getopt.h: New file.
38222         * tests/test-getopt_long.h: New file.
38223
38224         New modules 'getopt-posix', 'getopt-gnu'.
38225         * modules/getopt-gnu: New file, renamed from modules/getopt.
38226         * modules/getopt-posix: New file.
38227         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
38228         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
38229         (gl_GETOPT): Remove macro.
38230         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
38231         Disable the test against BSD systems that declare optreset. Test
38232         against mingw bug. Test against lack of support of optional arguments
38233         on many platforms.
38234         * doc/glibc-headers/getopt.texi: Update module name and list of
38235         relevant platforms.
38236         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
38237         'getopt-gnu' and more portability problems.
38238         * NEWS: Mention the changes.
38239
38240 2009-08-12  Bruno Haible  <bruno@clisp.org>
38241
38242         Ensure that optarg etc. get declared by <unistd.h>.
38243         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
38244         AC_USE_SYSTEM_EXTENSIONS.
38245         * modules/getopt (Depends-on): Add 'extensions'.
38246
38247 2009-08-12  Bruno Haible  <bruno@clisp.org>
38248
38249         Avoid test link errors.
38250         * modules/pipe-filter-ii-tests (Makefile.am): Define
38251         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
38252         * modules/pipe-filter-gi-tests (Makefile.am): Define
38253         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
38254         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38255
38256 2009-08-12  Bruno Haible  <bruno@clisp.org>
38257
38258         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
38259         gl_GETOPT_SUBSTITUTE before.
38260         (gl_GETOPT): Use it.
38261         * m4/argp.m4 (gl_ARGP): Update.
38262         Reported by Sergey Poznyakoff.
38263
38264         * m4/getopt.m4: Reorder macros.
38265         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
38266         (gl_GETOPT_SUBSTITUTE): Remove macro.
38267
38268 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38269
38270         Minor improvement in gitlog-to-changelog
38271
38272         * build-aux/gitlog-to-changelog: New option `--format' makes
38273         output format string configurable.
38274
38275 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
38276
38277         Optimize exclude: use hash tables for non-wildcard patterns.
38278
38279         * lib/exclude.c: Include hash.h and mbuiter.h
38280         (struct exclude_pattern, exclude_segment): New data types.
38281         (struct exclude): Rewrite.
38282         (fnmatch_pattern_has_wildcards): New function.
38283         (new_exclude_segment, free_exclude_segment): New functions.
38284         (excluded_file_pattern_p, excluded_file_name_p): New functions.
38285         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
38286         * lib/exclude.h (is_fnmatch_pattern): New prototype.
38287         * modules/exclude: Depend on hash and mbuiter.
38288
38289         * modules/exclude-tests: New file.
38290         * tests/test-exclude.c: New file.
38291         * tests/test-exclude1.sh: New file.
38292         * tests/test-exclude2.sh: New file.
38293         * tests/test-exclude3.sh: New file.
38294         * tests/test-exclude4.sh: New file.
38295         * tests/test-exclude5.sh: New file.
38296         * tests/test-exclude6.sh: New file.
38297         * tests/test-exclude7.sh: New file.
38298
38299 2009-08-12  Bruno Haible  <bruno@clisp.org>
38300
38301         Ensure that getopt() gets declared by <unistd.h>.
38302         * lib/unistd.in.h: Conditionally include getopt.h.
38303         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
38304         Set GNULIB_UNISTD_H_GETOPT.
38305         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38306         GNULIB_UNISTD_H_GETOPT.
38307         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
38308
38309 2009-08-12  Bruno Haible  <bruno@clisp.org>
38310
38311         Clarify logic.
38312         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
38313         gl_replace_getopt instead of GETOPT_H.
38314
38315 2009-08-12  Bruno Haible  <bruno@clisp.org>
38316
38317         * m4/getopt.m4: Add comments.
38318
38319 2009-08-12  Bruno Haible  <bruno@clisp.org>
38320
38321         Disable multithread support by default on Cygwin 1.5.x.
38322         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
38323         set gl_use_threads=no if not specified otherwise.
38324
38325 2009-08-11  Bruno Haible  <bruno@clisp.org>
38326
38327         Avoid compilation error on NetBSD 5.0.
38328         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
38329         * tests/test-stdio.c: Likewise.
38330         * tests/test-stdlib.c: Likewise.
38331         * tests/test-string.c: Likewise.
38332         * tests/test-unistd.c: Likewise.
38333         Reported by Greg Troxel <gdt@ir.bbn.com>
38334         at <https://savannah.gnu.org/support/?106973>.
38335
38336 2009-08-11  Bruno Haible  <bruno@clisp.org>
38337
38338         * modules/dup2-tests (Depends-on): Remove close.
38339
38340         Undo 2009-07-19 commit.
38341         * modules/acl-tests (Depends-on): Remove close.
38342         * modules/binary-io-tests (Depends-on): Likewise.
38343         * modules/closein-tests (Depends-on): Likewise.
38344         * modules/flock-tests (Depends-on): Likewise.
38345         * modules/fsync-tests (Depends-on): Likewise.
38346         * modules/lseek-tests (Depends-on): Likewise.
38347         * modules/pipe-tests (Depends-on): Likewise.
38348         * modules/posix_spawn-tests (Depends-on): Likewise.
38349         * modules/posix_spawnp-tests (Depends-on): Likewise.
38350         * modules/stat-time-tests (Depends-on): Likewise.
38351         * modules/yesno-tests (Depends-on): Likewise.
38352
38353 2009-08-10  Bruno Haible  <bruno@clisp.org>
38354
38355         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
38356
38357 2009-08-10  Bruno Haible  <bruno@clisp.org>
38358
38359         Fix a gcc warning.
38360         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
38361
38362 2009-08-10  Bruno Haible  <bruno@clisp.org>
38363
38364         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
38365         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
38366         not only the first time.
38367         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
38368         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
38369         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
38370         is 1, not only the the first time.
38371
38372 2009-08-10  Bruno Haible  <bruno@clisp.org>
38373
38374         Make it possible to use module 'gethostname' without module 'close'.
38375         * lib/unistd.in.h (close): Evoke a link error only if
38376         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
38377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
38378         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
38379         * modules/unistd (Makefile.am): Substitute
38380         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
38381         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
38382         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
38383         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
38384         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
38385         * modules/sys_ioctl (Makefile.am): Substitute
38386         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
38387         * modules/socket (configure.ac): On native Windows, set
38388         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
38389         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
38390         Reported by Sam Steingold <sds@gnu.org>.
38391
38392 2009-08-10  Bruno Haible  <bruno@clisp.org>
38393
38394         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
38395         * modules/ioctl (configure.ac): Likewise.
38396
38397 2009-08-10  Bruno Haible  <bruno@clisp.org>
38398
38399         Avoid collision between gnulib wrapper and libintl wrapper.
38400         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
38401         already defined in intl/printf.c.
38402         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
38403         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
38404
38405 2009-08-09  Bruno Haible  <bruno@clisp.org>
38406
38407         Make <sys/select.h> really self-contained, also on Solaris 10.
38408         * lib/sys_select.in.h: Include <string.h>.
38409         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
38410         Solaris 10 problem.
38411         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
38412         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
38413         Reported by Jim Meyering.
38414
38415 2009-08-09  Bruno Haible  <bruno@clisp.org>
38416
38417         Avoid warnings from 'aclocal' that are due to a use of macro name
38418         AM_XGETTEXT_OPTION that is not defined in automake.
38419         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
38420         automake.
38421         * modules/error (configure.ac): Likewise.
38422         * modules/propername (configure.ac): Likewise.
38423         * modules/vasprintf (configure.ac): Likewise.
38424         * modules/verror (configure.ac): Likewise.
38425         * modules/xprintf (configure.ac): Likewise.
38426         * modules/xvasprintf (configure.ac): Likewise.
38427
38428 2009-08-08  Bruno Haible  <bruno@clisp.org>
38429
38430         Avoid compilation error in C++ mode.
38431         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
38432         Reported by Sam Steingold <sds@gnu.org>.
38433
38434 2009-08-08  Bruno Haible  <bruno@clisp.org>
38435
38436         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
38437         for the various Unix platforms.
38438         * doc/posix-headers/limits.texi: Update platforms list regarding
38439         HOST_NAME_MAX.
38440         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38441
38442 2009-08-07  Jim Meyering  <meyering@redhat.com>
38443
38444         selinux-at: fix typo in a comment
38445         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
38446         Spotted by Paolo Bonzini.
38447
38448         selinux-at: remove redundant m4 code, add documentation
38449         * modules/selinux-at (configure.ac): Remove redundant code.
38450         LIB_SELINUX is already set via the dependent module, selinux-h.
38451         (Include): Add quotes around selinux-at.h.
38452         * lib/selinux-at.h: Add documentation.
38453         Reported by Bruno Haible in
38454         http://marc.info/?l=gnulib-bug&m=124958988300749
38455
38456 2009-08-07  Bruno Haible  <bruno@clisp.org>
38457
38458         Avoid link error on MacOS X 10.3 and 10.4.
38459         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
38460         on non-ELF systems.
38461         * lib/argp-pv.c (argp_program_version): Likewise.
38462         Reported by Simon Josefsson.
38463
38464 2009-08-07  Simon Josefsson  <simon@josefsson.org>
38465
38466         * tests/test-version-etc.sh: Use $EXEEXT.
38467
38468 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
38469
38470         update-copyright: update documentation to point to maint.mk
38471         * build-aux/update-copyright: Here.
38472
38473 2009-08-06  Jim Meyering  <meyering@redhat.com>
38474
38475         maint.mk: support update-copyright-local
38476         * top/maint.mk (update-copyright-local): Define place-holder.
38477         (update-copyright): Depend on $(update-copyright-local).
38478
38479 2009-08-06  Jim Meyering  <meyering@redhat.com>
38480
38481         selinux-at: new module
38482         Initially written for coreutils, this module will soon be
38483         used by findutils, too.
38484         * MODULES.html.sh [Misc]: Add selinux-at.
38485         * lib/selinux-at.h: New file, from coreutils.
38486         * lib/selinux-at.c: Likewise.
38487         * modules/selinux-at: Likewise.
38488         (License): Change from LGPL to GPL, since it depends
38489         on the GPL'd openat module.
38490
38491         doc: update README
38492         * README: Remove references to cogito.
38493         Remove cvs-repo-updating instructions from 2007.
38494         Don't imply that CVS is better if you have limited disk space.
38495
38496 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
38497
38498         update-copyright: support C-style comments
38499         * build-aux/update-copyright: Implement and document.
38500         * tests/test-update-copyright.sh: Test.
38501
38502 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
38503
38504         update-copyright: support omitted "(C)"
38505         * build-aux/update-copyright: Implement and document.  Also,
38506         allow variable whitespace before "(C)".
38507         * tests/test-update-copyright.sh: Test.
38508
38509 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
38510
38511         update-copyright: don't trip on non-FSF copyright statements
38512         * build-aux/update-copyright: Fix so that the first correctly
38513         formatted FSF copyright statement is recognized no matter what
38514         appears before it.  Update documentation.
38515         * tests/test-update-copyright.sh: Test that.
38516
38517 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
38518
38519         update-copyright: clean up code a little
38520         * build-aux/update-copyright: Append "_re" to the name of any
38521         variable holding a regular expression.
38522         Replace "old" and "new" with "stmt" in variable names.
38523         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
38524         handled correctly.
38525         Format code more consistently.
38526
38527 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
38528
38529         update-copyright-tests: improve portability
38530         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
38531         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
38532
38533 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
38534
38535         update-copyright: support @copyright{} and &copy;
38536         * build-aux/update-copyright: Implement and document.
38537         * tests/test-update-copyright.sh: Test.
38538
38539 2009-08-04  Jim Meyering  <meyering@redhat.com>
38540
38541         update-copyright-tests: correctly test EOL=\r\n handling
38542         * tests/test-update-copyright.sh: Put \r at the end of some lines
38543         for the dos-eol tests.  Based on a patch by Joel E. Denny.
38544
38545         maint.mk: make update-copyright exclusion list more configurable
38546         * top/maint.mk (update-copyright): Default to excluding COPYING,
38547         but allow an override, in case someone does want to update that file.
38548
38549         maint.mk: don't update copyright date in COPYING
38550         * top/maint.mk (update-copyright): Exclude COPYING.
38551
38552         maint.mk: add a copyright-updating rule
38553         * top/maint.mk (update-copyright): New rule.
38554         Derived from coreutils/Makefile.am.
38555
38556         update-copyright: rename some variables
38557         * build-aux/update-copyright: Rename a few variables for clarity.
38558         Tweak syntax.  List Joel E. Denny as coauthor.
38559
38560 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
38561
38562         update-copyright: fix bug for 2-digit last year and add tests
38563         * build-aux/update-copyright: Fix bug.
38564         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
38565         specified.
38566         * modules/update-copyright-tests: New
38567         * tests/test-update-copyright.sh: New.
38568
38569 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
38570
38571         update-copyright: handle leading tabs in line prefix
38572         * build-aux/update-copyright: Count leading tabs as 8 spaces
38573         when computing margin.  This helps with the formatting of
38574         ChangeLogs, for example.
38575         Fix documentation a little.
38576
38577 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
38578
38579         update-copyright: support EOL=\r\n
38580         * build-aux/update-copyright: Implement that.
38581
38582 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
38583
38584         update-copyright: automatically format copyright statements
38585         * build-aux/update-copyright: Implement that.
38586         Also, be a little more predictable and safer by always failing
38587         when the full copyright format is not perfectly recognized as an
38588         unbroken whole.  Discussed at
38589         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
38590         Rewrite documentation.
38591
38592 2009-08-03  Bruno Haible  <bruno@clisp.org>
38593
38594         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
38595
38596 2009-08-02  Bruno Haible  <bruno@clisp.org>
38597
38598         Tests for module 'uname'.
38599         * modules/uname-tests: New file.
38600         * tests/test-uname.c: New file.
38601
38602         New module 'uname'.
38603         * lib/uname.c: New file.
38604         * m4/uname.m4: New file.
38605         * modules/uname: New file.
38606         * doc/posix-functions/uname.texi: Mention the new module.
38607
38608 2009-08-02  Bruno Haible  <bruno@clisp.org>
38609
38610         Tests for module 'sys_utsname'.
38611         * modules/sys_utsname-tests: New file.
38612         * tests/test-sys_utsname.c: New file.
38613
38614         New module 'sys_utsname'.
38615         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
38616         * m4/sys_utsname_h.m4: New file.
38617         * modules/sys_utsname: New file.
38618         * doc/posix-headers/sys_utsname.texi: Mention the new module.
38619
38620 2009-08-02  Bruno Haible  <bruno@clisp.org>
38621
38622         Implicitly initialize the sockets library.
38623         * lib/gethostname.c: Include sockets.h.
38624         (rpl_gethostname): Invoke gl_sockets_startup.
38625         * lib/socket.c: Include sockets.h.
38626         (rpl_socket): Invoke gl_sockets_startup.
38627         * modules/gethostname (Depends-on): Add sockets.
38628         * modules/socket (Depends-on): Likewise.
38629         * tests/test-poll.c: Don't include sockets.h.
38630         (main): Don't invoke gl_sockets_startup.
38631         * tests/test-select.c: Don't include sockets.h.
38632         (main): Don't invoke gl_sockets_startup.
38633
38634 2009-08-02  Bruno Haible  <bruno@clisp.org>
38635
38636         Allow multiple calls to gl_sockets_startup.
38637         * lib/sockets.c (initialized_sockets_version): New variable.
38638         (gl_sockets_startup): Do nothing if already called for this or a higher
38639         version.
38640         (gl_sockets_cleanup): Reset initialized_sockets_version.
38641
38642 2009-08-03  Simon Josefsson  <simon@josefsson.org>
38643
38644         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
38645         different project/version.
38646
38647 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
38648             Bruno Haible  <bruno@clisp.org>
38649
38650         Tests for module 'pipe-filter-gi'.
38651         * modules/pipe-filter-gi-tests: New file.
38652         * tests/test-pipe-filter-gi1.sh: New file.
38653         * tests/test-pipe-filter-gi1.c: New file.
38654         * tests/test-pipe-filter-gi2.sh: New file.
38655         * tests/test-pipe-filter-gi2-main.c: New file.
38656         * tests/test-pipe-filter-gi2-child.c: New file.
38657
38658         New module 'pipe-filter-gi'.
38659         * lib/pipe-filter-gi.c: New file.
38660         * modules/pipe-filter-gi: New file.
38661
38662 2009-08-02  Bruno Haible  <bruno@clisp.org>
38663             Paolo Bonzini  <bonzini@gnu.org>
38664
38665         Tests for module 'pipe-filter-ii'.
38666         * modules/pipe-filter-ii-tests: New file.
38667         * tests/test-pipe-filter-ii1.sh: New file.
38668         * tests/test-pipe-filter-ii1.c: New file.
38669         * tests/test-pipe-filter-ii2.sh: New file.
38670         * tests/test-pipe-filter-ii2-main.c: New file.
38671         * tests/test-pipe-filter-ii2-child.c: New file.
38672
38673         New module 'pipe-filter-ii'.
38674         * lib/pipe-filter.h: New file.
38675         * lib/pipe-filter-ii.c: New file.
38676         * lib/pipe-filter-aux.h: New file.
38677         * modules/pipe-filter-ii: New file.
38678
38679 2009-08-02  Simon Josefsson  <simon@josefsson.org>
38680
38681         * lib/gc-libgcrypt.c: Change copyright to FSF.
38682         * lib/gc-gnulib.c: Likewise.
38683
38684 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
38685
38686         * lib/gethostname.c: Include limits.h.
38687
38688 2009-08-02  Simon Josefsson  <simon@josefsson.org>
38689             Bruno Haible  <bruno@clisp.org>
38690
38691         Ensure HOST_NAME_MAX as part of the gethostname module.
38692         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
38693         define also HOST_NAME_MAX.
38694         * tests/test-gethostname.c: Include <limits.h>.
38695         (main): Check also HOST_NAME_MAX.
38696         * doc/posix-headers/limits.texi: Document the mingw problem.
38697
38698 2009-08-02  Bruno Haible  <bruno@clisp.org>
38699
38700         * lib/gethostname.c (gethostname): Fix handling of large len argument.
38701         Add comments.
38702
38703 2009-03-31  Simon Josefsson  <simon@josefsson.org>
38704
38705         * lib/gethostname.c: Add Windows wrapper.
38706         * m4/gethostname.m4: Look for gethostname in -lws2_32.
38707         * modules/gethostname: Depend on sys_socket & errno, for also
38708         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
38709         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
38710
38711 2009-07-31  Jim Meyering  <meyering@redhat.com>
38712
38713         getloadavg: fix symbol name in comment
38714         * lib/getloadavg.c: Correct a typo I introduced when adding
38715         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
38716         Matt Kraai spotted the problem.
38717
38718 2009-07-29  Matt Kraai  <mkraai@beckman.com>
38719
38720         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
38721         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
38722         code also if ! defined N_NAME_POINTER.
38723         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
38724         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
38725         but the n_name member is a 12-byte array.
38726
38727 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
38728
38729         update-copyright: generalize comment handling
38730         * build-aux/update-copyright: Handle copyright statements
38731         within more comment styles.
38732         Document usage.
38733         Report any file with an external copyright holder or parse failure.
38734
38735 2009-07-29  Jim Meyering  <meyering@redhat.com>
38736
38737         mktime: correct setting of REPLACE_MKTIME
38738         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
38739
38740         update-copyright: new module
38741         * modules/update-copyright: New file.
38742         * build-aux/update-copyright: New file.
38743         * MODULES.html.sh (maint+release support): Add update-copyright.
38744
38745 2009-07-27  Bruno Haible  <bruno@clisp.org>
38746
38747         Fix compilation error when <ctime> is used and mktime is replaced.
38748         * lib/time.in.h (mktime): New declaration.
38749         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
38750         REPLACE_MKTIME instead of defining mktime in config.h.
38751         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
38752         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
38753         Reported by Ross McFarland <rwmcfa1@neces.com>.
38754
38755 2009-07-27  Bruno Haible  <bruno@clisp.org>
38756
38757         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
38758         Reported by Matt Kraai <mkraai@beckman.com>.
38759
38760 2009-07-25  Jim Meyering  <meyering@redhat.com>
38761
38762         maint.mk: avoid warnings about missing files
38763         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
38764         diagnostic when .prev-version does not exist.
38765         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
38766         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
38767         nonexistent cfg.mk.
38768         Suggestions from Simon Josefsson.
38769
38770 2009-07-25  Bruno Haible  <bruno@clisp.org>
38771
38772         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
38773         defined as macros. Needed on QNX 6.4.1.
38774         Reported by Matt Kraai <mkraai@beckman.com>.
38775
38776 2009-07-23  Jim Meyering  <meyering@redhat.com>
38777
38778         maint.mk: invoke "make dist" with a working value of XZ_OPT
38779         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
38780
38781 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
38782
38783         Make fseeko.c compile on QNX.
38784         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
38785
38786 2009-07-22  Peter Simons  <simons@cryp.to>
38787
38788         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
38789         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
38790         * lib/md4.h: Likewise.
38791         * lib/md5.h: Likewise.
38792         * lib/sha1.h: Likewise.
38793         * lib/sha256.h: Likewise.
38794         * lib/sha512.h: Likewise.
38795
38796         tests-sha1: don't assign literal string to 'char *' variable
38797         * tests/test-sha1.c (main): Declare locals with "const" to match
38798         attributes of the right hand side.
38799
38800 2009-07-21  Eric Blake  <ebb9@byu.net>
38801
38802         dup2: fix more mingw problems
38803         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
38804         fd to itself.
38805         * doc/posix-functions/dup2.texi (dup2): Document the bug.
38806         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
38807         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
38808         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
38809         care of mingw bugs.
38810
38811 2009-07-21  Jim Meyering  <meyering@redhat.com>
38812
38813         vc-list-files: avoid failure when /bin/sh is dash
38814         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
38815         On some Debian based systems, /bin/sh is a symlink to dash, and running
38816         this command would omit the "/" following each 'tests' prefix:
38817           dash -x build-aux/vc-list-files -C . tests
38818         That is because bash and dash work differently:
38819           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
38820           bash ok
38821           dash odd
38822
38823 2009-07-21  Eric Blake  <ebb9@byu.net>
38824
38825         dup2-tests: test previous patch
38826         * modules/dup2-tests: New file.
38827         * tests/test-dup2.c: Likewise.
38828         * tests/test-open.c (main): Avoid unspecified behavior.
38829         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
38830         test.
38831
38832         dup2: work around mingw and cygwin 1.5 bug
38833         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
38834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38835         * modules/unistd (Makefile.am): Substitute it.
38836         * lib/unistd.in.h (dup2): Declare the replacement.
38837         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
38838         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
38839         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
38840         * modules/execute (Depends-on): Add dup2.
38841         * modules/fseterr (Depends-on): Likewise.
38842         * modules/pipe (Depends-on): Likewise.
38843         * modules/posix_spawn-internal (Depends-on): Likewise.
38844
38845 2009-07-21  Bruno Haible  <bruno@clisp.org>
38846
38847         * modules/.gitattributes: New file.
38848
38849 2009-07-20  Bruno Haible  <bruno@clisp.org>
38850
38851         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
38852         (main): Use it.
38853
38854 2009-07-20  Eric Blake  <ebb9@byu.net>
38855
38856         test-pipe: make a bit more robust.
38857         * tests/test-pipe.c (myerr): Allow error messages regardless of
38858         what we do to stderr.
38859         (test_pipe): Rearrange to avoid deadlock.
38860         (child_main): Try a larger read, to ensure we avoided deadlock.
38861         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
38862         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
38863         if misused.
38864
38865 2009-07-19  Jim Meyering  <meyering@redhat.com>
38866
38867         fts: avoid false-positive cycle-detection
38868         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
38869         for each new command line argument.
38870
38871 2009-07-19  Bruno Haible  <bruno@clisp.org>
38872
38873         Fix build error on mingw with the modules sys_select and unistd.
38874         * modules/acl-tests (Depends-on): Add close.
38875         * modules/binary-io-tests (Depends-on): Likewise.
38876         * modules/closein-tests (Depends-on): Likewise.
38877         * modules/flock-tests (Depends-on): Likewise.
38878         * modules/fsync-tests (Depends-on): Likewise.
38879         * modules/lseek-tests (Depends-on): Likewise.
38880         * modules/pipe-tests (Depends-on): Likewise.
38881         * modules/posix_spawn-tests (Depends-on): Likewise.
38882         * modules/posix_spawnp-tests (Depends-on): Likewise.
38883         * modules/stat-time-tests (Depends-on): Likewise.
38884         * modules/yesno-tests (Depends-on): Likewise.
38885
38886 2009-07-19  Bruno Haible  <bruno@clisp.org>
38887
38888         Unify conditionals.
38889         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
38890         macros, not at the compiler macros.
38891         * lib/pipe.c: Likewise.
38892         * lib/execute.c: Likewise.
38893         * lib/spawni.c: Likewise.
38894
38895 2009-07-19  Bruno Haible  <bruno@clisp.org>
38896
38897         Fix handling of closed stdin/stdout/stderr on mingw.
38898         * lib/w32spawn.h: Include unistd.h.
38899         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
38900         file descriptor with O_NOINHERIT flag.
38901         (fd_safer_noinherit): New function, based on fd-safer.c.
38902         (dup_safer_noinherit): New function, based on dup-safer.c.
38903         (undup_safer_noinherit): New function.
38904         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
38905         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
38906         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
38907         instead of fd_safer.
38908         * tests/test-pipe.c: Include <windows.h>.
38909         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
38910         result.
38911
38912         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
38913         from main.
38914         (test_pipe): Pass an extra argument for disambiguation.
38915         (main): Invoke parent_main or child_main.
38916
38917         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
38918         consistently.
38919
38920 2009-07-18  Eric Blake  <ebb9@byu.net>
38921
38922         test-pipe: fix mingw build
38923         * tests/test-pipe.c (main): Avoid fcntl on mingw.
38924
38925 2009-07-18  Bruno Haible  <bruno@clisp.org>
38926
38927         * modules/pipe-tests (Makefile.am): Fix typo.
38928
38929 2009-07-18  Eric Blake  <ebb9@byu.net>
38930
38931         error: fix mingw build
38932         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
38933         Reported by Bruno Haible.
38934
38935         error: avoid undefined use of stdout
38936         * lib/error.c (error, error_at_line): Check that fd 1 is open
38937         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
38938         is handling faults and the close_stdout module wants to report the
38939         detection of closed stdout as an error.
38940
38941 2009-07-17  Eric Blake  <ebb9@byu.net>
38942
38943         pipe: be robust in face of closed fds
38944         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
38945         should cause child to misbehave.
38946         * modules/pipe-tests: New module.
38947         * tests/test-pipe.c: New file.
38948         * tests/test-pipe.sh: New file.
38949         Reported by Akim Demaille.
38950
38951 2009-07-14  Bruno Haible  <bruno@clisp.org>
38952
38953         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
38954         Reported by anonymous kc.
38955
38956 2009-07-07  Jim Meyering  <meyering@redhat.com>
38957
38958         maint.mk: don't look for translatable strings in *.m4 or *.mk
38959         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
38960         when searching for translatable strings.
38961
38962 2009-07-05  Jim Meyering  <meyering@redhat.com>
38963
38964         remove superfluous parentheses in STREQ definition
38965         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
38966         * lib/getugroups.c (STREQ): Likewise.
38967         * lib/fnmatch.c (STREQ): Likewise.
38968         Spotted by Bruno Haible.
38969
38970 2009-07-04  Jim Meyering  <meyering@redhat.com>
38971
38972         argv-iter: new module
38973         * MODULES.html.sh: Add argv-iter.
38974         * lib/argv-iter.c, lib/argv-iter.h: New files.
38975         * modules/argv-iter: New file.
38976         * modules/argv-iter-tests: New file.
38977         * tests/test-argv-iter.c: Test it.
38978
38979 2009-07-04  Bruno Haible  <bruno@clisp.org>
38980
38981         Fix assertion.
38982         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
38983         contains more exact copies of a given entry than file2, leave the extra
38984         copies unpaired rather than aborting.
38985         Reported by Eric Blake.
38986
38987 2009-07-02  Bruno Haible  <bruno@clisp.org>
38988
38989         Speedup git-merge-changelog for git cherry-pick.
38990         * lib/git-merge-changelog.c (struct entries_mapping): New type.
38991         (entries_mapping_get): New function, extracted from compute_mapping.
38992         (entries_mapping_reverse_get): New function.
38993         (compute_mapping): Add a 'full' argument. Return the result in a
38994         'struct entries_mapping'.
38995         (main): Update. Access the mappings through entries_mapping_get.
38996         Reported by Eric Blake.
38997
38998 2009-07-02  Bruno Haible  <bruno@clisp.org>
38999
39000         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
39001         best_i.
39002
39003 2009-07-02  Bruno Haible  <bruno@clisp.org>
39004
39005         Speed up approximate search for matching ChangeLog entries.
39006         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
39007         argument. Call fstrcmp_bounded instead of fstrcmp.
39008         (compute_mapping, try_split_merged_entry, main): Update callers.
39009
39010 2009-07-02  Bruno Haible  <bruno@clisp.org>
39011
39012         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
39013
39014 2009-06-30  Bruno Haible  <bruno@clisp.org>
39015
39016         Reduce the number of uc_is_cased calls.
39017         * lib/unicase.h (casing_suffix_context_t): Add
39018         'first_char_except_ignorable' field.
39019         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
39020         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
39021         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
39022         Update initializer.
39023         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
39024         case-ignorable characters.
39025         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
39026         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
39027         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
39028         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
39029         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
39030
39031 2009-06-30  Bruno Haible  <bruno@clisp.org>
39032
39033         Tests for module 'unicase/ignorable'.
39034         * modules/unicase/ignorable-tests: New file.
39035         * tests/unicase/test-ignorable.c: New file, generated by
39036         gen-uni-tables.
39037
39038         Tests for module 'unicase/cased'.
39039         * modules/unicase/cased-tests: New file.
39040         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
39041         * tests/unicase/test-predicate-part1.h: New file, derived from
39042         tests/unictype/test-predicate-part1.h.
39043         * tests/unicase/test-predicate-part2.h: New file, same as
39044         tests/unictype/test-predicate-part2.h.
39045
39046         Fix evaluation of "Before C" condition of FINAL_SIGMA.
39047         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
39048         (output_casing_properties): New function.
39049         (main): Call it.
39050         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
39051         * lib/unicase/cased.c: Include unictype/bitmap.h.
39052         (uc_is_cased): Define through a bitmap lookup.
39053         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
39054         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
39055         (uc_is_case_ignorable): Define through a bitmap lookup.
39056         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
39057         lib/unictype/bitmap.h.
39058         (Depends-on): Add inline. Clean up.
39059         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
39060         lib/unictype/bitmap.h.
39061         (Depends-on): Add inline. Clean up.
39062         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
39063         recognition.
39064         * tests/unicase/test-u16-tolower.c (main): Likewise.
39065         * tests/unicase/test-u32-tolower.c (main): Likewise.
39066
39067 2009-06-30  Bruno Haible  <bruno@clisp.org>
39068
39069         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
39070         * lib/unicase/u16-casemap.c: Likewise.
39071         * lib/unicase/u32-casemap.c: Likewise.
39072
39073 2009-06-29  Bruno Haible  <bruno@clisp.org>
39074
39075         Define u32_casefold as a wrapper around u32_ct_casefold.
39076         * lib/unicase/u32-casefold.c: Update.
39077         * modules/unicase/u32-casefold (Depends-on): Add
39078         unicase/u32-ct-casefold, unicase/empty-prefix-context,
39079         unicase/empty-suffix-context. Clean up.
39080
39081         Define u16_casefold as a wrapper around u16_ct_casefold.
39082         * lib/unicase/u16-casefold.c: Update.
39083         * modules/unicase/u16-casefold (Depends-on): Add
39084         unicase/u16-ct-casefold, unicase/empty-prefix-context,
39085         unicase/empty-suffix-context. Clean up.
39086
39087         Define u8_casefold as a wrapper around u8_ct_casefold.
39088         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
39089         * lib/unicase/u8-casefold.c: Update.
39090         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
39091         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39092
39093         Define u32_totitle as a wrapper around u32_ct_totitle.
39094         * lib/unicase/u32-totitle.c: Update.
39095         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
39096         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39097
39098         Define u16_totitle as a wrapper around u16_ct_totitle.
39099         * lib/unicase/u16-totitle.c: Update.
39100         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
39101         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39102
39103         Define u8_totitle as a wrapper around u8_ct_totitle.
39104         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
39105         functions.
39106         (FUNC): Delegate to U_CT_TOTITLE.
39107         * lib/unicase/u8-totitle.c: Update.
39108         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
39109         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
39110
39111         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
39112         invocation.
39113         * modules/unicase/u32-tolower (Depends-on): Add
39114         unicase/empty-prefix-context, unicase/empty-suffix-context.
39115
39116         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
39117         invocation.
39118         * modules/unicase/u16-tolower (Depends-on): Add
39119         unicase/empty-prefix-context, unicase/empty-suffix-context.
39120
39121         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
39122         * modules/unicase/u8-tolower (Depends-on): Add
39123         unicase/empty-prefix-context, unicase/empty-suffix-context.
39124
39125         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
39126         invocation.
39127         * modules/unicase/u32-toupper (Depends-on): Add
39128         unicase/empty-prefix-context, unicase/empty-suffix-context.
39129
39130         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
39131         invocation.
39132         * modules/unicase/u16-toupper (Depends-on): Add
39133         unicase/empty-prefix-context, unicase/empty-suffix-context.
39134
39135         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
39136         * modules/unicase/u8-toupper (Depends-on): Add
39137         unicase/empty-prefix-context, unicase/empty-suffix-context.
39138
39139         New module 'unicase/u32-ct-casefold'.
39140         * lib/unicase/u32-ct-casefold.c: New file.
39141         * modules/unicase/u32-ct-casefold: New file.
39142
39143         New module 'unicase/u16-ct-casefold'.
39144         * lib/unicase/u16-ct-casefold.c: New file.
39145         * modules/unicase/u16-ct-casefold: New file.
39146
39147         New module 'unicase/u8-ct-casefold'.
39148         * lib/unicase/u8-ct-casefold.c: New file.
39149         * lib/unicase/u-ct-casefold.h: New file, derived from
39150         lib/unicase/u-casefold.h.
39151         * modules/unicase/u8-ct-casefold: New file.
39152
39153         New module 'unicase/u32-ct-totitle'.
39154         * lib/unicase/u32-ct-totitle.c: New file.
39155         * modules/unicase/u32-ct-totitle: New file.
39156
39157         New module 'unicase/u16-ct-totitle'.
39158         * lib/unicase/u16-ct-totitle.c: New file.
39159         * modules/unicase/u16-ct-totitle: New file.
39160
39161         New module 'unicase/u8-ct-totitle'.
39162         * lib/unicase/u8-ct-totitle.c: New file.
39163         * lib/unicase/u-ct-totitle.h: New file, derived from
39164         lib/unicase/u-totitle.h.
39165         * modules/unicase/u8-ct-totitle: New file.
39166
39167         New module 'unicase/u32-ct-tolower'.
39168         * lib/unicase/u32-ct-tolower.c: New file.
39169         * modules/unicase/u32-ct-tolower: New file.
39170
39171         New module 'unicase/u16-ct-tolower'.
39172         * lib/unicase/u16-ct-tolower.c: New file.
39173         * modules/unicase/u16-ct-tolower: New file.
39174
39175         New module 'unicase/u8-ct-tolower'.
39176         * lib/unicase/u8-ct-tolower.c: New file.
39177         * modules/unicase/u8-ct-tolower: New file.
39178
39179         New module 'unicase/u32-ct-toupper'.
39180         * lib/unicase/u32-ct-toupper.c: New file.
39181         * modules/unicase/u32-ct-toupper: New file.
39182
39183         New module 'unicase/u16-ct-toupper'.
39184         * lib/unicase/u16-ct-toupper.c: New file.
39185         * modules/unicase/u16-ct-toupper: New file.
39186
39187         New module 'unicase/u8-ct-toupper'.
39188         * lib/unicase/u8-ct-toupper.c: New file.
39189         * modules/unicase/u8-ct-toupper: New file.
39190
39191         Add context arguments to u*_casemap functions.
39192         * lib/unicase/unicasemap.h: Include unicase.h.
39193         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
39194         suffix_context arguments.
39195         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
39196         functions.
39197         (FUNC): Add prefix_context and suffix_context arguments. Use
39198         uc_is_cased and uc_is_case_ignorable.
39199         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
39200         * lib/unicase/u16-casemap.c: Likewise.
39201         * lib/unicase/u32-casemap.c: Likewise.
39202         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
39203         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
39204         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
39205         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
39206         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
39207         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
39208
39209         New module 'unicase/u32-suffix-context'.
39210         * lib/unicase/u32-suffix-context.c: New file.
39211         * modules/unicase/u32-suffix-context: New file.
39212
39213         New module 'unicase/u16-suffix-context'.
39214         * lib/unicase/u16-suffix-context.c: New file.
39215         * modules/unicase/u16-suffix-context: New file.
39216
39217         New module 'unicase/u8-suffix-context'.
39218         * lib/unicase/u8-suffix-context.c: New file.
39219         * lib/unicase/u-suffix-context.h: New file.
39220         * modules/unicase/u8-suffix-context: New file.
39221
39222         New module 'unicase/empty-suffix-context'.
39223         * lib/unicase/empty-suffix-context.c: New file.
39224         * modules/unicase/empty-suffix-context: New file.
39225
39226         New module 'unicase/u32-prefix-context'.
39227         * lib/unicase/u32-prefix-context.c: New file.
39228         * modules/unicase/u32-prefix-context: New file.
39229
39230         New module 'unicase/u16-prefix-context'.
39231         * lib/unicase/u16-prefix-context.c: New file.
39232         * modules/unicase/u16-prefix-context: New file.
39233
39234         New module 'unicase/u8-prefix-context'.
39235         * lib/unicase/u8-prefix-context.c: New file.
39236         * lib/unicase/u-prefix-context.h: New file.
39237         * lib/unicase/context.h: New file.
39238         * modules/unicase/u8-prefix-context: New file.
39239
39240         New module 'unicase/empty-prefix-context'.
39241         * lib/unicase/empty-prefix-context.c: New file.
39242         * modules/unicase/empty-prefix-context: New file.
39243
39244         New module 'unicase/ignorable'.
39245         * lib/unicase/ignorable.c: New file.
39246         * modules/unicase/ignorable: New file.
39247
39248         New module 'unicase/cased'.
39249         * lib/unicase/caseprop.h: New file.
39250         * lib/unicase/cased.c: New file.
39251         * modules/unicase/cased: New file.
39252
39253         New functions for case mapping of substrings.
39254         * lib/unicase.h (casing_prefix_context_t): New type.
39255         (unicase_empty_prefix_context): New variable.
39256         (u8_casing_prefix_context, u16_casing_prefix_context,
39257         u32_casing_prefix_context, u8_casing_prefixes_context,
39258         u16_casing_prefixes_context, u32_casing_prefixes_context): New
39259         declarations.
39260         (casing_suffix_context_t): New type.
39261         (unicase_empty_suffix_context): New variable.
39262         (u8_casing_suffix_context, u16_casing_suffix_context,
39263         u32_casing_suffix_context, u8_casing_suffixes_context,
39264         u16_casing_suffixes_context, u32_casing_suffixes_context,
39265         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
39266         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
39267         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
39268         declarations.
39269
39270 2009-06-28  Jim Meyering  <meyering@redhat.com>
39271
39272         boostrap: indent only with spaces
39273         * build-aux/bootstrap: Indent only with spaces, never TABs.
39274
39275         bootstrap: split long lines
39276         * build-aux/bootstrap: Keep line length < 80.
39277
39278         bootstrap: sync from coreutils
39279         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
39280         just as autoreconf does.  Verify a list of prerequisite
39281         package-name,version-number pairs if defined in bootstrap.conf.
39282         Refer to README-prereq, if prerequisites are not satisfied.
39283
39284 2009-06-27  Eric Blake  <ebb9@byu.net>
39285
39286         tests: add test for bogus NULL definition
39287         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
39288         * tests/test-stdlib.c: Likewise.
39289         * tests/test-string.c: Likewise.
39290         * tests/test-locale.c: Likewise.
39291         * tests/test-unistd.c: Likewise.
39292         * modules/stdio-tests (Depends-on): Add verify.
39293         * modules/stdlib-tests (Depends-on): Likewise.
39294         * modules/string-tests (Depends-on): Likewise.
39295         * modules/locale-tests (Depends-on): Likewise.
39296         * modules/unistd-tests (Depends-on): Likewise.
39297
39298 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
39299
39300         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
39301         self-explaining comment.
39302         * m4/selinux-selinux-h: Update serial.
39303         (gl_LIBSELINUX): New macro, adding a warning for missing development
39304         packages to code extracted from...
39305         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
39306         Add warning for missing development packages here, too.
39307
39308 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
39309
39310         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
39311
39312 2009-06-25  Eric Blake  <ebb9@byu.net>
39313
39314         version-etc: fix regression
39315         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
39316         gcc.
39317         (version_etc): Use it, to catch bugs with trailing NULL.
39318         * lib/version-etc.c (version_etc_arn): Delete unused argument.
39319         (version_etc_va): Fix logic bug.
39320         * modules/version-etc-tests: Add test.
39321         * tests/test-version-etc.c: New file.
39322         * tests/test-version-etc.sh: Likewise.
39323
39324 2009-06-25  Sam Steingold  <sds@gnu.org>
39325
39326         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
39327         mbtowc declaration.
39328
39329 2009-06-25  Eric Blake  <ebb9@byu.net>
39330
39331         fpurge: migrate into <stdio.h>
39332         * lib/fpurge.h: Delete...
39333         * lib/stdio.in.h (fpurge): ...and declare here, instead.
39334         * lib/fpurge.c (fpurge): Change declaring header.
39335         * modules/fpurge (Files): Drop deleted file.
39336         (Depends-on): Add stdio.
39337         (configure.ac): Set witness.
39338         * modules/stdio (Makefile.am): Support fpurge macros.
39339         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39340         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
39341         * lib/fflush.c: Update client.
39342         * tests/test-fpurge.c: Likewise.
39343         * NEWS: Mention the change.
39344
39345 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39346
39347         * lib/argp-version-etc.c (program_authors): Add const
39348         qualifier.
39349         * lib/version-etc.c: Fix typos in the comments.
39350         * modules/argp-version-etc: Depends on version-etc.
39351
39352 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39353
39354         argp-version-etc: new module.
39355
39356         * lib/argp-version-etc.c: New file.
39357         * lib/argp-version-etc.h: New file.
39358         * modules/argp-version-etc: New file.
39359         * modules/argp-version-etc-tests: New file.
39360         * tests/test-argp-version-etc.c: New test.
39361         * tests/test-argp-version-etc-1.sh: New test.
39362
39363 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39364
39365         Provide additional interfaces and documentation for version-etc
39366         module.
39367
39368         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
39369         interfaces.
39370         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
39371         prototypes.
39372
39373 2009-06-24  Bruno Haible  <bruno@clisp.org>
39374
39375         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
39376         HAVE_LIB${NAME} macro.
39377         Reported by Sam Steingold <sds@gnu.org>.
39378
39379 2009-06-23  Simon Josefsson  <simon@josefsson.org>
39380
39381         * modules/hash-tests (test_hash_LDADD): Link to libintl when
39382         needed.
39383
39384 2009-06-21  Bruno Haible  <bruno@clisp.org>
39385
39386         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
39387         work.
39388         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
39389         together with LIB${NAME}, LTLIB${NAME}.
39390         Reported by Sam Steingold <sds@gnu.org>.
39391
39392 2009-06-20  Jim Meyering  <meyering@redhat.com>
39393
39394         tests: make sc_require_test_exit_idiom more generic
39395         * top/maint.mk (Exit_witness_file): New overridable variable.
39396         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
39397         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
39398
39399 2009-06-19  Jim Meyering  <meyering@redhat.com>
39400
39401         hash: reverse order of src/dst parameters in an internal interface
39402         * lib/hash.c (transfer_entries): Reverse order of parameters to
39403         put DST before SRC.  Adjust callers.
39404
39405         tests: test-hash: avoid wholesale duplication
39406         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
39407         Instead, use a loop and add a single conditional.
39408
39409         tests: test-hash: allow seed selection via a command line argument
39410         * tests/test-hash.c (get_seed): New function.
39411         (main): Use it.
39412
39413 2009-06-19  Eric Blake  <ebb9@byu.net>
39414
39415         hash: avoid memory leak on allocation failure
39416         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
39417         failure.  Factor repeated algorithm...
39418         (transfer_entries): ...into new helper routine.
39419         (hash_delete): React to hash_rehash return value.
39420
39421         hash: reduce memory pressure in hash_rehash no-op case
39422         * lib/hash.c (next_prime): Avoid overflow.
39423         (hash_initialize): Factor bucket size computation...
39424         (compute_bucket_size): ...into new helper function.
39425         (hash_rehash): Use new function and open coding to reduce memory
39426         pressure, and avoid a memory leak in USE_OBSTACK code.
39427         Reported by Jim Meyering.
39428
39429 2009-06-18  Eric Blake  <ebb9@byu.net>
39430
39431         hash: make rotation more obvious
39432         * modules/hash (Depends-on): Add bitrotate and stdint.
39433         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
39434         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
39435         (SIZE_MAX): Rely on headers for definition.
39436         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
39437         (raw_hasher): Use rotr_sz.
39438         Suggested by Jim Meyering.
39439
39440         hash: fix memory leak in last patch
39441         * lib/hash.c (hash_rehash): Avoid memory leak.
39442
39443         hash: avoid no-op rehashing
39444         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
39445
39446         hash: provide default callback functions
39447         * lib/hash.c (raw_hasher, raw_comparator): New functions.
39448         (hash_initialize): Use them as defaults.
39449         * tests/test-hash.c (main): Test this.
39450
39451         hash: minor optimization
39452         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
39453         when possible.
39454         (hash_initialize): Document this promise.
39455         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
39456         * tests/test-hash.c (hash_compare_strings): Test this.
39457
39458 2009-06-18  Bruno Haible  <bruno@clisp.org>
39459
39460         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
39461         going to be replaced anyway.
39462
39463 2009-06-18  Bruno Haible  <bruno@clisp.org>
39464
39465         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
39466         in one place.
39467         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
39468         be replaced anyway.
39469
39470 2009-06-18  Eric Blake  <ebb9@byu.net>
39471
39472         hash: check for resize before insertion
39473         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
39474         threshold before insertion, so that a pathological hash_rehash
39475         that fills every bucket can still trigger another rehash.
39476
39477 2009-06-18  Jim Meyering  <meyering@redhat.com>
39478
39479         hash-tests: add a loop around the small tests
39480         * tests/test-hash.c (main): Repeat small tests with selected
39481         small initial table sizes.
39482
39483 2009-06-17  Eric Blake  <ebb9@byu.net>
39484
39485         hash: minor cleanups
39486         * lib/hash.h (hash_entry): Make opaque, by moving...
39487         * lib/hash.c (hash_entry): ...here.
39488         (hash_insert): Clarify restrictions on what can be inserted.
39489         (hash_get_next): Clarify when it is safe to remove an element
39490         during traversal.
39491         (check_tuning): Skip verification when tuning is known safe.
39492         (hash_initialize): Clarify restrictions on tuning.
39493
39494 2009-06-17  Jim Meyering  <jim@meyering.net>
39495         and Eric Blake  <ebb9@byu.net>
39496
39497         hash-tests: new module
39498         * modules/hash-tests: New file.
39499         * tests/test-hash.c: New file.
39500
39501 2009-06-17  Eric Blake  <ebb9@byu.net>
39502
39503         strstr-simple: document new module
39504         * MODULES.html.sh: Document new module.
39505
39506         strstr, strcasestr: replace on platforms with broken memchr
39507         * modules/strstr: Split into...
39508         * modules/strstr-simple: ...new module that does not care about
39509         performance, but does care about glibc bug.
39510         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
39511         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
39512         if platform memchr is broken, per Debian bug 521737.
39513         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
39514         memchr.
39515         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
39516         * doc/posix-functions/strstr.texi (strstr): Document the fix.
39517         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
39518         * modules/mountlist (Depends-on): Add strstr-simple.
39519         * modules/gen-uni-tables (Depends-on): Likewise.
39520         * modules/argz (Depends-on): Add strstr.
39521
39522 2009-06-17  Bruno Haible  <bruno@clisp.org>
39523
39524         * modules/posix_spawn-internal (Depends-on): Add errno.
39525
39526 2009-06-17  Bruno Haible  <bruno@clisp.org>
39527
39528         Define missing ESTALE on Interix 3.5.
39529         * lib/errno.in.h (ESTALE): Assign a value if missing.
39530         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
39531         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
39532         missing.
39533         * doc/posix-headers/errno.texi: Mention the Interix bug.
39534         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
39535
39536 2009-06-15  Eric Blake  <ebb9@byu.net>
39537
39538         memchr, memchr2: add valgrind exception
39539         * lib/memchr.valgrind: New file.
39540         * lib/memchr2.valgrind: New file.
39541         * modules/memchr (Files): Distribute valgrind file.
39542         * modules/memchr2 (Files): Likewise.
39543
39544         docs: memchr is no longer obsolete
39545         * MODULES.html.sh: Move memchr from obsolete to string.h section.
39546         * lib/string.in.h (memchr): Simplify logic.
39547
39548 2009-06-14  Jim Meyering  <meyering@redhat.com>
39549
39550         link-follow: fix the "checking..." message to not mention trailing slash
39551         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
39552         never considered trailing slashes.
39553
39554 2009-06-14  Bruno Haible  <bruno@clisp.org>
39555
39556         * m4/memchr.m4: Mention also the bug on IA-64.
39557         * doc/posix-functions/memchr.texi: Likewise.
39558
39559 2009-06-12  Eric Blake  <ebb9@byu.net>
39560
39561         memchr: detect broken x86_64 and alpha implementations
39562         * modules/memchr-tests (Depends-on): Move mmap detection...
39563         * modules/memchr (Depends-on): ...here.
39564         (configure.ac): Set indicator.
39565         * lib/string.in.h (memchr): Declare replacement.
39566         * modules/string (Makefile.am): Trigger replacement.
39567         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
39568         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
39569         bugs.
39570         * doc/posix-functions/memchr.texi (memchr): Document the bug.
39571         * modules/getpagesize (License): Relax license.
39572
39573 2009-06-11  Bruno Haible  <bruno@clisp.org>
39574
39575         * lib/idpriv.h: Add more references.
39576
39577 2009-06-08  Bruno Haible  <bruno@clisp.org>
39578
39579         Tests for module 'idpriv-droptemp'.
39580         * modules/idpriv-droptemp-tests: New file.
39581         * tests/test-idpriv-droptemp.sh: New file.
39582         * tests/test-idpriv-droptemp.su.sh: New file.
39583         * tests/test-idpriv-droptemp.c: New file.
39584
39585         New module 'idpriv-droptemp'.
39586         * lib/idpriv-droptemp.c: New file.
39587         * modules/idpriv-droptemp: New file.
39588
39589 2009-06-08  Bruno Haible  <bruno@clisp.org>
39590
39591         Tests for module 'idpriv-drop'.
39592         * modules/idpriv-drop-tests: New file.
39593         * tests/test-idpriv-drop.sh: New file.
39594         * tests/test-idpriv-drop.su.sh: New file.
39595         * tests/test-idpriv-drop.c: New file.
39596
39597         New module 'idpriv-drop'.
39598         * lib/idpriv.h: New file.
39599         * lib-idpriv-drop.c: New file.
39600         * m4/idpriv.m4: New file.
39601         * modules/idpriv-drop: New file.
39602
39603 2009-06-08  Bruno Haible  <bruno@clisp.org>
39604
39605         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
39606         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
39607         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
39608         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
39609         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
39610         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
39611         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
39612
39613 2009-06-08  Eric Blake  <ebb9@byu.net>
39614
39615         test-strstr: use memory fence, when possible
39616         * tests/test-strstr.c (main): Use memory fence, in order to be
39617         more likely to trigger Debian bug 521737.
39618         * modules/strstr-tests (Files): Pull in additional files.
39619
39620         memchr: no longer obsolete, for wider field testing
39621         * modules/memchr (Status, Notice): Delete, this module is no
39622         longer obsolete.
39623         * modules/vasnprintf (Depends-on): Add memchr.
39624
39625 2009-06-07  Jim Meyering  <meyering@redhat.com>
39626
39627         hash: declare some functions with the warn_unused_result attribute
39628         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
39629
39630 2009-06-07  Bruno Haible  <bruno@clisp.org>
39631
39632         * tests/test-alignof.c: Don't test int64_t if it does not exist.
39633         Reported by Eric Blake.
39634
39635 2009-06-06  Eric Blake  <ebb9@byu.net>
39636
39637         test-alignof: fix typo with long double
39638         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
39639         compiler error.
39640
39641 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
39642
39643         Escape non-texinfo { and }s.
39644         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
39645         markup error.
39646
39647 2009-06-04  Jim Meyering  <meyering@redhat.com>
39648
39649         gitlog-to-changelog: don't infloop on an empty commit log
39650         * build-aux/gitlog-to-changelog: Warn about an empty log message.
39651         Reported by Boris Petersen <transacid@centerim.org>.
39652
39653 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
39654
39655         version-etc: extend for packagers
39656         Add three new configure options, intended for packagers:
39657           --with-packager="packager name"
39658           --with-packager-version="packager-specific version"
39659           --with-packager-bug-reports="packager bug reporting"
39660         An example with coreutils:
39661           $ ./configure \
39662             --with-packager=Gentoo \
39663             --with-packager-bug-report=http://bugs.gentoo.org/ \
39664             --with-packager-version="patchset 1.6"
39665           $ ./src/ls --version | head -n2
39666           ls (GNU coreutils) 7.1-dirty
39667           Packaged by Gentoo (patchset 1.6)
39668         Note that the bug reporting info via --help doesn't show up because
39669         coreutils uses its own custom emit_bug_reporting_address() implementation
39670         in src/system.h.  If it didn't, it'd look like:
39671           $ ./src/ls --help | tail -n4
39672           Report bugs to <bug-coreutils@gnu.org>.
39673           Report Gentoo bugs to <http://bugs.gentoo.org/>.
39674           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
39675           General help using GNU software: <http://www.gnu.org/gethelp/>.
39676         * lib/version-etc.c: Print new information, if provided.
39677         * m4/version-etc.m4: New file.
39678         * modules/version-etc (Files): Add m4/version-etc.m4.
39679         (configure.ac): Add gl_VERSION_ETC.
39680
39681 2009-05-31  Bruno Haible  <bruno@clisp.org>
39682
39683         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
39684         and 'int64_t'.
39685         * modules/alignof-tests (Dependencies): Add stdint.
39686         Reported by Eric Blake.
39687
39688 2009-05-31  Bruno Haible  <bruno@clisp.org>
39689
39690         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
39691         restriction due to compiler bugs.
39692         Reported by Eric Blake.
39693
39694 2009-05-31  Simon Josefsson  <simon@josefsson.org>
39695             Bruno Haible  <bruno@clisp.org>
39696
39697         Fix test-alignof failure.
39698         * lib/alignof.h (alignof_slot): New macro.
39699         (alignof_type): New macro, with the same semantics as the previous
39700         'alignof'.
39701         (alignof): Alias to alignof_slot.
39702         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
39703         check that the results are usable as constant expressions.
39704
39705 2009-05-31  Bruno Haible  <bruno@clisp.org>
39706
39707         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
39708         * tests/test-memchr.c (main): Check that memchr does not read past the
39709         first occurrence of the byte.
39710         * tests/test-strstr.c (main): Update comment.
39711         Suggested by Eric Blake.
39712
39713 2009-05-30  Bruno Haible  <bruno@clisp.org>
39714
39715         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
39716         detail how to use dumpbin.
39717         Reported by David Byron <dbyron@dbyron.com>.
39718
39719 2009-06-02  Simon Josefsson  <simon@josefsson.org>
39720
39721         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
39722
39723 2009-06-02  Simon Josefsson  <simon@josefsson.org>
39724
39725         * m4/manywarnings.m4: Add GCC 4.4 warnings.
39726
39727 2009-05-28  Bruno Haible  <bruno@clisp.org>
39728
39729         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
39730         build-aux/ files.
39731
39732 2009-05-28  Simon Josefsson  <simon@josefsson.org>
39733
39734         * gnulib-tool (func_import): Transform license on build-aux/ files too.
39735
39736 2009-05-27  Simon Josefsson  <simon@josefsson.org>
39737
39738         * gnulib-tool (sed_transform_main_lib_file)
39739         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
39740         regexps.
39741
39742 2009-05-26  Simon Josefsson  <simon@josefsson.org>
39743
39744         * tests/test-strstr.c: Add another self-test.
39745         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
39746         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
39747
39748 2009-05-23  Bruno Haible  <bruno@clisp.org>
39749
39750         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
39751         change.
39752
39753 2009-05-21  Bruno Haible  <bruno@clisp.org>
39754
39755         Simplify use of mode_t varargs.
39756         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
39757         uses 'mode_t' or 'int'.
39758         * lib/openat.c (openat): Likewise.
39759         * lib/open-safer.c (open_safer): Likewise.
39760         * m4/mode_t.m4: New file.
39761         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
39762         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
39763         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
39764         * modules/open (Files): Add m4/mode_t.m4.
39765         * modules/openat (Files): Likewise.
39766         * modules/fcntl-safer (Files): Likewise.
39767         Suggested by Eric Blake.
39768
39769 2009-05-21  Pádraig Brady  <P@draigbrady.com>
39770
39771         * doc/glibc-functions/fallocate.texi: New file.
39772         * doc/gnulib.texi: Include it.
39773
39774 2009-05-21  Eric Blake  <ebb9@byu.net>
39775             Bruno Haible  <bruno@clisp.org>
39776
39777         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
39778         invocations.
39779         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
39780
39781 2009-05-21  Eric Blake  <ebb9@byu.net>
39782             Bruno Haible  <bruno@clisp.org>
39783
39784         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
39785         include_next. Fix of 2008-11-20 commit.
39786         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
39787         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
39788         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
39789         NEXT_MATH_H.
39790         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
39791         instead of NEXT_MATH_H.
39792
39793 2009-05-21  Bruno Haible  <bruno@clisp.org>
39794
39795         Avoid redefinition warnings for SIZE_MAX.
39796         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
39797         Reported by Simon Josefsson.
39798
39799 2009-05-21  Bruno Haible  <bruno@clisp.org>
39800
39801         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
39802         AC_CACHE_VAL.
39803
39804 2009-05-20  Bruno Haible  <bruno@clisp.org>
39805
39806         Make zeroptr.h work on mingw.
39807         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
39808         mprotect.
39809         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
39810         * modules/memchr2-tests (configure.ac): Likewise.
39811         * modules/memcmp-tests (configure.ac): Likewise.
39812         * modules/memmem-tests (configure.ac): Likewise.
39813         * modules/memrchr-tests (configure.ac): Likewise.
39814         Reported by Simon Josefsson.
39815
39816 2009-05-20  Simon Josefsson  <simon@josefsson.org>
39817
39818         * tests/test-glob.c: Include string.h for strcmp prototype.
39819
39820 2009-05-20  Simon Josefsson  <simon@josefsson.org>
39821
39822         * modules/getdelim (Depends-on): Add explicit stdint, although it
39823         was implicitly already pulled in via realloc-posix.
39824         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
39825
39826 2009-05-20  Simon Josefsson  <simon@josefsson.org>
39827
39828         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
39829         G. Christensen" <tgc@jupiterrise.com>.
39830         * m4/sys_socket_h.m4: Check for sa_family_t.
39831         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
39832         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
39833         * tests/test-sys_socket.c: Check that sa_family_t works.
39834
39835 2009-05-18  Eric Blake  <ebb9@byu.net>
39836
39837         maint.mk: allow gnulib_dir in VPATH build
39838         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
39839
39840 2009-05-15  Jim Meyering  <meyering@redhat.com>
39841
39842         maint.mk: Give gnulib_dir a default definition.
39843         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
39844         Thus, most packages no longer need to specify this variable in cfg.mk
39845
39846 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
39847
39848         rename.m4: fix typos that would make non-mingw cross-configure fail
39849         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
39850
39851 2009-05-13  Eric Blake  <ebb9@byu.net>
39852
39853         mmap-anon: avoid out-of-order autoconf expansion
39854         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
39855         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
39856         * modules/memchr-tests (Depends-on): Add extensions.
39857         * modules/memchr2-tests (Depends-on): Add extensions.
39858         * modules/memcmp-tests (Depends-on): Add extensions.
39859         * modules/memmem-tests (Depends-on): Add extensions.
39860         * modules/memrchr-tests (Depends-on): Add extensions.
39861
39862 2009-05-13  Bruno Haible  <bruno@clisp.org>
39863
39864         Make some tests ISO C 99 compliant.
39865         * tests/zerosize-ptr.h: New file.
39866         * tests/test-memchr.c: Include zerosize-ptr.h.
39867         (main): Use a zero-size object pointer instead of NULL.
39868         * tests/test-memchr2.c: Include zerosize-ptr.h.
39869         (main): Use a zero-size object pointer instead of NULL.
39870         * tests/test-memcmp.c: Include zerosize-ptr.h.
39871         (main): Use a zero-size object pointer instead of NULL.
39872         * tests/test-memmem.c: Include zerosize-ptr.h.
39873         (main): Use a zero-size object pointer instead of NULL.
39874         * tests/test-memrchr.c: Include zerosize-ptr.h.
39875         (main): Use a zero-size object pointer instead of NULL.
39876         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
39877         m4/mmap-anon.m4.
39878         (Depends-on): Add getpagesize.
39879         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
39880         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
39881         m4/mmap-anon.m4.
39882         (Depends-on): Add getpagesize.
39883         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
39884         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
39885         m4/mmap-anon.m4.
39886         (Depends-on): Add getpagesize.
39887         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
39888         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
39889         m4/mmap-anon.m4.
39890         (Depends-on): Add getpagesize.
39891         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
39892         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
39893         m4/mmap-anon.m4.
39894         (Depends-on): Add getpagesize.
39895         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
39896
39897 2009-05-12  Bruno Haible  <bruno@clisp.org>
39898
39899         Tests for module 'alignof'.
39900         * modules/alignof-tests: New file.
39901         * tests/test-alignof.c: New file.
39902
39903 2009-05-12  Bruno Haible  <bruno@clisp.org>
39904
39905         Fix alignof macro.
39906         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
39907         vendor compilers that are always correct.
39908
39909 2009-05-12  Bruno Haible  <bruno@clisp.org>
39910
39911         Make the MAP_ANONYMOUS detection work on HP-UX 11.
39912         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
39913         not whether its fully works.
39914
39915 2009-05-12  Bruno Haible  <bruno@clisp.org>
39916
39917         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
39918
39919 2009-05-12  Jim Meyering  <meyering@redhat.com>
39920
39921         * top/maint.mk: Adjust backslash alignment.
39922
39923 2009-05-11  Simon Josefsson  <simon@josefsson.org>
39924
39925         * top/maint.mk: Make $(srcdir)/build-aux configurable.
39926
39927 2009-05-11  Eric Blake  <ebb9@byu.net>
39928
39929         argp: avoid undefined behavior
39930         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
39931         macros.
39932
39933 2009-05-08  Simon Josefsson  <simon@josefsson.org>
39934
39935         * tests/test-vc-list-files-git.sh: Do git config of user.email and
39936         user.name to prevent git commit from complaining.
39937
39938 2009-05-10  Bruno Haible  <bruno@clisp.org>
39939
39940         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
39941         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
39942         it rewrites every file name only once.
39943         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
39944
39945 2009-05-08  Bruno Haible  <bruno@clisp.org>
39946
39947         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
39948         instead of 'max'.
39949
39950 2009-05-08  Simon Josefsson  <simon@josefsson.org>
39951
39952         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
39953         sockaddr_storage test.
39954
39955 2009-05-07  Simon Josefsson  <simon@josefsson.org>
39956
39957         * modules/sys_socket (Makefile.am): Substitute
39958         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
39959         * m4/sys_socket_h.m4: Check for sockaddr_storage.
39960         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
39961         * tests/test-sys_socket.c: Check sockaddr_storage.
39962
39963 2009-05-08  Bruno Haible  <bruno@clisp.org>
39964
39965         New module 'alignof'.
39966         * lib/alignof.h: New file.
39967         * modules/alignof: New file.
39968
39969 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
39970             Bruno Haible  <bruno@clisp.org>
39971
39972         Fix test-file-has-acl on FreeBSD.
39973         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
39974         mask is implicitly added.
39975         * tests/test-file-has-acl.c: Include <signal.h>.
39976         (main): Terminate the test after 5 seconds.
39977         * modules/acl-tests (configure.ac): Check for alarm function.
39978
39979 2009-05-04  Bruno Haible  <bruno@clisp.org>
39980
39981         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
39982         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
39983         * modules/errno (configure.ac): Drop AC_REQUIRE.
39984         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
39985         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
39986
39987 2009-05-04  Simon Josefsson  <simon@josefsson.org>
39988
39989         * modules/glob-tests: New module.
39990         * tests/test-glob.c: Add.
39991
39992 2009-05-04  Simon Josefsson  <simon@josefsson.org>
39993
39994         * modules/fnmatch-tests: New module.
39995         * tests/test-fnmatch.c: Add.
39996
39997 2009-05-04  Eric Blake  <ebb9@byu.net>
39998
39999         maint: make the new no-submodule-changes rule VPATH-safe
40000         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
40001
40002 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40003             Bruno Haible  <bruno@clisp.org>
40004
40005         acl: Fix infinite loop on FreeBSD.
40006         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
40007         of return value from acl_get_entry.
40008         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
40009         Likewise.
40010
40011 2009-05-03  Bruno Haible  <bruno@clisp.org>
40012
40013         * lib/acl-internal.h (acl_entries): Clarify return value.
40014         * lib/acl_entries.c (acl_entries): Likewise.
40015
40016 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40017
40018         Bug fix in acl module.
40019         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
40020
40021 2009-05-03  Bruno Haible  <bruno@clisp.org>
40022
40023         Create gperf-generated file in the source dir, not in the build dir.
40024         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
40025         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
40026         * modules/unicase/locale-language (unicase/locale-languages.h):
40027         Likewise.
40028         * modules/unicase/special-casing (unicase/special-casing-table.h):
40029         Likewise.
40030         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
40031         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
40032         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
40033         Reported by Ralf Wildenhues.
40034
40035 2009-05-03  Bruno Haible  <bruno@clisp.org>
40036
40037         * modules/fnmatch (Description, configure.ac): Taken from
40038         fnmatch-posix.
40039         * modules/fnmatch-posix: Turn into a symbolic reference to the
40040         'fnmatch' module, and deprecate.
40041         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
40042
40043 2009-05-03  Bruno Haible  <bruno@clisp.org>
40044
40045         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
40046         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
40047         Reported by Ralf Wildenhues.
40048
40049 2009-05-04  Simon Josefsson  <simon@josefsson.org>
40050
40051         * m4/fnmatch.m4: Fix fnmatch re-define.
40052
40053 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
40054
40055         priv-set: new module and tests; adapt write-any-file
40056         * lib/priv-set.c: New file.
40057         * lib/priv-set.h: New file.
40058         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
40059         * lib/write-any-file.c: Simplify by using priv-set module.
40060         * m4/priv-set.m4: New file.
40061         * modules/priv-set: New file.
40062         * modules/unlinkdir: Add dependency on priv-set module.
40063         * modules/write-any-file: Likewise.
40064
40065         Tests for module 'priv-set'.
40066         * modules/priv-set-tests: New file.
40067         * tests/test-priv-set.c: New file.
40068
40069 2009-05-03  Jim Meyering  <meyering@redhat.com>
40070             Bruno Haible  <bruno@clisp.org>
40071
40072         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
40073         use the converted UTF-8 variant of the name instead.
40074
40075 2009-05-03  Jim Meyering  <meyering@redhat.com>
40076
40077         tests: tighten some getdate tests
40078         * tests/test-getdate.c (main): Tighten tests: require equality,
40079         not just greater than.  Set TZ envvar to UTC0.
40080
40081 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
40082
40083         getdate: correctly interpret "next monday" when run on a Monday
40084         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
40085         that e.g., "next tues" (when run on a tuesday) results in a date
40086         that is one week in the future, and not today's date.
40087         I.e., add a week when the wday is the same as the current one.
40088         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
40089         and earlier by Martin Bernreuther and Jan Minář.
40090         * tests/test-getdate.c (main): Check that "next DAY" is always in
40091         the future and that "last DAY" is always in the past.
40092
40093 2009-05-02  Jim Meyering  <meyering@redhat.com>
40094
40095         build: ensure that a release build fails when a submodule is unclean
40096         * top/maint.mk (no-submodule-changes): New rule.
40097         (alpha beta major): Depend on it.
40098
40099 2009-05-02  Bruno Haible  <bruno@clisp.org>
40100
40101         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
40102         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
40103         shell variable gl_fnmatch_required to detect which variant is
40104         requested.
40105         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
40106         gl_FUNC_FNMATCH_POSIX.
40107         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
40108         exclude fnmatch-posix.
40109
40110 2009-05-02  Bruno Haible  <bruno@clisp.org>
40111
40112         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
40113         * modules/mbsrtowcs (License): Change to LGPLv2+.
40114         * modules/strnlen1 (License): Likewise.
40115         Reported by Simon Josefsson.
40116
40117 2009-05-02  Bruno Haible  <bruno@clisp.org>
40118
40119         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
40120         "cross".
40121         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
40122         gnulib-tool was called with option --source-base=lib.
40123
40124 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40125
40126         Use automake *-local hooks without commands, for extensibility.
40127         * modules/localcharset (Makefile.am): Rename install-exec-local
40128         rule to install-exec-localcharset, and make it a prerequisite of
40129         install-exec-local.  Likewise, rename the uninstall-local rule to
40130         uninstall-localcharset, and make it a prerequisite of the former.
40131
40132 2009-05-01  Bruno Haible  <bruno@clisp.org>
40133
40134         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
40135         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
40136         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
40137         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
40138         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
40139         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
40140         m4/locale-zh.m4, m4/codeset.m4.
40141
40142         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
40143         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
40144         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
40145         m4/locale-zh.m4.
40146
40147         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
40148         REPLACE_WCRTOMB if mbstate_t must be replaced.
40149         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
40150         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
40151
40152 2009-05-01  Bruno Haible  <bruno@clisp.org>
40153
40154         Avoid compiler warnings when redefining macros defined by <libintl.h>.
40155         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
40156         dngettext, dcngettext, textdomain, bindtextdomain,
40157         bind_textdomain_codeset): Undefine before redefining.
40158
40159 2009-04-30  Bruno Haible  <bruno@clisp.org>
40160
40161         Fix bug introduced on 2009-04-25.
40162         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
40163         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
40164         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
40165         is defined.
40166         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
40167         is defined.
40168         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
40169         is defined.
40170         Reported by Elbert_Pol <elbert.pol@gmail.com>.
40171
40172 2009-04-28  Bruno Haible  <bruno@clisp.org>
40173
40174         Comment tweaks.
40175         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
40176         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
40177         * lib/unicase.h (u*_casexfrm): Likewise.
40178         Reported by Paolo Bonzini.
40179
40180 2009-04-28  Bruno Haible  <bruno@clisp.org>
40181
40182         Fix a compilation error.
40183         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
40184         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
40185         Reported by Jim Meyering.
40186
40187 2009-04-27  Bruno Haible  <bruno@clisp.org>
40188
40189         New module 'libunistring'.
40190         * modules/libunistring: New file.
40191         * m4/libunistring.m4: New file.
40192         * MODULES.html.sh (Unicode string functions): Add it.
40193
40194 2009-04-27  Eric Blake  <ebb9@byu.net>
40195
40196         maint.mk: allow package-specific header to provide <config.h>
40197         * top/maint.mk (sc_require_config_h): New variable.
40198         (sc_require_config_h, sc_require_config_h_first): Use it.
40199
40200 2009-04-27  Simon Josefsson  <simon@josefsson.org>
40201
40202         * top/maint.mk (sc_avoid_if_before_free): Except
40203         useless-if-before-free script.
40204
40205 2009-04-27  Eric Blake  <ebb9@byu.net>
40206
40207         maintainer-makefile: depend on all required helper scripts
40208         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
40209         useless-if-before-free.
40210         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
40211         version, rather than assuming gnulib checkout is available.
40212         Reported by Simen Josefsson.
40213
40214 2009-04-26  Bruno Haible  <bruno@clisp.org>
40215
40216         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
40217         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
40218         "../" or "..".
40219
40220 2009-04-26  Bruno Haible  <bruno@clisp.org>
40221
40222         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
40223         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
40224         AC_LIB_HAVE_LINKFLAGS.
40225
40226 2009-04-26  Bruno Haible  <bruno@clisp.org>
40227
40228         Simplify calling convention of u*_conv_from_encoding.
40229         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
40230         u32_conv_from_encoding): Expect a resultbuf argument and return the
40231         result directly as a pointer.
40232         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
40233         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
40234         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
40235         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
40236         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
40237         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
40238         Update.
40239         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
40240         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
40241         * lib/vasnprintf.c (VASNPRINTF): Update.
40242         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
40243         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
40244         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
40245         * NEWS: Mention the change.
40246
40247 2009-04-26  Bruno Haible  <bruno@clisp.org>
40248
40249         Simplify calling convention of u*_conv_to_encoding.
40250         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
40251         u32_conv_to_encoding): Expect a resultbuf argument and return the
40252         result directly as a pointer.
40253         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
40254         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
40255         freeing scaled_offsets if mem_iconveha failed.
40256         * lib/unicase/u-casexfrm.h (FUNC): Update.
40257         * lib/uninorm/u-normxfrm.h (FUNC): Update.
40258         * lib/vasnprintf.c (VASNPRINTF): Update.
40259         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
40260         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
40261         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
40262         * NEWS: Mention the change.
40263
40264 2009-04-26  Bruno Haible  <bruno@clisp.org>
40265
40266         Avoid test failures on AIX and OSF/1.
40267         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
40268         malloc(0).
40269         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
40270         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
40271         Likewise.
40272         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
40273         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
40274         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
40275         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
40276         * doc/posix-functions/malloc.texi: Document the portability problem
40277         related to malloc(0).
40278
40279 2009-04-26  Bruno Haible  <bruno@clisp.org>
40280
40281         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
40282         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
40283         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
40284
40285 2009-04-25  Bruno Haible  <bruno@clisp.org>
40286
40287         Avoid link error when creating a namespace clean library.
40288         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
40289         as macro with arguments if already defined as an alias.
40290         * lib/signbitf.c (gl_signbitf): Don't undefine.
40291         * lib/signbitd.c (gl_signbitd): Don't undefine.
40292         * lib/signbitl.c (gl_signbitl): Don't undefine.
40293
40294 2009-04-25  Jim Meyering  <meyering@redhat.com>
40295
40296         vc-list-files: fix another quoting bug
40297         * build-aux/vc-list-files: Avoid sed backslash expansion
40298         of pathological directory names.
40299
40300 2009-04-25  Eric Blake  <ebb9@byu.net>
40301
40302         vc-list-files: fix shell quoting error
40303         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
40304         timestamp.
40305
40306 2009-04-25  Jim Meyering  <meyering@redhat.com>
40307
40308         vc-list-files: restore lost functionality with subdir argument
40309         * build-aux/vc-list-files: When given a non-"." sub-directory
40310         argument, substitute the $dir/ prefix back onto each resulting name.
40311         Otherwise, coreutils' root_tests check would fail.
40312
40313 2009-04-24  Eric Blake  <ebb9@byu.net>
40314
40315         vc-list-files: ignore git symlinks
40316         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
40317         than ls-files, to ignore git symlinks.
40318
40319         maint.mk: import improvements from m4
40320         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
40321         (move_if_change): Delete unused macro.
40322         (news-date-check, vc-diff-check): Support VPATH builds.
40323         (announcement): Likewise.  Split --bootstrap-tools list...
40324         (boostrap-tools): ...into separate list, which can be overridden
40325         in cfg.mk.
40326         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
40327         requiring dependency on useless-if-before-free module.
40328         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
40329         Support VPATH builds.
40330
40331 2009-04-24  Jim Meyering  <meyering@redhat.com>
40332
40333         maint.mk: remove coreutils-specific rules and variables
40334         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
40335         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
40336         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
40337
40338         maint.mk: remove obsolete rule
40339         * top/maint.mk (rel-check): Remove rule.
40340         (WGET, WGETFLAGS): Remove now-unused variables.
40341
40342 2009-04-24  Simon Josefsson  <simon@josefsson.org>
40343
40344         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
40345         consistency.
40346
40347         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
40348         '$(PATH_SEPARATOR)' instead of ':'.
40349
40350 2009-04-24  Simon Josefsson  <simon@josefsson.org>
40351
40352         * lib/getopt1.c (main): Use 'const' for static array.
40353
40354 2009-04-24  Simon Josefsson  <simon@josefsson.org>
40355
40356         * top/maint.mk: Sync with coreutils.
40357         * NEWS: Explain incompatibilities.
40358
40359 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40360             Bruno Haible  <bruno@clisp.org>
40361
40362         Fix cross-compilation results.
40363         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
40364         statement, as third argument of AC_TRY_RUN.
40365         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
40366         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
40367         Likewise.
40368         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
40369         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
40370         Likewise.
40371         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
40372         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
40373         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
40374
40375 2009-04-20  Bruno Haible  <bruno@clisp.org>
40376
40377         Avoid test failure on mingw.
40378         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
40379
40380 2009-04-20  Bruno Haible  <bruno@clisp.org>
40381
40382         Avoid compilation error on mingw.
40383         * modules/localename-tests (Depends-on): Add locale.
40384
40385 2009-04-19  Bruno Haible  <bruno@clisp.org>
40386
40387         Support for building a shared library on Windows platforms.
40388         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
40389         (main): Test the presence of UNINORM_NFC here.
40390         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
40391         (main): Test the presence of UNINORM_NFD here.
40392         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
40393         (main): Test the presence of UNINORM_NFKC here.
40394         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
40395         (main): Test the presence of UNINORM_NFKD here.
40396
40397 2009-04-19  Bruno Haible  <bruno@clisp.org>
40398
40399         Avoid a compiler warning.
40400         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
40401         Change type of variable 'sequence'.
40402
40403 2009-04-19  Bruno Haible  <bruno@clisp.org>
40404
40405         * modules/configmake (Makefile.am): When the contents of configmake.h
40406         does not change, arrange to preserve its modification time.
40407
40408 2009-04-17  Simon Josefsson  <simon@josefsson.org>
40409
40410         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
40411         gettext domain.
40412
40413 2009-04-16  Jim Meyering  <meyering@redhat.com>
40414
40415         useless-if-before-free: improve conversion code
40416         * build-aux/useless-if-before-free: Adjust code-in-comment to match
40417         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
40418
40419 2009-04-14  Bruno Haible  <bruno@clisp.org>
40420
40421         * modules/fcntl (Depends-on): Add extensions.
40422         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
40423
40424 2009-04-12  Ben Pfaff  <blp@gnu.org>
40425
40426         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
40427         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
40428
40429 2009-03-20  Ben Pfaff  <blp@gnu.org>
40430
40431         Make rename replace existing destinations on Windows.
40432         * m4/rename.m4: Add test for Mingw.
40433         * lib/rename.c: Add rename replacement that uses MoveFileEx with
40434         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
40435         * doc/posix-functions/rename.texi: Document.
40436
40437 2009-04-10  Bruno Haible  <bruno@clisp.org>
40438
40439         New include file "iconveh.h".
40440         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
40441         * lib/striconveh.h: Include it.
40442         (enum iconv_ilseq_handler): Remove definition.
40443         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
40444         striconveh.h.
40445         * lib/striconveha.c: Include striconveh.h.
40446         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
40447         * modules/striconveh (Files): Add lib/iconveh.h.
40448         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
40449         lib/striconveh.h.
40450
40451 2009-04-10  Bruno Haible  <bruno@clisp.org>
40452
40453         * lib/uniconv.h: Update comment.
40454
40455 2009-04-10  Bruno Haible  <bruno@clisp.org>
40456
40457         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
40458         always.
40459         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
40460         * lib/unistr/u16-mbtouc-aux.c: Likewise.
40461         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
40462         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
40463         "unistring-notinline.h", so that the function gets defined always.
40464         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
40465         * lib/unistr/u8-uctomb.c: Likewise.
40466         * lib/unistr/u16-mbtouc.c: Likewise.
40467         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
40468         * lib/unistr/u16-uctomb.c: Likewise.
40469         * lib/unistr/u32-mbtouc.c: Likewise.
40470         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
40471         * lib/unistr/u32-uctomb.c: Likewise.
40472
40473 2009-04-10  Bruno Haible  <bruno@clisp.org>
40474
40475         Mark 'utime' obsolete.
40476         * modules/utime (Status, Notice): New sections.
40477         Suggested by Jim Meyering.
40478
40479         Fix cross-compile guess for utime test.
40480         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
40481         autoconf.
40482         * doc/posix-functions/utime.texi: Give more precisions.
40483         Reported by Jan <ipif@ymail.com>.
40484
40485 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
40486
40487         filevercmp: correct today's change
40488         * lib/filevercmp.c: Also handle coreutils' test inputs.
40489         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
40490
40491         Fix regression in 'filevercmp' module. Thanks Sven Joachim
40492         for reporting it.
40493         * lib/filevercmp.c: Special handle for "", "." and "..".
40494         * tests/test-filevercmp.c: Enlarge the set suite.
40495
40496 2009-04-07  Jim Meyering  <meyering@redhat.com>
40497
40498         useless-if-before-free: show how to remove braced useless free, too
40499         * build-aux/useless-if-before-free: still only in a comment, though.
40500
40501 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
40502
40503         maint.mk: import changes to syntax-check macros from coreutils
40504         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
40505         Use them in the relevant macros.
40506
40507 2009-04-06  Bruno Haible  <bruno@clisp.org>
40508
40509         Fix unportable use of bit-fields.
40510         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
40511         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
40512         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
40513
40514 2009-04-06  Bruno Haible  <bruno@clisp.org>
40515
40516         Avoid test failures on AIX and OSF/1.
40517         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
40518         that malloc(0) = NULL.
40519         * tests/unicase/test-u8-tolower.c (check): Likewise.
40520         * tests/unicase/test-u8-totitle.c (check): Likewise.
40521         * tests/unicase/test-u8-toupper.c (check): Likewise.
40522         * tests/unicase/test-u16-casefold.c (check): Likewise.
40523         * tests/unicase/test-u16-tolower.c (check): Likewise.
40524         * tests/unicase/test-u16-totitle.c (check): Likewise.
40525         * tests/unicase/test-u16-toupper.c (check): Likewise.
40526         * tests/unicase/test-u32-casefold.c (check): Likewise.
40527         * tests/unicase/test-u32-tolower.c (check): Likewise.
40528         * tests/unicase/test-u32-totitle.c (check): Likewise.
40529         * tests/unicase/test-u32-toupper.c (check): Likewise.
40530         * tests/uninorm/test-u8-nfc.c (check): Likewise.
40531         * tests/uninorm/test-u8-nfd.c (check): Likewise.
40532         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
40533         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
40534         * tests/uninorm/test-u16-nfc.c (check): Likewise.
40535         * tests/uninorm/test-u16-nfd.c (check): Likewise.
40536         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
40537         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
40538         * tests/uninorm/test-u32-nfc.c (check): Likewise.
40539         * tests/uninorm/test-u32-nfd.c (check): Likewise.
40540         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
40541         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
40542
40543 2009-04-05  Bruno Haible  <bruno@clisp.org>
40544
40545         Work around an autoconf limitation.
40546         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
40547         comment line if it would be longer than 3 KB.
40548
40549 2009-04-05  Bruno Haible  <bruno@clisp.org>
40550
40551         Avoid test failure with libiconv-1.13.
40552         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
40553         of the expected test results.
40554
40555 2009-04-05  Bruno Haible  <bruno@clisp.org>
40556
40557         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
40558         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
40559         that it should be installed.
40560
40561 2009-04-05  Bruno Haible  <bruno@clisp.org>
40562
40563         * gnulib-tool: New option --copy-file.
40564         (func_usage): Document it.
40565         (func_dest_tmpfilename): Moved out of func_import.
40566         (func_add_file, func_update_file): New functions, extracted from
40567         func_import.
40568         (func_import): Update.
40569
40570 2009-04-05  Karl Berry  <karl@gnu.org>
40571
40572         * README: prominently mention gnulib-tool.
40573         Rearrange sections so getting the code is near the top.
40574
40575 2009-04-05  Bruno Haible  <bruno@clisp.org>
40576
40577         * lib/unicase.h: Mention u*_cmp2.
40578         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
40579         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
40580         * lib/unicase/ulc-casecmp.c: Likewise.
40581         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
40582         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
40583         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
40584         unistr/u8-cmp.
40585         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
40586         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
40587         unistr/u16-cmp.
40588         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
40589         unistr/u32-cmp.
40590
40591         * lib/uninorm.h: Mention u*_cmp2.
40592         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
40593         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
40594         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
40595         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
40596         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
40597         unistr/u8-cmp.
40598         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
40599         unistr/u16-cmp.
40600         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
40601         unistr/u32-cmp.
40602
40603         New module 'unistr/u32-cmp2'.
40604         * lib/unistr/u32-cmp2.c: New file.
40605         * modules/unistr/u32-cmp2: New file.
40606
40607         New module 'unistr/u16-cmp2'.
40608         * lib/unistr/u16-cmp2.c: New file.
40609         * modules/unistr/u16-cmp2: New file.
40610
40611         New module 'unistr/u8-cmp2'.
40612         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
40613         * lib/unistr/u8-cmp2.c: New file.
40614         * lib/unistr/u-cmp2.h: New file.
40615         * modules/unistr/u8-cmp2: New file.
40616
40617 2009-04-05  Bruno Haible  <bruno@clisp.org>
40618
40619         * lib/unictype.h (uc_property_is_valid): New macro.
40620         * tests/unictype/test-pr_byname.c (main): Use it.
40621
40622         * lib/unistr.h: Doc fixes.
40623         * lib/uniconv.h: Doc fixes.
40624         * lib/unictype.h: Doc fixes.
40625
40626 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
40627
40628         Port coreutils 7.2 to Solaris 8.
40629
40630         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
40631         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
40632         for Solaris 8.  This is a bit of a hack, as it means it's the
40633         caller's responsibility to add -lnsl if needed, but most likely it
40634         won't be needed since only getaddrinfo uses this and getaddrinfo
40635         isn't needed on Solaris 8.
40636
40637         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
40638         problem to Solaris 8 encountered with coreutils 7.2, which
40639         resulted in a message "fnmatch.c:292: warning: passing argument 4
40640         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
40641         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
40642
40643 2009-04-03  Simon Josefsson  <simon@josefsson.org>
40644
40645         * m4/ld-version-script.m4: Add FIXME comment.
40646
40647 2009-04-02  Simon Josefsson  <simon@josefsson.org>
40648
40649         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
40650         SOVERSION variable.
40651
40652 2009-04-02  Bruno Haible  <bruno@clisp.org>
40653
40654         * Makefile (info, html, dvi, pdf): Combine the rules.
40655         Suggested by Jim Meyering.
40656
40657 2009-04-01  Bruno Haible  <bruno@clisp.org>
40658
40659         * Makefile (info, html, dvi, pdf): New targets.
40660         Reported by Reuben Thomas <rrt@sc3d.org>.
40661
40662 2009-04-01  Bruno Haible  <bruno@clisp.org>
40663
40664         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
40665         can be put into PATH.
40666         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
40667
40668 2009-04-01  Bruno Haible  <bruno@clisp.org>
40669
40670         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
40671
40672 2009-04-01  Bruno Haible  <bruno@clisp.org>
40673
40674         Rename module 'visibility'.
40675         * modules/lib-symbol-visibility: Renamed from modules/visibility.
40676         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
40677         * doc/gnulib.texi: Update.
40678         * MODULES.html.sh (Misc): Update.
40679         * NEWS: Mention the change.
40680
40681 2009-04-01  Simon Josefsson  <simon@josefsson.org>
40682
40683         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
40684         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
40685         Eric Blake <ebb9@byu.net> for review.
40686         * MODULES.html.sh: Add lib-msvc-compat.
40687         * doc/gnulib.texi: Link to new section.
40688         * m4/ld-output-def.m4: New file.
40689         * doc/ld-output-def.texi: New file.
40690
40691 2009-04-01  Simon Josefsson  <simon@josefsson.org>
40692
40693         Rename ld-version-script to lib-symbol-versions.  Suggested by
40694         Bruno Haible <bruno@clisp.org>.
40695         * modules/ld-version-script: Renamed to lib-symbol-versions.
40696         * doc/ld-version-script.texi: Fix module name.
40697         * MODULES.html.sh: Add lib-symbol-versions.
40698
40699 2009-03-31  Simon Josefsson  <simon@josefsson.org>
40700
40701         * modules/u64-tests: New file.
40702         * tests/test-u64.c: New file.
40703
40704 2009-03-04  Simon Josefsson  <simon@josefsson.org>
40705
40706         * MODULES.html.sh: Mention u64.
40707         * modules/u64: New module.
40708         * modules/crypto/sha512: Depend on u64 module instead of providing
40709         u64.h.
40710
40711 2009-03-27  Eric Blake  <ebb9@byu.net>
40712
40713         test-strerror: make debugging EAI_SYSTEM easier
40714         * modules/getaddrinfo-tests (Depends-on): Add strerror.
40715         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
40716         failure was EAI_SYSTEM.
40717
40718 2009-03-25  Bruno Haible  <bruno@clisp.org>
40719
40720         Fix a problem with --enable-relocatable on Solaris 7.
40721         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
40722         since 2008-02-24.
40723
40724 2009-03-25  Eric Blake  <ebb9@byu.net>
40725
40726         test-sockets: avoid gcc warning
40727         * tests/test-sockets.c (main): Silence compiler warning.
40728
40729 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
40730
40731         New modules nproc, pthread, contributed by Glen Lenker.
40732
40733         * MODULES.html.sh: Add pthread, nproc.
40734         * lib/nproc.c: New file.
40735         * lib/nproc.h: New file.
40736         * lib/pthread.in.h: New file.
40737         * m4/pthread.m4: New file.
40738         * modules/nproc: New file.
40739         * modules/pthread: New file.
40740
40741 2009-03-24  Simon Josefsson  <simon@josefsson.org>
40742
40743         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
40744         New variable.
40745
40746 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
40747
40748         filevercmp: handle simple~ and numbered.~3~ backup suffixes
40749         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
40750         * tests/test-filevercmp.c: Add tests for backup suffixes.
40751
40752 2009-03-24  Simon Josefsson  <simon@josefsson.org>
40753
40754         * modules/stdlib (Depends-on): Add stdint, needed when defining
40755         struct random_data on, for example, HP-UX 10.20.  Reported by
40756         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
40757
40758 2009-03-24  Simon Josefsson  <simon@josefsson.org>
40759
40760         * lib/readline.c (readline): Call fflush on stdout after printing
40761         prompt.
40762
40763 2009-03-20  Bruno Haible  <bruno@clisp.org>
40764
40765         Remove dependency from 'close' module to -lws2_32 on native Windows.
40766         * lib/close-hook.h: New file.
40767         * lib/close-hook.c: New file.
40768         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
40769         w32sock.h.
40770         (_gl_close_fd_maybe_socket): Remove function.
40771         (rpl_close): Invoke execute_all_close_hooks instead of
40772         _gl_close_fd_maybe_socket.
40773         * lib/sockets.c: Include close-hook.h, w32sock.h.
40774         (close_fd_maybe_socket): New function, essentially from lib/close.c.
40775         (close_sockets_hook): New variable.
40776         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
40777         (gl_sockets_cleanup): Unregister it.
40778         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
40779         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
40780         * modules/close-hook: New file.
40781         * modules/close (Files): Remove lib/w32sock.h.
40782         (Depends-on): Add close-hook.
40783         (Link): Remove section.
40784         * modules/sockets (Files): Add lib/w32sock.h.
40785         (Depends-on): Add close-hook.
40786         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
40787         invocation.
40788         * NEWS: Mention that LIB_CLOSE is gone.
40789
40790 2009-03-23  Eric Blake  <ebb9@byu.net>
40791
40792         signal-tests: test previous patch
40793         * tests/test-signal.c: New file.
40794         * modules/signal-tests: Likewise.
40795
40796         signal.h: always support 'volatile sig_atomic_t'
40797         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
40798         (gl_SIGNAL_H_DEFAULTS): Add a default.
40799         * modules/signal (Makefile.am): Substitute if needed.
40800         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
40801         users can blindly add volatile.
40802         * doc/posix-headers/signal.texi (signal.h): Document it.
40803         Reported by Matthew Woehlke.
40804
40805 2009-03-23  Jim Meyering  <meyering@redhat.com>
40806
40807         pathmax: PATH_MAX: use pathconf only when available
40808         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
40809         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
40810         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
40811         This avoids a link failure in a PSP cross-compilation environment
40812         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
40813
40814         * lib/vasnprintf.c (divide): Fix typo in comment.
40815
40816 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40817
40818         * gnulib-tool (func_filter_filelist): Fix comment.
40819
40820 2009-03-20  Bruno Haible  <bruno@clisp.org>
40821
40822         Make sockets.h self-contained.
40823         * lib/sockets.c: Include sockets.h first.
40824         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
40825
40826 2009-03-19  Eric Blake  <ebb9@byu.net>
40827
40828         doc: mention more functions added in cygwin 1.7.0
40829         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
40830         addition.
40831         * doc/posix-functions/log2f.texi: Likewise.
40832
40833 2009-03-19  Jim Meyering  <meyering@redhat.com>
40834
40835         fsusage: avoid syntax error due to statement-before-declaration
40836         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
40837         after all declarations.  Reported by Matthew Woehlke in
40838         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
40839
40840 2009-03-18  Eric Blake  <ebb9@byu.net>
40841
40842         build-aux/compile: sync from automake
40843         * build-aux/compile: New file, from automake.
40844         * config/srclist.txt: Mention build-aux/compile.
40845
40846 2009-03-17  Bruno Haible  <bruno@clisp.org>
40847
40848         * lib/git-merge-changelog.c: Fix typo in comment.
40849         Reported by Reuben Thomas <rrt@sc3d.org>.
40850
40851 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
40852
40853         * m4/regex.m4: update and improve help for
40854         --without-included-regex.
40855
40856 2009-03-17  Simon Josefsson  <simon@josefsson.org>
40857
40858         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
40859         failure on missing include files.
40860
40861 2009-03-17  Eric Blake  <ebb9@byu.net>
40862
40863         doc: mention more functions added in cygwin 1.7.0
40864         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
40865         addition.
40866         * doc/posix-functions/fwscanf.texi: Likewise.
40867         * doc/posix-functions/swprintf.texi: Likewise.
40868         * doc/posix-functions/swscanf.texi: Likewise.
40869         * doc/posix-functions/vfwprintf.texi: Likewise.
40870         * doc/posix-functions/vfwscanf.texi: Likewise.
40871         * doc/posix-functions/vswprintf.texi: Likewise.
40872         * doc/posix-functions/vswscanf.texi: Likewise.
40873         * doc/posix-functions/vwprintf.texi: Likewise.
40874         * doc/posix-functions/vwscanf.texi: Likewise.
40875         * doc/posix-functions/wcscasecmp.texi: Likewise.
40876         * doc/posix-functions/wcsdup.texi: Likewise.
40877         * doc/posix-functions/wcsftime.texi: Likewise.
40878         * doc/posix-functions/wcsncasecmp.texi: Likewise.
40879         * doc/posix-functions/wprintf.texi: Likewise.
40880         * doc/posix-functions/wscanf.texi: Likewise.
40881         * doc/glibc-functions/gethostbyname2.texi: Likewise.
40882
40883 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40884
40885         maint.mk: really add $(AM_MAKEFLAGS)
40886         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
40887         was inadvertently omitted in the last commit.
40888         Spotted by Bruno Haible.
40889
40890         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
40891         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
40892         $(AM_MAKEFLAGS)' rather than plain `make'.
40893
40894         gnulib-tool: execute $MAKE not make
40895         * gnulib-tool: Default $MAKE to 'make'.
40896         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
40897         than make.  Initialize $MAKE in the do-autobuild script.
40898
40899         gnulib-tool: use $MAKE not make in generated files
40900         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
40901         make, in generated files.  Initialize $MAKE in the do-autobuild
40902         script.
40903
40904         * top/GNUmakefile (_have-git-version-gen): Fix typo.
40905
40906         GNUmakefile: disable parallelism only for multiple, recursive targets
40907         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
40908         additions in the Makefile.
40909         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
40910         by Automake.
40911         (.NOTPARALLEL): Only disable parallel builds if multiple targets
40912         are listed on the command line and at least one of them is
40913         listed in $(ALL_RECURSIVE_TARGETS).
40914
40915 2009-03-14  Bruno Haible  <bruno@clisp.org>
40916
40917         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
40918         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
40919         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
40920         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
40921         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
40922         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
40923         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
40924         unistr/u8-uctomb.
40925         * modules/unistr/u8-strchr (Depends-on): Likewise.
40926         * modules/unistr/u8-strrchr (Depends-on): Likewise.
40927         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
40928         unistr/u16-uctomb.
40929         * modules/unistr/u16-strchr (Depends-on): Likewise.
40930         * modules/unistr/u16-strrchr (Depends-on): Likewise.
40931
40932 2009-03-12  Bruno Haible  <bruno@clisp.org>
40933
40934         Work around select() bug on Interix 3.5.
40935         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
40936         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
40937         * m4/select.m4: New file.
40938         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
40939         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
40940         * modules/select (Files): Add m4/select.m4.
40941         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
40942         * modules/nanosleep (Depends-on): Add select.
40943         * modules/poll (Depends-on): Likewise.
40944         * doc/posix-functions/select.texi: Mention the Interix bug.
40945         Reported by Markus Duft <mduft@gentoo.org>.
40946
40947         * lib/select.c: Renamed from lib/winsock-select.c.
40948         * modules/select (Files): Add lib/select.c, remove
40949         lib/winsock-select.c.
40950         (configure.ac): Update.
40951
40952 2009-03-12  Jim Meyering  <meyering@redhat.com>
40953
40954         avoid gcc warnings about unused macro definitions
40955         * lib/readtokens.c (STREQ): Remove unused definition.
40956         * lib/xmalloc.c (SIZE_MAX): Likewise.
40957         * lib/openat-die.c (N_): Likewise.
40958         * lib/mountlist.c (SIZE_MAX): Remove definition.
40959         Instead, include <stdint.h>.
40960         * lib/readutmp.c: Likewise.
40961         * modules/readutmp (Depends-on): Add stdint.
40962         * modules/mountlist (Depends-on): Add stdint.
40963         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
40964
40965 2009-03-10  Bruno Haible  <bruno@clisp.org>
40966
40967         Tests for module 'mbmemcasecoll'.
40968         * modules/mbmemcasecoll-tests: New file.
40969         * tests/test-mbmemcasecoll1.sh: New file.
40970         * tests/test-mbmemcasecoll2.sh: New file.
40971         * tests/test-mbmemcasecoll3.sh: New file.
40972         * tests/test-mbmemcasecoll.c: New file.
40973
40974         New module 'mbmemcasecoll'.
40975         * lib/mbmemcasecoll.h: New file.
40976         * lib/mbmemcasecoll.c: New file.
40977         * modules/mbmemcasecoll: New file.
40978
40979         * tests/test-mbmemcasecmp.h: New file, extracted from
40980         tests/test-mbmemcasecmp.c.
40981         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
40982         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
40983         (main): Update.
40984         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
40985
40986 2009-03-09  Bruno Haible  <bruno@clisp.org>
40987
40988         Tests for module 'mbmemcasecmp'.
40989         * modules/mbmemcasecmp-tests: New file.
40990         * tests/test-mbmemcasecmp1.sh: New file.
40991         * tests/test-mbmemcasecmp2.sh: New file.
40992         * tests/test-mbmemcasecmp3.sh: New file.
40993         * tests/test-mbmemcasecmp.c: New file.
40994
40995         New module 'mbmemcasecmp'.
40996         * lib/mbmemcasecmp.h: New file.
40997         * lib/mbmemcasecmp.c: New file.
40998         * modules/mbmemcasecmp: New file.
40999
41000 2009-03-09  Bruno Haible  <bruno@clisp.org>
41001
41002         Tests for module 'unicase/ulc-casecoll'.
41003         * modules/unicase/ulc-casecoll-tests: New file.
41004         * tests/unicase/test-ulc-casecoll1.sh: New file.
41005         * tests/unicase/test-ulc-casecoll2.sh: New file.
41006         * tests/unicase/test-ulc-casecoll.c: New file.
41007
41008         New module 'unicase/ulc-casecoll'.
41009         * lib/unicase.h (ulc_casecoll): New declaration.
41010         * lib/unicase/ulc-casecoll.c: New file.
41011         * modules/unicase/ulc-casecoll: New file.
41012
41013         New module 'unicase/ulc-casexfrm'.
41014         * lib/unicase.h (ulc_casexfrm): New declaration.
41015         * lib/unicase/ulc-casexfrm.c: New file.
41016         * modules/unicase/ulc-casexfrm: New file.
41017
41018 2009-03-09  Bruno Haible  <bruno@clisp.org>
41019
41020         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
41021         invocations.
41022
41023         * m4/mbscasecmp.m4: Remove file.
41024         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
41025         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
41026
41027         * m4/mbscasestr.m4: Remove file.
41028         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
41029         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
41030
41031         * m4/mbschr.m4: Remove file.
41032         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
41033         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
41034
41035         * m4/mbscspn.m4: Remove file.
41036         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
41037         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
41038
41039         * m4/mbslen.m4: Remove file.
41040         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
41041         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
41042
41043         * m4/mbsncasecmp.m4: Remove file.
41044         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
41045         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
41046
41047         * m4/mbsnlen.m4: Remove file.
41048         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
41049         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
41050
41051         * m4/mbspbrk.m4: Remove file.
41052         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
41053         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
41054
41055         * m4/mbspcasecmp.m4: Remove file.
41056         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
41057         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
41058
41059         * m4/mbsrchr.m4: Remove file.
41060         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
41061         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
41062
41063         * m4/mbssep.m4: Remove file.
41064         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
41065         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
41066
41067         * m4/mbsspn.m4: Remove file.
41068         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
41069         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
41070
41071         * m4/mbsstr.m4: Remove file.
41072         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
41073         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
41074
41075         * m4/mbstok_r.m4: Remove file.
41076         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
41077         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
41078
41079         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
41080
41081         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
41082         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
41083
41084         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
41085
41086 2009-03-08  Bruno Haible  <bruno@clisp.org>
41087
41088         Tests for module 'unicase/ulc-casecmp'.
41089         * modules/unicase/ulc-casecmp-tests: New file.
41090         * tests/unicase/test-ulc-casecmp1.sh: New file.
41091         * tests/unicase/test-ulc-casecmp2.sh: New file.
41092         * tests/unicase/test-ulc-casecmp.c: New file.
41093
41094         New module 'unicase/ulc-casecmp'.
41095         * lib/unicase.h (ulc_casecmp): New declaration.
41096         * lib/unicase/ulc-casecmp.c: New file.
41097         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
41098         'const SRC_UNIT *'.
41099         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
41100         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
41101         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
41102         * modules/unicase/ulc-casecmp: New file.
41103
41104         Tests for module 'unicase/u32-is-cased'.
41105         * modules/unicase/u32-is-cased-tests: New file.
41106         * tests/unicase/test-u32-is-cased.c: New file.
41107
41108         Tests for module 'unicase/u16-is-cased'.
41109         * modules/unicase/u16-is-cased-tests: New file.
41110         * tests/unicase/test-u16-is-cased.c: New file.
41111
41112         Tests for module 'unicase/u8-is-cased'.
41113         * modules/unicase/u8-is-cased-tests: New file.
41114         * tests/unicase/test-u8-is-cased.c: New file.
41115         * tests/unicase/test-is-cased.h: New file.
41116
41117         New module 'unicase/u32-is-cased'.
41118         * lib/unicase/u32-is-cased.c: New file.
41119         * modules/unicase/u32-is-cased: New file.
41120
41121         New module 'unicase/u16-is-cased'.
41122         * lib/unicase/u16-is-cased.c: New file.
41123         * modules/unicase/u16-is-cased: New file.
41124
41125         New module 'unicase/u8-is-cased'.
41126         * lib/unicase/u8-is-cased.c: New file.
41127         * lib/unicase/u-is-cased.h: New file.
41128         * modules/unicase/u8-is-cased: New file.
41129
41130         Tests for module 'unicase/u32-is-casefolded'.
41131         * modules/unicase/u32-is-casefolded-tests: New file.
41132         * tests/unicase/test-u32-is-casefolded.c: New file.
41133
41134         Tests for module 'unicase/u16-is-casefolded'.
41135         * modules/unicase/u16-is-casefolded-tests: New file.
41136         * tests/unicase/test-u16-is-casefolded.c: New file.
41137
41138         Tests for module 'unicase/u8-is-casefolded'.
41139         * modules/unicase/u8-is-casefolded-tests: New file.
41140         * tests/unicase/test-u8-is-casefolded.c: New file.
41141         * tests/unicase/test-is-casefolded.h: New file.
41142
41143         New module 'unicase/u32-is-casefolded'.
41144         * lib/unicase/u32-is-casefolded.c: New file.
41145         * modules/unicase/u32-is-casefolded: New file.
41146
41147         New module 'unicase/u16-is-casefolded'.
41148         * lib/unicase/u16-is-casefolded.c: New file.
41149         * modules/unicase/u16-is-casefolded: New file.
41150
41151         New module 'unicase/u8-is-casefolded'.
41152         * lib/unicase/u8-is-casefolded.c: New file.
41153         * modules/unicase/u8-is-casefolded: New file.
41154
41155         Tests for module 'unicase/u32-is-titlecase'.
41156         * modules/unicase/u32-is-titlecase-tests: New file.
41157         * tests/unicase/test-u32-is-titlecase.c: New file.
41158
41159         Tests for module 'unicase/u16-is-titlecase'.
41160         * modules/unicase/u16-is-titlecase-tests: New file.
41161         * tests/unicase/test-u16-is-titlecase.c: New file.
41162
41163         Tests for module 'unicase/u8-is-titlecase'.
41164         * modules/unicase/u8-is-titlecase-tests: New file.
41165         * tests/unicase/test-u8-is-titlecase.c: New file.
41166         * tests/unicase/test-is-titlecase.h: New file.
41167
41168         New module 'unicase/u32-is-titlecase'.
41169         * lib/unicase/u32-is-titlecase.c: New file.
41170         * modules/unicase/u32-is-titlecase: New file.
41171
41172         New module 'unicase/u16-is-titlecase'.
41173         * lib/unicase/u16-is-titlecase.c: New file.
41174         * modules/unicase/u16-is-titlecase: New file.
41175
41176         New module 'unicase/u8-is-titlecase'.
41177         * lib/unicase/u8-is-titlecase.c: New file.
41178         * modules/unicase/u8-is-titlecase: New file.
41179
41180         Tests for module 'unicase/u32-is-lowercase'.
41181         * modules/unicase/u32-is-lowercase-tests: New file.
41182         * tests/unicase/test-u32-is-lowercase.c: New file.
41183
41184         Tests for module 'unicase/u16-is-lowercase'.
41185         * modules/unicase/u16-is-lowercase-tests: New file.
41186         * tests/unicase/test-u16-is-lowercase.c: New file.
41187
41188         Tests for module 'unicase/u8-is-lowercase'.
41189         * modules/unicase/u8-is-lowercase-tests: New file.
41190         * tests/unicase/test-u8-is-lowercase.c: New file.
41191         * tests/unicase/test-is-lowercase.h: New file.
41192
41193         New module 'unicase/u32-is-lowercase'.
41194         * lib/unicase/u32-is-lowercase.c: New file.
41195         * modules/unicase/u32-is-lowercase: New file.
41196
41197         New module 'unicase/u16-is-lowercase'.
41198         * lib/unicase/u16-is-lowercase.c: New file.
41199         * modules/unicase/u16-is-lowercase: New file.
41200
41201         New module 'unicase/u8-is-lowercase'.
41202         * lib/unicase/u8-is-lowercase.c: New file.
41203         * modules/unicase/u8-is-lowercase: New file.
41204
41205         Tests for module 'unicase/u32-is-uppercase'.
41206         * modules/unicase/u32-is-uppercase-tests: New file.
41207         * tests/unicase/test-u32-is-uppercase.c: New file.
41208
41209         Tests for module 'unicase/u16-is-uppercase'.
41210         * modules/unicase/u16-is-uppercase-tests: New file.
41211         * tests/unicase/test-u16-is-uppercase.c: New file.
41212
41213         Tests for module 'unicase/u8-is-uppercase'.
41214         * modules/unicase/u8-is-uppercase-tests: New file.
41215         * tests/unicase/test-u8-is-uppercase.c: New file.
41216         * tests/unicase/test-is-uppercase.h: New file.
41217
41218         New module 'unicase/u32-is-uppercase'.
41219         * lib/unicase/u32-is-uppercase.c: New file.
41220         * modules/unicase/u32-is-uppercase: New file.
41221
41222         New module 'unicase/u16-is-uppercase'.
41223         * lib/unicase/u16-is-uppercase.c: New file.
41224         * modules/unicase/u16-is-uppercase: New file.
41225
41226         New module 'unicase/u8-is-uppercase'.
41227         * lib/unicase/u8-is-uppercase.c: New file.
41228         * modules/unicase/u8-is-uppercase: New file.
41229
41230         New module 'unicase/u32-is-invariant'.
41231         * lib/unicase/u32-is-invariant.c: New file.
41232         * modules/unicase/u32-is-invariant: New file.
41233
41234         New module 'unicase/u16-is-invariant'.
41235         * lib/unicase/u16-is-invariant.c: New file.
41236         * modules/unicase/u16-is-invariant: New file.
41237
41238         New module 'unicase/u8-is-invariant'.
41239         * lib/unicase/u8-is-invariant.c: New file.
41240         * lib/unicase/invariant.h: New file.
41241         * lib/unicase/u-is-invariant.h: New file.
41242         * modules/unicase/u8-is-invariant: New file.
41243
41244         Tests for module 'unicase/u32-casecoll'.
41245         * modules/unicase/u32-casecoll-tests: New file.
41246         * tests/unicase/test-u32-casecoll.c: New file.
41247
41248         Tests for module 'unicase/u16-casecoll'.
41249         * modules/unicase/u16-casecoll-tests: New file.
41250         * tests/unicase/test-u16-casecoll.c: New file.
41251
41252         Tests for module 'unicase/u8-casecoll'.
41253         * modules/unicase/u8-casecoll-tests: New file.
41254         * tests/unicase/test-u8-casecoll.c: New file.
41255
41256         New module 'unicase/u32-casecoll'.
41257         * lib/unicase/u32-casecoll.c: New file.
41258         * modules/unicase/u32-casecoll: New file.
41259
41260         New module 'unicase/u16-casecoll'.
41261         * lib/unicase/u16-casecoll.c: New file.
41262         * modules/unicase/u16-casecoll: New file.
41263
41264         New module 'unicase/u8-casecoll'.
41265         * lib/unicase/u8-casecoll.c: New file.
41266         * lib/unicase/u-casecoll.h: New file.
41267         * modules/unicase/u8-casecoll: New file.
41268
41269         New module 'unicase/u32-casexfrm'.
41270         * lib/unicase/u32-casexfrm.c: New file.
41271         * modules/unicase/u32-casexfrm: New file.
41272
41273         New module 'unicase/u16-casexfrm'.
41274         * lib/unicase/u16-casexfrm.c: New file.
41275         * modules/unicase/u16-casexfrm: New file.
41276
41277         New module 'unicase/u8-casexfrm'.
41278         * lib/unicase/u8-casexfrm.c: New file.
41279         * lib/unicase/u-casexfrm.h: New file.
41280         * modules/unicase/u8-casexfrm: New file.
41281
41282         Tests for module 'unicase/u32-casecmp'.
41283         * modules/unicase/u32-casecmp-tests: New file.
41284         * tests/unicase/test-u32-casecmp.c: New file.
41285
41286         Tests for module 'unicase/u16-casecmp'.
41287         * modules/unicase/u16-casecmp-tests: New file.
41288         * tests/unicase/test-u16-casecmp.c: New file.
41289
41290         Tests for module 'unicase/u8-casecmp'.
41291         * modules/unicase/u8-casecmp-tests: New file.
41292         * tests/unicase/test-u8-casecmp.c: New file.
41293         * tests/unicase/test-casecmp.h: New file.
41294
41295         New module 'unicase/u32-casecmp'.
41296         * lib/unicase/u32-casecmp.c: New file.
41297         * modules/unicase/u32-casecmp: New file.
41298
41299         New module 'unicase/u16-casecmp'.
41300         * lib/unicase/u16-casecmp.c: New file.
41301         * modules/unicase/u16-casecmp: New file.
41302
41303         New module 'unicase/u8-casecmp'.
41304         * lib/unicase/u8-casecmp.c: New file.
41305         * lib/unicase/u-casecmp.h: New file.
41306         * modules/unicase/u8-casecmp: New file.
41307
41308         Tests for module 'unicase/u32-casefold'.
41309         * modules/unicase/u32-casefold-tests: New file.
41310         * tests/unicase/test-u32-casefold.c: New file.
41311
41312         Tests for module 'unicase/u16-casefold'.
41313         * modules/unicase/u16-casefold-tests: New file.
41314         * tests/unicase/test-u16-casefold.c: New file.
41315
41316         Tests for module 'unicase/u8-casefold'.
41317         * modules/unicase/u8-casefold-tests: New file.
41318         * tests/unicase/test-u8-casefold.c: New file.
41319
41320         New module 'unicase/u32-casefold'.
41321         * lib/unicase/u32-casefold.c: New file.
41322         * modules/unicase/u32-casefold: New file.
41323
41324         New module 'unicase/u16-casefold'.
41325         * lib/unicase/u16-casefold.c: New file.
41326         * modules/unicase/u16-casefold: New file.
41327
41328         New module 'unicase/u8-casefold'.
41329         * lib/unicase/u8-casefold.c: New file.
41330         * lib/unicase/u-casefold.h: New file.
41331         * modules/unicase/u8-casefold: New file.
41332
41333         New module 'unicase/tocasefold'.
41334         * lib/unicase/casefold.h: New file.
41335         * lib/unicase/tocasefold.c: New file.
41336         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
41337         * modules/unicase/tocasefold: New file.
41338
41339         Tests for module 'unicase/u32-totitle'.
41340         * modules/unicase/u32-totitle-tests: New file.
41341         * tests/unicase/test-u32-totitle.c: New file.
41342
41343         Tests for module 'unicase/u16-totitle'.
41344         * modules/unicase/u16-totitle-tests: New file.
41345         * tests/unicase/test-u16-totitle.c: New file.
41346
41347         Tests for module 'unicase/u8-totitle'.
41348         * modules/unicase/u8-totitle-tests: New file.
41349         * tests/unicase/test-u8-totitle.c: New file.
41350
41351         New module 'unicase/u32-totitle'.
41352         * lib/unicase/u32-totitle.c: New file.
41353         * modules/unicase/u32-totitle: New file.
41354
41355         New module 'unicase/u16-totitle'.
41356         * lib/unicase/u16-totitle.c: New file.
41357         * modules/unicase/u16-totitle: New file.
41358
41359         New module 'unicase/u8-totitle'.
41360         * lib/unicase/u8-totitle.c: New file.
41361         * lib/unicase/u-totitle.h: New file.
41362         * modules/unicase/u8-totitle: New file.
41363
41364         Tests for module 'unicase/u32-tolower'.
41365         * modules/unicase/u32-tolower-tests: New file.
41366         * tests/unicase/test-u32-tolower.c: New file.
41367
41368         Tests for module 'unicase/u16-tolower'.
41369         * modules/unicase/u16-tolower-tests: New file.
41370         * tests/unicase/test-u16-tolower.c: New file.
41371
41372         Tests for module 'unicase/u8-tolower'.
41373         * modules/unicase/u8-tolower-tests: New file.
41374         * tests/unicase/test-u8-tolower.c: New file.
41375
41376         New module 'unicase/u32-tolower'.
41377         * lib/unicase/u32-tolower.c: New file.
41378         * modules/unicase/u32-tolower: New file.
41379
41380         New module 'unicase/u16-tolower'.
41381         * lib/unicase/u16-tolower.c: New file.
41382         * modules/unicase/u16-tolower: New file.
41383
41384         New module 'unicase/u8-tolower'.
41385         * lib/unicase/u8-tolower.c: New file.
41386         * modules/unicase/u8-tolower: New file.
41387
41388         Tests for module 'unicase/u32-toupper'.
41389         * modules/unicase/u32-toupper-tests: New file.
41390         * tests/unicase/test-u32-toupper.c: New file.
41391
41392         Tests for module 'unicase/u16-toupper'.
41393         * modules/unicase/u16-toupper-tests: New file.
41394         * tests/unicase/test-u16-toupper.c: New file.
41395
41396         Tests for module 'unicase/u8-toupper'.
41397         * modules/unicase/u8-toupper-tests: New file.
41398         * tests/unicase/test-u8-toupper.c: New file.
41399
41400         New module 'unicase/u32-toupper'.
41401         * lib/unicase/u32-toupper.c: New file.
41402         * modules/unicase/u32-toupper: New file.
41403
41404         New module 'unicase/u16-toupper'.
41405         * lib/unicase/u16-toupper.c: New file.
41406         * modules/unicase/u16-toupper: New file.
41407
41408         New module 'unicase/u8-toupper'.
41409         * lib/unicase/u8-toupper.c: New file.
41410         * modules/unicase/u8-toupper: New file.
41411
41412         New module 'unicase/u32-casemap'.
41413         * lib/unicase/u32-casemap.c: New file.
41414         * modules/unicase/u32-casemap: New file.
41415
41416         New module 'unicase/u16-casemap'.
41417         * lib/unicase/u16-casemap.c: New file.
41418         * modules/unicase/u16-casemap: New file.
41419
41420         New module 'unicase/u8-casemap'.
41421         * lib/unicase/unicasemap.h: New file.
41422         * lib/unicase/u8-casemap.c: New file.
41423         * lib/unicase/u-casemap.h: New file.
41424         * modules/unicase/u8-casemap: New file.
41425
41426         New module 'unicase/special-casing'.
41427         * lib/unicase/special-casing.h: New file.
41428         * lib/unicase/special-casing.c: New file.
41429         * lib/unicase/special-casing-table.gperf: New file, generated by
41430         gen-uni-tables.c.
41431         * modules/unicase/special-casing: New file.
41432
41433         Tests for module 'unicase/locale-language'.
41434         * modules/unicase/locale-language-tests: New file.
41435         * tests/unicase/test-locale-language.sh: New file.
41436         * tests/unicase/test-locale-language.c: New file.
41437
41438         New module 'unicase/locale-language'.
41439         * lib/unicase/locale-language.c: New file.
41440         * lib/unicase/locale-languages.gperf: New file.
41441         * modules/unicase/locale-language: New file.
41442
41443         Generate more tables for case conversion and case folding.
41444         * lib/gen-uni-tables.c (SCC_*): New enum items.
41445         (struct special_casing_rule): New type.
41446         (casing_rules, num_casing_rules, allocated_casing_rules): New
41447         variables.
41448         (add_casing_rule, fill_casing_rules): New functions.
41449         (struct casefold_rule): New type.
41450         (casefolding_rules, num_casefolding_rules,
41451         allocated_casefolding_rules): New variables.
41452         (fill_casefolding_rules): New function.
41453         (unicode_casefold): New variable.
41454         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
41455         sort_casing_rules, output_casing_rules): New functions.
41456         (main): Accept to more arguments: SpecialCasing.txt and
41457         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
41458         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
41459         Output mapping for casefolding.
41460
41461         * lib/unicase.h: Include stdbool.h, uninorm.h.
41462         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
41463         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
41464         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
41465         arguments.
41466         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
41467         resultp arguments.
41468         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
41469         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
41470         resultp arguments.
41471         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
41472         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
41473         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
41474         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
41475         declarations.
41476         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
41477
41478 2009-03-08  Bruno Haible  <bruno@clisp.org>
41479
41480         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
41481         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
41482         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
41483         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
41484
41485 2009-03-07  Bruno Haible  <bruno@clisp.org>
41486
41487         Adjust u*_normcmp, u*_normcoll API.
41488         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
41489         u16_normcoll, u32_normcoll): Change failure conventions.
41490         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
41491         errno and return -1.
41492         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
41493
41494 2009-03-07  Bruno Haible  <bruno@clisp.org>
41495
41496         Tests for module 'uninorm/u32-normcoll'.
41497         * modules/uninorm/u32-normcoll-tests: New file.
41498         * tests/uninorm/test-u32-normcoll.c: New file.
41499
41500         Tests for module 'uninorm/u16-normcoll'.
41501         * modules/uninorm/u16-normcoll-tests: New file.
41502         * tests/uninorm/test-u16-normcoll.c: New file.
41503
41504         Tests for module 'uninorm/u8-normcoll'.
41505         * modules/uninorm/u8-normcoll-tests: New file.
41506         * tests/uninorm/test-u8-normcoll.c: New file.
41507
41508 2009-03-07  Bruno Haible  <bruno@clisp.org>
41509
41510         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
41511         tests/uninorm/test-u32-normcmp.c.
41512         * tests/uninorm/test-u32-normcmp.c: Include it.
41513         (test_nonascii): New function, extracted from main. Add some more
41514         tests.
41515         (main): Invoke test_ascii and test_nonascii.
41516         * modules/uninorm/u32-normcmp-tests (Files): Add
41517         tests/uninorm/test-u32-normcmp.h.
41518         (Depends-on): Remove uninorm/u32-normcmp.
41519
41520         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
41521         tests/uninorm/test-u16-normcmp.c.
41522         * tests/uninorm/test-u16-normcmp.c: Include it.
41523         (test_nonascii): New function, extracted from main. Add some more
41524         tests.
41525         (main): Invoke test_ascii and test_nonascii.
41526         * modules/uninorm/u16-normcmp-tests (Files): Add
41527         tests/uninorm/test-u16-normcmp.h.
41528         (Depends-on): Remove uninorm/u16-normcmp.
41529
41530         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
41531         tests/uninorm/test-u8-normcmp.c.
41532         * tests/uninorm/test-u8-normcmp.c: Include it.
41533         (test_nonascii): New function, extracted from main. Add some more
41534         tests.
41535         (main): Invoke test_ascii and test_nonascii.
41536         * modules/uninorm/u8-normcmp-tests (Files): Add
41537         tests/uninorm/test-u8-normcmp.h.
41538         (Depends-on): Remove uninorm/u8-normcmp.
41539
41540 2009-03-07  Bruno Haible  <bruno@clisp.org>
41541
41542         New module 'uninorm/u32-normcoll'.
41543         * lib/uninorm/u32-normcoll.c: New file.
41544         * modules/uninorm/u32-normcoll: New file.
41545
41546         New module 'uninorm/u16-normcoll'.
41547         * lib/uninorm/u16-normcoll.c: New file.
41548         * modules/uninorm/u16-normcoll: New file.
41549
41550         New module 'uninorm/u8-normcoll'.
41551         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
41552         declarations.
41553         * lib/uninorm/u8-normcoll.c: New file.
41554         * lib/uninorm/u-normcoll.h: New file.
41555         * modules/uninorm/u8-normcoll: New file.
41556
41557         New module 'uninorm/u32-normxfrm'.
41558         * lib/uninorm/u32-normxfrm.c: New file.
41559         * modules/uninorm/u32-normxfrm: New file.
41560
41561         New module 'uninorm/u16-normxfrm'.
41562         * lib/uninorm/u16-normxfrm.c: New file.
41563         * modules/uninorm/u16-normxfrm: New file.
41564
41565         New module 'uninorm/u8-normxfrm'.
41566         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
41567         declarations.
41568         * lib/uninorm/u8-normxfrm.c: New file.
41569         * lib/uninorm/u-normxfrm.h: New file.
41570         * modules/uninorm/u8-normxfrm: New file.
41571
41572 2009-03-07  Bruno Haible  <bruno@clisp.org>
41573
41574         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
41575         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
41576         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
41577
41578 2009-03-07  Bruno Haible  <bruno@clisp.org>
41579
41580         New module 'memxfrm'.
41581         * lib/memxfrm.h: New file.
41582         * lib/memxfrm.c: New file.
41583         * modules/memxfrm: New file.
41584
41585 2009-03-07  Bruno Haible  <bruno@clisp.org>
41586
41587         New module 'memcmp2'.
41588         * lib/memcmp2.h: New file.
41589         * lib/memcmp2.c: New file.
41590         * modules/memcmp2: New file.
41591
41592 2009-03-07  Bruno Haible  <bruno@clisp.org>
41593
41594         Tests for module 'uninorm/decomposing-form'.
41595         * modules/uninorm/decomposing-form-tests: New file.
41596         * tests/uninorm/test-decomposing-form.c: New file.
41597
41598         New module 'uninorm/decomposing-form'.
41599         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
41600         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
41601         Add 'decomposing_variant' field.
41602         * lib/uninorm/decomposing-form.c: New file.
41603         * lib/uninorm/nfc.c (uninorm_nfc): Update.
41604         * lib/uninorm/nfd.c (uninorm_nfd): Update.
41605         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
41606         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
41607         * modules/uninorm/decomposing-form: New file.
41608         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
41609         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
41610
41611 2009-03-07  Bruno Haible  <bruno@clisp.org>
41612
41613         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
41614         strings.
41615
41616 2009-03-06  Bruno Haible  <bruno@clisp.org>
41617
41618         Tests for module 'uninorm/u32-normcmp'.
41619         * tests/uninorm/test-u32-normcmp.c: New file.
41620         * modules/uninorm/u32-normcmp-tests: New file.
41621
41622         Tests for module 'uninorm/u16-normcmp'.
41623         * tests/uninorm/test-u16-normcmp.c: New file.
41624         * modules/uninorm/u16-normcmp-tests: New file.
41625
41626         Tests for module 'uninorm/u8-normcmp'.
41627         * tests/uninorm/test-u8-normcmp.c: New file.
41628         * modules/uninorm/u8-normcmp-tests: New file.
41629
41630         New module 'uninorm/u32-normcmp'.
41631         * lib/uninorm/u32-normcmp.c: New file.
41632         * modules/uninorm/u32-normcmp: New file.
41633
41634         New module 'uninorm/u16-normcmp'.
41635         * lib/uninorm/u16-normcmp.c: New file.
41636         * modules/uninorm/u16-normcmp: New file.
41637
41638         New module 'uninorm/u8-normcmp'.
41639         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
41640         declarations.
41641         * lib/uninorm/u8-normcmp.c: New file.
41642         * lib/uninorm/u-normcmp.h: New file.
41643         * modules/uninorm/u8-normcmp: New file.
41644
41645 2009-03-06  Bruno Haible  <bruno@clisp.org>
41646
41647         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
41648         Reported by Eric Blake.
41649
41650 2009-03-06  Eric Blake  <ebb9@byu.net>
41651             Bruno Haible  <bruno@clisp.org>
41652
41653         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
41654         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
41655         condition.
41656         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
41657         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
41658         condition.
41659         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
41660
41661 2009-03-06  Eric Blake  <ebb9@byu.net>
41662
41663         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
41664         to avoid compiler warnings.
41665         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
41666
41667 2009-03-05  Bruno Haible  <bruno@clisp.org>
41668
41669         * tests/test-ftell.c (main): Disable test beyond end of file on
41670         FreeMiNT.
41671         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
41672
41673 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
41674
41675         * lib/filevercmp.c: Move hidden files up in ordering.
41676         * tests/test-filevercmp.c: Add tests for hidden files.
41677
41678 2009-03-04  Bruno Haible  <bruno@clisp.org>
41679
41680         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
41681         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
41682         AM_CFLAGS.
41683         Reported by Simon Josefsson.
41684
41685 2009-03-03  Bruno Haible  <bruno@clisp.org>
41686
41687         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
41688         Reported by Simon Josefsson.
41689
41690         * doc/ld-version-script.texi: Update node reference.
41691
41692 2009-03-03  Bruno Haible  <bruno@clisp.org>
41693
41694         * modules/visibility (License): Change to 'unlimited'.
41695         Suggested by Simon Josefsson.
41696
41697 2009-03-03  Jim Meyering  <meyering@redhat.com>
41698
41699         unlinkdir: cannot_unlink_dir may modify process state
41700         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
41701         it's neither thread-safe nor appropriate for use in a library.
41702
41703 2009-03-03  Eric Blake  <ebb9@byu.net>
41704
41705         test-closein: silence test under Darwin
41706         * tests/test-closein.sh: Ignore stderr from cat, since we don't
41707         care if it dies from EPIPE or EBADF.
41708
41709 2009-03-03  Bruno Haible  <bruno@clisp.org>
41710
41711         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
41712         earlier.
41713         * doc/visibility.texi: Fix @node and @section.
41714
41715 2009-03-03  Simon Josefsson  <simon@josefsson.org>
41716
41717         * doc/gnulib.texi: Link to sections for ld version script and
41718         visibility.
41719         * doc/visibility.texi: Add @node and @section.
41720         * modules/ld-version-script: New module.
41721         * m4/ld-version-script.m4: New file.
41722         * doc/ld-version-script.texi: New file.
41723
41724 2009-03-02  David Lutterkort  <lutter@redhat.com>
41725
41726         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
41727         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41728
41729 2009-03-02  Bruno Haible  <bruno@clisp.org>
41730
41731         * doc/visibility.texi: Mention libtool's -export-symbols option.
41732
41733 2009-03-02  Jim Meyering  <meyering@redhat.com>
41734
41735         announce-gen: new option: --no-print-checksums
41736         * build-aux/announce-gen (usage): Describe it.
41737         (print_checksums): Print a newline here, not in the [*] footnote.
41738         (main): Honor it.
41739
41740 2009-03-01  Bruno Haible  <bruno@clisp.org>
41741
41742         Use socklen_t in the native Windows replacements prototypes.
41743         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
41744         instead of 'int'.
41745         * lib/getsockopt.c (rpl_getsockopt): Likewise.
41746         * lib/setsockopt.c (rpl_setsockopt): Likewise.
41747         * modules/getsockopt (Depends-on): Add socklen.
41748         * modules/setsockopt (Depends-on): Add socklen.
41749
41750 2009-03-01  Bruno Haible  <bruno@clisp.org>
41751
41752         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
41753         least 4.2.
41754
41755 2009-03-01  Eric Blake  <ebb9@byu.net>
41756             Bruno Haible  <bruno@clisp.org>
41757
41758         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
41759         error messages.
41760         * lib/wait-process.c (wait_subprocess): Omit error message about
41761         deadly signal sent to the child of termsigp != NULL.
41762
41763 2009-03-01  Eric Blake  <ebb9@byu.net>
41764
41765         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
41766
41767 2009-03-01  Bruno Haible  <bruno@clisp.org>
41768
41769         Avoid a gcc warning.
41770         * tests/test-sched.c (b): Make global.
41771         Reported by Eric Blake.
41772
41773 2009-01-19  Martin Lambers  <marlam@marlam.de>
41774
41775         Provide POSIX semantics for socket timeout options on W32.
41776         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
41777         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
41778         * modules/setsockopt: Depend on sys_time module for struct timeval.
41779         * modules/getsockopt: Depend on sys_time module for struct timeval.
41780
41781 2009-03-01  Simon Josefsson  <simon@josefsson.org>
41782
41783         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
41784         __USE_GNU, for consistency with netdb.in.h.
41785         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41786
41787 2009-03-01  Bruno Haible  <bruno@clisp.org>
41788
41789         More support for FreeMiNT.
41790         * lib/fseeko.c (rpl_fseeko): Complete last commit.
41791         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41792
41793 2009-03-01  Bruno Haible  <bruno@clisp.org>
41794
41795         More support for FreeMiNT.
41796         * lib/fpurge.c (fpurge): Correct last commit.
41797         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41798
41799 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41800
41801         Fix unportable awk script in vc-list-files.
41802         * build-aux/vc-list-files: In the replacement awk script, use
41803         substr with a second argument of 1, not zero.
41804         Report by Simon Josefsson.
41805
41806 2009-02-28  Bruno Haible  <bruno@clisp.org>
41807
41808         More support for FreeMiNT.
41809         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
41810         to FreeMiNT today.
41811         * lib/fwriting.c (fwriting): Likewise.
41812         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
41813
41814 2009-02-28  Bruno Haible  <bruno@clisp.org>
41815
41816         * tests/test-freadseek.c (main): Disable test beyond end of file on
41817         FreeMiNT.
41818         * tests/test-ftello.c (main): Likewise.
41819         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
41820
41821 2009-02-28  Bruno Haible  <bruno@clisp.org>
41822
41823         Add tentative support for FreeMiNT.
41824         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
41825         * lib/fpurge.c (fpurge): Likewise.
41826         * lib/freadable.c (freadable): Likewise.
41827         * lib/freading.c (freading): Likewise.
41828         * lib/freadptr.c (freadptr): Likewise.
41829         * lib/freadseek.c (freadptrinc): Likewise.
41830         * lib/fseeko.c (rpl_fseeko): Likewise.
41831         * lib/fseterr.c (fseterr): Likewise.
41832         * lib/fwritable.c (fwritable): Likewise.
41833         * lib/fwriting.c (fwriting): Likewise.
41834         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
41835         Hourihane.
41836         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
41837
41838 2009-02-28  Bruno Haible  <bruno@clisp.org>
41839
41840         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
41841         SIGCHLD.
41842         Reported by Jim Meyering.
41843
41844 2009-02-28  Bruno Haible  <bruno@clisp.org>
41845
41846         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
41847         Mention the results of these tests on various platforms.
41848         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
41849         order.
41850         * doc/posix-functions/printf.texi: Likewise.
41851         * doc/posix-functions/snprintf.texi: Likewise.
41852         * doc/posix-functions/sprintf.texi: Likewise.
41853         * doc/posix-functions/vfprintf.texi: Likewise.
41854         * doc/posix-functions/vprintf.texi: Likewise.
41855         * doc/posix-functions/vsnprintf.texi: Likewise.
41856         * doc/posix-functions/vsprintf.texi: Likewise.
41857         * doc/glibc-functions/obstack_printf.texi: Likewise.
41858         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
41859
41860 2009-02-28  Bruno Haible  <bruno@clisp.org>
41861
41862         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
41863         Reported by Loïc Minier <lool@dooz.org>.
41864
41865 2009-02-27  Bruno Haible  <bruno@clisp.org>
41866
41867         * gnulib-tool (func_import): Make the sed expression used to create the
41868         sed script for updating the .gitignore file POSIX compliant.
41869         Reported by Eric Blake.
41870
41871 2009-02-27  Bruno Haible  <bruno@clisp.org>
41872
41873         * gnulib-tool (sed): Don't alias as "sed --posix".
41874         Reported by Eric Blake.
41875
41876 2009-02-27  Bruno Haible  <bruno@clisp.org>
41877
41878         Avoid test link errors.
41879         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
41880         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
41881         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
41882         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
41883         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41884
41885 2009-02-27  Bruno Haible  <bruno@clisp.org>
41886
41887         Avoid spurious "(cached)" in configure output.
41888         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
41889         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
41890         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
41891         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
41892         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
41893         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
41894         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
41895         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
41896         Reported by Eric Blake.
41897
41898 2009-02-27  Eric Blake  <ebb9@byu.net>
41899
41900         printf: fix regression in previous patch
41901         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
41902
41903 2009-02-27  Bruno Haible  <bruno@clisp.org>
41904
41905         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
41906         value.
41907         * lib/stdint.in.h: Likewise.
41908         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
41909
41910 2009-02-27  Eric Blake  <ebb9@byu.net>
41911
41912         doc: mention more functions added in cygwin 1.7.0
41913         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
41914         addition.
41915         * doc/posix-functions/open_wmemstream.texi: Likewise.
41916         * doc/posix-functions/wcsnlen.texi: Likewise.
41917         * doc/posix-functions/wcsnrtombs.texi: Likewise.
41918         * doc/posix-functions/wcstod.texi: Likewise.
41919         * doc/posix-functions/wcstof.texi: Likewise.
41920         * doc/posix-functions/wcstoimax.texi: Likewise.
41921         * doc/posix-functions/wcstok.texi: Likewise.
41922         * doc/posix-functions/wcstoumax.texi: Likewise.
41923
41924         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
41925         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
41926         * doc/posix-functions/fprintf.texi: Update.
41927         * doc/posix-functions/printf.texi: Update.
41928         * doc/posix-functions/snprintf.texi: Update.
41929         * doc/posix-functions/sprintf.texi: Update.
41930         * doc/posix-functions/vfprintf.texi: Update.
41931         * doc/posix-functions/vprintf.texi: Update.
41932         * doc/posix-functions/vsnprintf.texi: Update.
41933         * doc/posix-functions/vsprintf.texi: Update.
41934         * doc/glibc-functions/obstack_printf.texi: Update.
41935         * doc/glibc-functions/obstack_vprintf.texi: Update.
41936
41937 2009-02-26  Eric Blake  <ebb9@byu.net>
41938
41939         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
41940         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
41941         compilation bug by using runtime conversion.
41942         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
41943         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
41944         * modules/ceill-tests (Files): Use nan.h.
41945         * modules/floorl-tests (Files): Likewise.
41946         * modules/frexpl-tests (Files): Likewise.
41947         * modules/isnanl-tests (Files): Likewise.
41948         * modules/ldexpl-tests (Files): Likewise.
41949         * modules/roundl-tests (Files): Likewise.
41950         * modules/truncl-tests (Files): Likewise.
41951         * tests/test-ceill.c (main): Use a working NaN.
41952         * tests/test-floorl.c (main): Likewise.
41953         * tests/test-frexpl.c (main): Likewise.
41954         * tests/test-isnan.c (test_long_double): Likewise.
41955         * tests/test-isnanl.h (main): Likewise.
41956         * tests/test-ldexpl.h (main): Likewise.
41957         * tests/test-roundl.h (main): Likewise.
41958         * tests/test-truncl.h (main): Likewise.
41959         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
41960
41961 2009-02-26  Eric Blake  <ebb9@byu.net>
41962             Bruno Haible  <bruno@clisp.org>
41963
41964         Work around a *printf bug with %ls on Solaris.
41965         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
41966         precision is specified, sprintf stops converting the wide string
41967         argument when the number of bytes that have been produced by this
41968         conversion equals or exceeds the precision.
41969         * doc/posix-functions/fprintf.texi: Update.
41970         * doc/posix-functions/printf.texi: Update.
41971         * doc/posix-functions/snprintf.texi: Update.
41972         * doc/posix-functions/sprintf.texi: Update.
41973         * doc/posix-functions/vfprintf.texi: Update.
41974         * doc/posix-functions/vprintf.texi: Update.
41975         * doc/posix-functions/vsnprintf.texi: Update.
41976         * doc/posix-functions/vsprintf.texi: Update.
41977         * doc/glibc-functions/obstack_printf.texi: Update.
41978         * doc/glibc-functions/obstack_vprintf.texi: Update.
41979
41980 2009-02-26  Eric Blake  <ebb9@byu.net>
41981
41982         stdlib: favor compiler check of random.h
41983         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
41984         to avoid an ObjC random.h installed by Swarm.
41985
41986 2009-02-26  Bruno Haible  <bruno@clisp.org>
41987
41988         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
41989         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
41990         Reported by Gary V. Vaughan <gary@gnu.org>.
41991
41992 2009-02-26  Bruno Haible  <bruno@clisp.org>
41993
41994         Fix *printf behaviour regarding the %ls directive.
41995         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
41996         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
41997         NEED_PRINTF_DIRECTIVE_LS.
41998         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
41999         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42000         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42001         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
42002         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
42003         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
42004         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
42005         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42006         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42007         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42008         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42009         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
42010         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42011         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42012         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42013         * doc/posix-functions/fprintf.texi: Update.
42014         * doc/posix-functions/printf.texi: Update.
42015         * doc/posix-functions/snprintf.texi: Update.
42016         * doc/posix-functions/sprintf.texi: Update.
42017         * doc/posix-functions/vfprintf.texi: Update.
42018         * doc/posix-functions/vprintf.texi: Update.
42019         * doc/posix-functions/vsnprintf.texi: Update.
42020         * doc/posix-functions/vsprintf.texi: Update.
42021         * doc/glibc-functions/obstack_printf.texi: Update.
42022         * doc/glibc-functions/obstack_vprintf.texi: Update.
42023         Reported by Eric Blake.
42024
42025 2009-02-25  Bruno Haible  <bruno@clisp.org>
42026
42027         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
42028         with known value.
42029         Reported by Gary V. Vaughan <gary@gnu.org>.
42030
42031 2009-02-25  Bruno Haible  <bruno@clisp.org>
42032
42033         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
42034         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
42035         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
42036         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
42037         Reported by Gary V. Vaughan <gary@gnu.org>.
42038
42039 2009-02-25  Bruno Haible  <bruno@clisp.org>
42040
42041         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
42042         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
42043         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
42044         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
42045         Reported by Gary V. Vaughan <gary@gnu.org>.
42046
42047 2009-02-25  Eric Blake  <ebb9@byu.net>
42048
42049         tests: skip fseek/ftell tests if ungetc is broken
42050         * m4/ungetc.m4: New file.
42051         * modules/fseek-tests: Split test, so ungetc dependency is
42052         separate from rest of test.
42053         * modules/fseeko-tests: Likewise.
42054         * modules/ftell-tests: Likewise.
42055         * modules/ftello-tests: Likewise.
42056         * tests/test-fseek.c (main): Isolate ungetc dependency.
42057         * tests/test-fseeko.c (main): Likewise.
42058         * tests/test-ftell.c (main): Likewise.
42059         * tests/test-ftello.c (main): Likewise.
42060         * tests/test-fseek2.sh: New file.
42061         * tests/test-fseeko2.sh: Likewise.
42062         * tests/test-ftell2.sh: Likewise.
42063         * tests/test-ftello2.sh: Likewise.
42064
42065 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
42066
42067         test-getaddrinfo: fix usage of skip return code 77
42068         * tests/test-gettaddrinfo.c: Return skip code 77 only
42069         for first occurance of skip (4x77 is not 77)
42070
42071 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
42072
42073         strtod: avoid C99 decl-after-statement
42074         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
42075
42076 2009-02-24  Eric Blake  <ebb9@byu.net>
42077
42078         strtod: detect HP-UX 11.31 bug
42079         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
42080         Reported by Gary V. Vaughan.
42081
42082 2009-02-23  Bruno Haible  <bruno@clisp.org>
42083
42084         Fix invalid read past end of memory block.
42085         * lib/vasnprintf.c (DCHAR_SET): Define.
42086         (local_wcslen): Define only when needed.
42087         (local_strnlen, local_wcsnlen): New functions.
42088         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
42089         directives that involve a conversion ourselves.
42090         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
42091         wcsnlen, mbrtowc, wcrtomb.
42092         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
42093         * tests/test-vasprintf-posix.c (test_function): Likewise.
42094         * tests/test-snprintf-posix.h (test_function): Likewise.
42095         * tests/test-sprintf-posix.h (test_function): Likewise.
42096         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42097
42098 2009-02-22  Bruno Haible  <bruno@clisp.org>
42099
42100         Implement new clarified decomposition of Hangul syllables.
42101         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
42102         of type LTV, return only a pairwise decomposition.
42103         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
42104         Likewise.
42105         * tests/uninorm/test-decomposition.c (main): Updated expected result.
42106         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
42107         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
42108
42109 2009-02-22  Bruno Haible  <bruno@clisp.org>
42110
42111         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
42112         zero-length results and shrink excess allocated memory.
42113         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
42114         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
42115         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
42116         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
42117         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
42118         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
42119         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
42120         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
42121         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
42122         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
42123         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
42124         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
42125
42126 2009-02-21  Bruno Haible  <bruno@clisp.org>
42127
42128         * doc/gnulib.texi: Include safe-alloc.texi earlier.
42129         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
42130         spaces after a period. Put a space between a macro name and its
42131         argument list. Trivial rewordings.
42132         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
42133         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
42134         (main): Return 0 explicitly.
42135
42136 2009-02-21  Bruno Haible  <bruno@clisp.org>
42137
42138         Tests for module 'uninorm/filter'.
42139         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
42140         * modules/uninorm/filter-tests: New file.
42141
42142         New module 'uninorm/filter'.
42143         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
42144         uninorm_filter_flush, uninorm_filter_free): New declarations.
42145         * lib/uninorm/uninorm-filter.c: New file.
42146         * modules/uninorm/filter: New file.
42147
42148 2009-02-21  Bruno Haible  <bruno@clisp.org>
42149
42150         Tests for module 'uninorm/nfkc'.
42151         * tests/uninorm/test-nfkc.c: New file.
42152         * tests/uninorm/test-u8-nfkc.c: New file.
42153         * tests/uninorm/test-u16-nfkc.c: New file.
42154         * tests/uninorm/test-u32-nfkc.c: New file.
42155         * tests/uninorm/test-u32-nfkc-big.sh: New file.
42156         * tests/uninorm/test-u32-nfkc-big.c: New file.
42157         * modules/uninorm/nfkc-tests: New file.
42158
42159         New module 'uninorm/nfkc'.
42160         * lib/uninorm/nfkc.c: New file.
42161         * modules/uninorm/nfkc: New file.
42162
42163         Tests for module 'uninorm/nfkd'.
42164         * tests/uninorm/test-nfkd.c: New file.
42165         * tests/uninorm/test-u8-nfkd.c: New file.
42166         * tests/uninorm/test-u16-nfkd.c: New file.
42167         * tests/uninorm/test-u32-nfkd.c: New file.
42168         * tests/uninorm/test-u32-nfkd-big.sh: New file.
42169         * tests/uninorm/test-u32-nfkd-big.c: New file.
42170         * modules/uninorm/nfkd-tests: New file.
42171
42172         New module 'uninorm/nfkd'.
42173         * lib/uninorm/nfkd.c: New file.
42174         * modules/uninorm/nfkd: New file.
42175
42176         Tests for module 'uninorm/nfc'.
42177         * tests/uninorm/test-nfc.c: New file.
42178         * tests/uninorm/test-u8-nfc.c: New file.
42179         * tests/uninorm/test-u16-nfc.c: New file.
42180         * tests/uninorm/test-u32-nfc.c: New file.
42181         * tests/uninorm/test-u32-nfc-big.sh: New file.
42182         * tests/uninorm/test-u32-nfc-big.c: New file.
42183         * modules/uninorm/nfc-tests: New file.
42184
42185         New module 'uninorm/nfc'.
42186         * lib/uninorm/nfc.c: New file.
42187         * modules/uninorm/nfc: New file.
42188
42189         Tests for module 'uninorm/nfd'.
42190         * tests/uninorm/test-nfd.c: New file.
42191         * tests/uninorm/test-u8-nfd.c: New file.
42192         * tests/uninorm/test-u16-nfd.c: New file.
42193         * tests/uninorm/test-u32-nfd.c: New file.
42194         * tests/uninorm/test-u32-nfd-big.sh: New file.
42195         * tests/uninorm/test-u32-nfd-big.c: New file.
42196         * tests/uninorm/test-u32-normalize-big.h: New file.
42197         * tests/uninorm/test-u32-normalize-big.c: New file.
42198         * tests/uninorm/NormalizationTest.txt: New file, created from
42199         Unicode 5.1.0 NormalizationTest.txt.
42200         * modules/uninorm/nfd-tests: New file.
42201
42202         New module 'uninorm/nfd'.
42203         * lib/uninorm/nfd.c: New file.
42204         * modules/uninorm/nfd: New file.
42205
42206         New module 'uninorm/u32-normalize'.
42207         * lib/uninorm/u32-normalize.c: New file.
42208         * modules/uninorm/u32-normalize: New file.
42209
42210         New module 'uninorm/u16-normalize'.
42211         * lib/uninorm/u16-normalize.c: New file.
42212         * modules/uninorm/u16-normalize: New file.
42213
42214         New module 'uninorm/u8-normalize'.
42215         * lib/uninorm/u8-normalize.c: New file.
42216         * lib/uninorm/normalize-internal.h: New file.
42217         * lib/uninorm/u-normalize-internal.h: New file.
42218         * modules/uninorm/u8-normalize: New file.
42219
42220         New module 'uninorm/decompose-internal'.
42221         * lib/uninorm/decompose-internal.c: New file.
42222         * modules/uninorm/decompose-internal: New file.
42223
42224         Tests for module 'uninorm/composition'.
42225         * tests/uninorm/test-composition.c: New file.
42226         * modules/uninorm/composition-tests: New file.
42227
42228         New module 'uninorm/composition'.
42229         * lib/uninorm/composition.c: New file.
42230         * lib/uninorm/composition-table.gperf: New file, generated by
42231         gen-uni-tables.
42232         * modules/uninorm/composition: New file.
42233
42234         Tests for module 'uninorm/compat-decomposition'.
42235         * tests/uninorm/test-compat-decomposition.c: New file.
42236         * modules/uninorm/compat-decomposition-tests: New file.
42237
42238         New module 'uninorm/compat-decomposition'.
42239         * lib/uninorm/decompose-internal.h: New file.
42240         * lib/uninorm/compat-decomposition.c: New file.
42241         * modules/uninorm/compat-decomposition: New file.
42242
42243         Tests for module 'uninorm/canonical-decomposition'.
42244         * tests/uninorm/test-canonical-decomposition.c: New file.
42245         * modules/uninorm/canonical-decomposition-tests: New file.
42246
42247         New module 'uninorm/canonical-decomposition'.
42248         * lib/uninorm/canonical-decomposition.c: New file.
42249         * modules/uninorm/canonical-decomposition: New file.
42250
42251         Tests for module 'uninorm/decomposition'.
42252         * tests/uninorm/test-decomposition.c: New file.
42253         * modules/uninorm/decomposition-tests: New file.
42254
42255         New module 'uninorm/decomposition'.
42256         * lib/uninorm/decomposition.c: New file.
42257         * modules/uninorm/decomposition: New file.
42258
42259         New module 'uninorm/decomposition-table'.
42260         * lib/uninorm/decomposition-table.h: New file.
42261         * lib/uninorm/decomposition-table.c: New file.
42262         * lib/uninorm/decomposition-table1.h: New file, generated by
42263         gen-uni-tables.
42264         * lib/uninorm/decomposition-table2.h: New file, generated by
42265         gen-uni-tables.
42266         * modules/uninorm/decomposition-table: New file.
42267
42268         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
42269         (UC_DECOMP_*): New enumeration items.
42270         (get_decomposition): New function.
42271         (struct decomp_table): New type.
42272         (output_decomposition, output_decomposition_tables): New functions.
42273         (unicode_composition_exclusions): New variable.
42274         (fill_composition_exclusions, debug_output_composition_tables): New
42275         functions.
42276         (main): Accept one more argument. Invoke fill_composition_exclusions.
42277         Output decomposition and composition tables.
42278
42279         New module 'uninorm/base'.
42280         * lib/uninorm.h: New file.
42281         * lib/unictype.h: Update comment.
42282         * modules/uninorm/base: New file.
42283
42284 2009-02-21  David Lutterkort  <lutter@redhat.com>
42285
42286         Tests for module 'safe-alloc'.
42287         * tests/test-safe-alloc.c: New file.
42288         * modules/safe-alloc-tests: New file.
42289
42290         New module 'safe-alloc'.
42291         * lib/safe-alloc.h: New file.
42292         * lib/safe-alloc.c: New file.
42293         * m4/safe-alloc.m4: New file.
42294         * modules/safe-alloc: New file.
42295         * doc/safe-alloc.texi: New file.
42296         * doc/gnulib.texi: Include it.
42297         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
42298         safe-alloc.
42299
42300 2009-02-18  Bruno Haible  <bruno@clisp.org>
42301
42302         Fix link error on non-glibc systems.
42303         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
42304         variable.
42305         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
42306
42307 2009-02-18  Jim Meyering  <meyering@redhat.com>
42308
42309         fts: avoid used-uninitialized error due to recent change
42310         * lib/fts.c (fts_read): Guard uses of the new member,
42311         parent->fts_n_dirs_remaining, since it's not relevant for
42312         the parent of a directory specified on the command-line.
42313
42314 2009-02-17  James Youngman  <jay@gnu.org>
42315             Bruno Haible  <bruno@clisp.org>
42316
42317         * m4/include_next.m4: Reformulate comment.
42318
42319 2009-02-16  Jim Meyering  <meyering@redhat.com>
42320
42321         fts: add #if guards so that the fts_lgpl module still builds
42322         * lib/fts.c: Guard just-added hash-table-using parts with
42323         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
42324         Reported by Simon Josefsson.
42325
42326 2009-02-15  Bruno Haible  <bruno@clisp.org>
42327
42328         * modules/array-mergesort-tests: New file.
42329         * tests/test-array-mergesort.c: New file.
42330
42331         New module 'array-mergesort'.
42332         * modules/array-mergesort: New file.
42333         * lib/array-mergesort.h: New file.
42334
42335 2009-02-15  Bruno Haible  <bruno@clisp.org>
42336
42337         Fix 2009-02-07 commit.
42338         * lib/gen-uni-tables.c (output_predicate, output_category,
42339         output_combclass, output_bidi_category, output_decimal_digit,
42340         output_digit, output_numeric, output_mirror, output_scripts,
42341         output_ident_category, output_simple_mapping): Fix format directives.
42342         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
42343
42344 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
42345
42346         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
42347         fixes are available from IBM.
42348
42349 2009-02-13  Jim Meyering  <meyering@redhat.com>
42350
42351         fts: arrange not to stat non-directories in more cases
42352         This makes GNU find (when it doesn't need to stat each file)
42353         *much* more efficient at traversing reiserfs file systems.
42354         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
42355         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
42356         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
42357         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
42358         (leaf_optimization_applies): New function.
42359         (LCO_hash, LCO_compare): New helper functions.
42360         (link_count_optimize_ok): New function.
42361         (fts_stat): Initialize new member (if dir).
42362         (fts_read): Decrement parent's fts_n_dirs_remaining count if
42363         we've just stat'ed a directory.  Skip the stat call when possible.
42364         ---
42365         Note this AFS-related exchange:
42366         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
42367         and note find's pioctl call in find/fstype.c.
42368         But that is necessary only if you want to enable the
42369         optimization for AFS, and for now, I don't.
42370
42371         fts: move a function definition "up" (no semantic change)
42372         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
42373         "up" to precede upcoming use of a related function.
42374
42375 2009-02-11  Jim Meyering  <meyering@redhat.com>
42376
42377         fts: correct internal computation of nlinks (optimization-related)
42378         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
42379         whether the current entry is a directory, so don't test it.
42380
42381 2009-02-10  Bruno Haible  <bruno@clisp.org>
42382
42383         Tests for module 'uniwbrk/ulc-wordbreaks'.
42384         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
42385         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
42386         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
42387
42388         Tests for module 'uniwbrk/u32-wordbreaks'.
42389         * modules/uniwbrk/u32-wordbreaks-tests: New file.
42390         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
42391
42392         Tests for module 'uniwbrk/u16-wordbreaks'.
42393         * modules/uniwbrk/u16-wordbreaks-tests: New file.
42394         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
42395
42396         Tests for module 'uniwbrk/u8-wordbreaks'.
42397         * modules/uniwbrk/u8-wordbreaks-tests: New file.
42398         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
42399
42400 2009-02-10  Bruno Haible  <bruno@clisp.org>
42401
42402         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
42403         property.
42404         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
42405         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
42406         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
42407
42408 2009-02-10  Simon Josefsson  <simon@josefsson.org>
42409
42410         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
42411         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
42412
42413 2009-02-10  Bruno Haible  <bruno@clisp.org>
42414
42415         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
42416         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
42417         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
42418         * lib/unilbrk/u8-possible-linebreaks.c: Update.
42419         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
42420         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
42421
42422 2009-02-09  Simon Josefsson  <simon@josefsson.org>
42423
42424         * lib/sockets.h (gl_fd_to_handle): New function.
42425
42426         * tests/test-sockets.c: Call gl_fd_to_handle.
42427
42428 2009-02-09  Bruno Haible  <bruno@clisp.org>
42429
42430         * doc/havelib.texi: Document the conventions on bi-arch systems.
42431
42432 2009-02-08  Bruno Haible  <bruno@clisp.org>
42433
42434         Document the AC_LIB_LINKFLAGS macro.
42435         * doc/havelib.texi: New file, mostly written on 2005-05-24.
42436         * doc/gnulib.texi: Include it.
42437
42438 2009-02-08  Bruno Haible  <bruno@clisp.org>
42439
42440         Fix wrong order of sections, compared to TOC.
42441         * doc/gnulib.texi: Include relocatable-maint.texi after the
42442         "Regular expressions" node, not before.
42443
42444 2009-02-08  Bruno Haible  <bruno@clisp.org>
42445
42446         Tests for module 'unicase/totitle'.
42447         * modules/unicase/totitle-tests: New file.
42448
42449         Tests for module 'unicase/tolower'.
42450         * modules/unicase/tolower-tests: New file.
42451
42452         Tests for module 'unicase/toupper'.
42453         * modules/unicase/toupper-tests: New file.
42454         * tests/unicase/test-mapping-part1.h: New file.
42455         * tests/unicase/test-mapping-part2.h: New file.
42456
42457         New module 'unicase/totitle'.
42458         * modules/unicase/totitle: New file.
42459         * lib/unicase/totitle.c: New file.
42460
42461         New module 'unicase/tolower'.
42462         * modules/unicase/tolower: New file.
42463         * lib/unicase/tolower.c: New file.
42464
42465         New module 'unicase/toupper'.
42466         * modules/unicase/toupper: New file.
42467         * lib/unicase/toupper.c: New file.
42468         * lib/unicase/simple-mapping.h: New file.
42469
42470         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
42471         (mapping_table): New structure.
42472         (output_simple_mapping): New function.
42473         (main): Invoke output_simple_mapping_test and output_simple_mapping.
42474         * modules/gen-uni-tables (Description): Update.
42475         * lib/unicase/toupper.h: New file, automatically generated by
42476         gen-uni-tables.
42477         * lib/unicase/tolower.h: New file, automatically generated by
42478         gen-uni-tables.
42479         * lib/unicase/totitle.h: New file, automatically generated by
42480         gen-uni-tables.
42481         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
42482         gen-uni-tables.
42483         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
42484         gen-uni-tables.
42485         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
42486         gen-uni-tables.
42487
42488         New module 'unicase/base'.
42489         * modules/unicase/base: New file.
42490         * lib/unicase.h: New file.
42491
42492 2009-02-08  Bruno Haible  <bruno@clisp.org>
42493
42494         New module 'uniwbrk/ulc-wordbreaks'.
42495         * modules/uniwbrk/ulc-wordbreaks: New file.
42496         * lib/uniwbrk/ulc-wordbreaks.c: New file.
42497
42498         New module 'uniwbrk/u32-wordbreaks'.
42499         * modules/uniwbrk/u32-wordbreaks: New file.
42500         * lib/uniwbrk/u32-wordbreaks.c: New file.
42501
42502         New module 'uniwbrk/u16-wordbreaks'.
42503         * modules/uniwbrk/u16-wordbreaks: New file.
42504         * lib/uniwbrk/u16-wordbreaks.c: New file.
42505
42506         New module 'uniwbrk/u8-wordbreaks'.
42507         * modules/uniwbrk/u8-wordbreaks: New file.
42508         * lib/uniwbrk/u8-wordbreaks.c: New file.
42509         * lib/uniwbrk/u-wordbreaks.h: New file.
42510
42511         New module 'uniwbrk/table'.
42512         * modules/uniwbrk/table: New file.
42513         * lib/uniwbrk/wbrktable.h: New file.
42514         * lib/uniwbrk/wbrktable.c: New file.
42515
42516         New module 'uniwbrk/wordbreak-property'.
42517         * modules/uniwbrk/wordbreak-property: New file.
42518         * lib/uniwbrk/wordbreak-property.c: New file.
42519
42520         * lib/gen-uni-tables.c (WBP_*): New enum items.
42521         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
42522         (unicode_org_wbp): New variable.
42523         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
42524         New functions.
42525         (wbp_table): New structure.
42526         (output_wbp, output_wbrk_tables): New functions.
42527         (main): Accept additional argument. Invoke fill_org_wbp,
42528         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
42529         output_wbrk_tables.
42530         * modules/gen-uni-tables (Description): Update.
42531         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
42532         gen-uni-tables.
42533
42534         New module 'uniwbrk/base'.
42535         * modules/uniwbrk/base: New file.
42536         * lib/uniwbrk.h: New file.
42537
42538 2009-02-08  Bruno Haible  <bruno@clisp.org>
42539
42540         Update to Unicode 5.1.0.
42541         * lib/gen-uni-tables.c (is_property_alphabetic): Include
42542         U+2185..U+2188.
42543         (is_property_default_ignorable_code_point): Don't include characters
42544         of category Cc or Cs and not-a-characters.
42545         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
42546         U+0D79, U+109E, U+109F, U+A60C.
42547         * lib/unictype/bidi_of.h: Regenerated.
42548         * lib/unictype/blocks.h: Regenerated.
42549         * lib/unictype/categ_C.h: Regenerated.
42550         * lib/unictype/categ_Cf.h: Regenerated.
42551         * lib/unictype/categ_Cn.h: Regenerated.
42552         * lib/unictype/categ_L.h: Regenerated.
42553         * lib/unictype/categ_Ll.h: Regenerated.
42554         * lib/unictype/categ_Lm.h: Regenerated.
42555         * lib/unictype/categ_Lo.h: Regenerated.
42556         * lib/unictype/categ_Lu.h: Regenerated.
42557         * lib/unictype/categ_M.h: Regenerated.
42558         * lib/unictype/categ_Mc.h: Regenerated.
42559         * lib/unictype/categ_Me.h: Regenerated.
42560         * lib/unictype/categ_Mn.h: Regenerated.
42561         * lib/unictype/categ_N.h: Regenerated.
42562         * lib/unictype/categ_Nd.h: Regenerated.
42563         * lib/unictype/categ_Nl.h: Regenerated.
42564         * lib/unictype/categ_No.h: Regenerated.
42565         * lib/unictype/categ_P.h: Regenerated.
42566         * lib/unictype/categ_Pd.h: Regenerated.
42567         * lib/unictype/categ_Pe.h: Regenerated.
42568         * lib/unictype/categ_Pf.h: Regenerated.
42569         * lib/unictype/categ_Pi.h: Regenerated.
42570         * lib/unictype/categ_Po.h: Regenerated.
42571         * lib/unictype/categ_Ps.h: Regenerated.
42572         * lib/unictype/categ_S.h: Regenerated.
42573         * lib/unictype/categ_Sk.h: Regenerated.
42574         * lib/unictype/categ_Sm.h: Regenerated.
42575         * lib/unictype/categ_So.h: Regenerated.
42576         * lib/unictype/categ_of.h: Regenerated.
42577         * lib/unictype/combining.h: Regenerated.
42578         * lib/unictype/ctype_alnum.h: Regenerated.
42579         * lib/unictype/ctype_alpha.h: Regenerated.
42580         * lib/unictype/ctype_graph.h: Regenerated.
42581         * lib/unictype/ctype_lower.h: Regenerated.
42582         * lib/unictype/ctype_print.h: Regenerated.
42583         * lib/unictype/ctype_punct.h: Regenerated.
42584         * lib/unictype/ctype_upper.h: Regenerated.
42585         * lib/unictype/decdigit.h: Regenerated.
42586         * lib/unictype/digit.h: Regenerated.
42587         * lib/unictype/mirror.h: Regenerated.
42588         * lib/unictype/numeric.h: Regenerated.
42589         * lib/unictype/pr_alphabetic.h: Regenerated.
42590         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
42591         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
42592         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
42593         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
42594         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
42595         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
42596         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
42597         * lib/unictype/pr_combining.h: Regenerated.
42598         * lib/unictype/pr_dash.h: Regenerated.
42599         * lib/unictype/pr_decimal_digit.h: Regenerated.
42600         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
42601         * lib/unictype/pr_deprecated.h: Regenerated.
42602         * lib/unictype/pr_diacritic.h: Regenerated.
42603         * lib/unictype/pr_extender.h: Regenerated.
42604         * lib/unictype/pr_format_control.h: Regenerated.
42605         * lib/unictype/pr_grapheme_base.h: Regenerated.
42606         * lib/unictype/pr_grapheme_extend.h: Regenerated.
42607         * lib/unictype/pr_grapheme_link.h: Regenerated.
42608         * lib/unictype/pr_id_continue.h: Regenerated.
42609         * lib/unictype/pr_id_start.h: Regenerated.
42610         * lib/unictype/pr_ideographic.h: Regenerated.
42611         * lib/unictype/pr_ignorable_control.h: Regenerated.
42612         * lib/unictype/pr_lowercase.h: Regenerated.
42613         * lib/unictype/pr_math.h: Regenerated.
42614         * lib/unictype/pr_numeric.h: Regenerated.
42615         * lib/unictype/pr_other_alphabetic.h: Regenerated.
42616         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
42617         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
42618         * lib/unictype/pr_other_id_continue.h: Regenerated.
42619         * lib/unictype/pr_other_lowercase.h: Regenerated.
42620         * lib/unictype/pr_other_math.h: Regenerated.
42621         * lib/unictype/pr_punctuation.h: Regenerated.
42622         * lib/unictype/pr_sentence_terminal.h: Regenerated.
42623         * lib/unictype/pr_soft_dotted.h: Regenerated.
42624         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
42625         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
42626         * lib/unictype/pr_unified_ideograph.h: Regenerated.
42627         * lib/unictype/pr_uppercase.h: Regenerated.
42628         * lib/unictype/pr_xid_continue.h: Regenerated.
42629         * lib/unictype/pr_xid_start.h: Regenerated.
42630         * lib/unictype/pr_zero_width.h: Regenerated.
42631         * lib/unictype/scripts.h: Regenerated.
42632         * lib/unictype/scripts_byname.gperf: Regenerated.
42633         * lib/unictype/sy_java_ident.h: Regenerated.
42634         * lib/unilbrk/lbrkprop1.h: Regenerated.
42635         * lib/unilbrk/lbrkprop2.h: Regenerated.
42636         * tests/unictype/test-categ_C.c: Regenerated.
42637         * tests/unictype/test-categ_Cf.c: Regenerated.
42638         * tests/unictype/test-categ_Cn.c: Regenerated.
42639         * tests/unictype/test-categ_L.c: Regenerated.
42640         * tests/unictype/test-categ_Ll.c: Regenerated.
42641         * tests/unictype/test-categ_Lm.c: Regenerated.
42642         * tests/unictype/test-categ_Lo.c: Regenerated.
42643         * tests/unictype/test-categ_Lu.c: Regenerated.
42644         * tests/unictype/test-categ_M.c: Regenerated.
42645         * tests/unictype/test-categ_Mc.c: Regenerated.
42646         * tests/unictype/test-categ_Me.c: Regenerated.
42647         * tests/unictype/test-categ_Mn.c: Regenerated.
42648         * tests/unictype/test-categ_N.c: Regenerated.
42649         * tests/unictype/test-categ_Nd.c: Regenerated.
42650         * tests/unictype/test-categ_Nl.c: Regenerated.
42651         * tests/unictype/test-categ_No.c: Regenerated.
42652         * tests/unictype/test-categ_P.c: Regenerated.
42653         * tests/unictype/test-categ_Pd.c: Regenerated.
42654         * tests/unictype/test-categ_Pe.c: Regenerated.
42655         * tests/unictype/test-categ_Pf.c: Regenerated.
42656         * tests/unictype/test-categ_Pi.c: Regenerated.
42657         * tests/unictype/test-categ_Po.c: Regenerated.
42658         * tests/unictype/test-categ_Ps.c: Regenerated.
42659         * tests/unictype/test-categ_S.c: Regenerated.
42660         * tests/unictype/test-categ_Sk.c: Regenerated.
42661         * tests/unictype/test-categ_Sm.c: Regenerated.
42662         * tests/unictype/test-categ_So.c: Regenerated.
42663         * tests/unictype/test-ctype_alnum.c: Regenerated.
42664         * tests/unictype/test-ctype_alpha.c: Regenerated.
42665         * tests/unictype/test-ctype_graph.c: Regenerated.
42666         * tests/unictype/test-ctype_lower.c: Regenerated.
42667         * tests/unictype/test-ctype_print.c: Regenerated.
42668         * tests/unictype/test-ctype_punct.c: Regenerated.
42669         * tests/unictype/test-ctype_upper.c: Regenerated.
42670         * tests/unictype/test-decdigit.h: Regenerated.
42671         * tests/unictype/test-digit.h: Regenerated.
42672         * tests/unictype/test-numeric.h: Regenerated.
42673         * tests/unictype/test-pr_alphabetic.c: Regenerated.
42674         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
42675         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
42676         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
42677         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
42678         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
42679         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
42680         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
42681         * tests/unictype/test-pr_combining.c: Regenerated.
42682         * tests/unictype/test-pr_dash.c: Regenerated.
42683         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
42684         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
42685         * tests/unictype/test-pr_deprecated.c: Regenerated.
42686         * tests/unictype/test-pr_diacritic.c: Regenerated.
42687         * tests/unictype/test-pr_extender.c: Regenerated.
42688         * tests/unictype/test-pr_format_control.c: Regenerated.
42689         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
42690         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
42691         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
42692         * tests/unictype/test-pr_id_continue.c: Regenerated.
42693         * tests/unictype/test-pr_id_start.c: Regenerated.
42694         * tests/unictype/test-pr_ideographic.c: Regenerated.
42695         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
42696         * tests/unictype/test-pr_lowercase.c: Regenerated.
42697         * tests/unictype/test-pr_math.c: Regenerated.
42698         * tests/unictype/test-pr_numeric.c: Regenerated.
42699         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
42700         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
42701         Regenerated.
42702         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
42703         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
42704         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
42705         * tests/unictype/test-pr_other_math.c: Regenerated.
42706         * tests/unictype/test-pr_punctuation.c: Regenerated.
42707         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
42708         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
42709         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
42710         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
42711         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
42712         * tests/unictype/test-pr_uppercase.c: Regenerated.
42713         * tests/unictype/test-pr_xid_continue.c: Regenerated.
42714         * tests/unictype/test-pr_xid_start.c: Regenerated.
42715         * tests/unictype/test-pr_zero_width.c: Regenerated.
42716
42717         Update to Unicode 5.1.0.
42718         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
42719         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
42720         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
42721         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
42722         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
42723         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
42724         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
42725         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
42726         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
42727         (nonspacing_table_ind): Update.
42728         * tests/uniwidth/test-uc_width2.sh: Update expected result.
42729
42730         Update to Unicode 5.1.0.
42731         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
42732         code transform.
42733         * lib/uniname/uniname.c (unicode_character_name,
42734         unicode_name_character): Add the range 0x1Fxxx to the code transform.
42735         * lib/uniname/uninames.h: Regenerated.
42736         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
42737
42738 2009-02-07  Bruno Haible  <bruno@clisp.org>
42739
42740         Merge gen-ctype and gen-lbrk into a single program.
42741         * lib/gen-uni-tables.c: New file, incorporating
42742         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
42743         Add directory prefixes to the names of the generated files.
42744         * lib/unictype/gen-ctype.c: Remove file.
42745         * lib/unilbrk/gen-lbrk.c: Remove file.
42746         * modules/gen-uni-tables: New file.
42747         * modules/unictype/gen-ctype: Remove file.
42748         * modules/unilbrk/gen-lbrk: Remove file.
42749
42750 2009-02-07  Bruno Haible  <bruno@clisp.org>
42751
42752         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
42753
42754         New module 'unistr/u32-strcoll'.
42755         * modules/unistr/u32-strcoll: New file.
42756         * lib/unistr/u32-strcoll.c: New file.
42757
42758         New module 'unistr/u16-strcoll'.
42759         * modules/unistr/u16-strcoll: New file.
42760         * lib/unistr/u16-strcoll.c: New file.
42761
42762         New module 'unistr/u8-strcoll'.
42763         * modules/unistr/u8-strcoll: New file.
42764         * lib/unistr/u8-strcoll.c: New file.
42765         * lib/unistr/u-strcoll.h: New file.
42766
42767 2009-02-07  Bruno Haible  <bruno@clisp.org>
42768
42769         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
42770         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
42771         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
42772         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
42773         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
42774         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
42775
42776 2009-02-07  Bruno Haible  <bruno@clisp.org>
42777
42778         Make 64-bit clean.
42779         * lib/unictype/gen-ctype.c (output_predicate, output_category,
42780         output_combclass, output_bidi_category, output_decimal_digit,
42781         output_digit, output_numeric, output_mirror, output_scripts,
42782         output_ident_category): Use proper width specifier in format strings.
42783
42784 2009-02-07  Bruno Haible  <bruno@clisp.org>
42785
42786         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
42787         failure behaviour.
42788
42789 2009-02-07  Jim Meyering  <meyering@redhat.com>
42790
42791         regex: avoid compilation failure with upcoming gcc-4.4
42792         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
42793         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
42794         "... error: integer overflow in preprocessor expression".
42795
42796 2009-02-05  Ben Pfaff  <blp@gnu.org>
42797
42798         Fix link errors on Windows when close module is used.
42799         * modules/close: Add $(LIB_CLOSE) to Link section.
42800         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
42801         $(LIB_CLOSE) on Windows.
42802
42803 2009-02-05  Jim Meyering  <meyering@redhat.com>
42804
42805         still avoid unused-parameter warnings, but do it cleanly
42806         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
42807         (get_fs_usage): Cast to void instead.
42808         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
42809         (dev_from_mount_options, read_file_system_list): Cast to void.
42810         Prompted by Bruno Haible.
42811
42812 2009-02-04  Jim Meyering  <meyering@redhat.com>
42813
42814         fsusage.c: correct copyright year
42815         * lib/fsusage.c: Reflect year in which the change is pushed into
42816
42817         avoid misc. warnings
42818         * lib/fsusage.c (UNUSED_PARAM): Define.
42819         (get_fs_usage): Mark parameter "disk" as unused.
42820         * lib/getugroups.c (getgrent): Use "void" in prototype.
42821         * lib/mountlist.c: Mark unused parameters.
42822         (read_file_system_list): Declare a local with "const".
42823         * lib/nanosleep.c (getnow): Declare static.
42824         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
42825
42826         dirfd: set errno upon failure
42827         * lib/dirfd.c: Include <errno.h>.
42828         Set errno to ENOTSUP when returning -1.
42829         * modules/dirfd (Depends-on): Add errno.
42830         Suggested by John Kodis <kodis@comcast.net>.
42831
42832 2009-02-01  Bruno Haible  <bruno@clisp.org>
42833
42834         Don't assume sizeof (long) >= sizeof (void *).
42835         * lib/memcmp.c: Include stdint.h.
42836         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
42837         srcp2 to 'const byte *'.
42838         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
42839         types to uintptr_t.
42840         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
42841         * modules/memcmp (Depends-on): Add stdint.
42842         Reported by Ozkan Sezer <sezeroz@gmail.com>.
42843
42844 2009-01-30  Eric Blake  <ebb9@byu.net>
42845
42846         fix more require-before-expand issues
42847         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
42848         expand, AC_PROG_AWK.
42849         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
42850
42851 2009-01-28  Eric Blake  <ebb9@byu.net>
42852
42853         version-etc: use consistent URL formatting
42854         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
42855         Improve formatting.  Use fputs for string without %.
42856
42857 2009-01-28  Jim Meyering  <meyering@redhat.com>
42858
42859         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
42860         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
42861         "underquoted definition of NAME" from autoconf-2.59.
42862
42863 2009-01-28  Bruno Haible  <bruno@clisp.org>
42864
42865         * doc/gnulib.texi: Add "Obsolete modules" to index.
42866
42867 2009-01-28  Jim Meyering  <meyering@redhat.com>
42868
42869         useless-if-before-free: recognize more variants
42870         * build-aux/useless-if-before-free: Also recognize e.g.,
42871         if (NULL != p) free (p);
42872
42873 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
42874
42875         test-getaddrinfo: skip (don't fail) this test when there's no network
42876         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
42877         on the presumption that it means you lack network access.
42878
42879 2009-01-26  Jim Meyering  <meyering@redhat.com>
42880
42881         fflush: avoid warnings on modern systems
42882         * lib/fflush.c (rpl_fflush): Move declarations of locals,
42883         pos and result, into scopes where they're used.
42884
42885 2009-01-26  Eric Blake  <ebb9@byu.net>
42886
42887         Silence warning reintroduced by recent extensions patch.
42888         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
42889         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
42890         autoconf.
42891
42892         Backport improved autoconf semantics of AC_DEFUN_ONCE.
42893         * m4/00gnulib.m4: New file.
42894         * gnulib-tool (func_get_filelist): Always use it.
42895         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
42896         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
42897
42898 2009-01-25  Bruno Haible  <bruno@clisp.org>
42899
42900         Make test-quotearg work on MacOS X and AIX.
42901         * tests/test-quotearg.sh: New file.
42902         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
42903         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
42904         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
42905         include <libintl.h>.
42906         (fake_locale): Remove variable.
42907         (gettext, dgettext, dcgettext): Remove functions.
42908         (main): Instead of setting a fake locale, set a real locale. Call
42909         textdomain and bindtextdomain.
42910         * modules/quotearg-tests (Files): Add the new files.
42911         (Depends-on): Add gettext, setenv, unsetenv.
42912         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
42913         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
42914         Augment TESTS_ENVIRONMENT.
42915
42916 2009-01-25  Bruno Haible  <bruno@clisp.org>
42917
42918         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
42919         fr_FR.ISO8859-1 locale on MacOS X.
42920         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
42921         ja_JP.eucJP locale on MacOS X.
42922         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
42923         zh_CN.GB18030 locale on MacOS X.
42924
42925 2009-01-25  Bruno Haible  <bruno@clisp.org>
42926
42927         Avoid link errors on MacOS X 10.3.
42928         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
42929         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
42930
42931 2009-01-25  Bruno Haible  <bruno@clisp.org>
42932
42933         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
42934         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
42935         * modules/pipe (Files): Remove m4/posix_spawn.m4.
42936         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
42937         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
42938         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
42939         posix_spawnattr_init, posix_spawnattr_setsigmask,
42940         posix_spawnattr_setflags, posix_spawnattr_destroy.
42941
42942         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
42943         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
42944         * modules/execute (Files): Remove m4/posix_spawn.m4.
42945         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
42946         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
42947         posix_spawnattr_init, posix_spawnattr_setsigmask,
42948         posix_spawnattr_setflags, posix_spawnattr_destroy.
42949
42950 2009-01-25  Bruno Haible  <bruno@clisp.org>
42951
42952         * lib/glthread/threadlib.c: Include <stdlib.h>.
42953
42954 2009-01-25  Bruno Haible  <bruno@clisp.org>
42955
42956         * lib/glthread/threadlib.c (dummy): New declaration.
42957
42958 2009-01-25  Bruno Haible  <bruno@clisp.org>
42959
42960         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
42961         multibyte characters also for the GB18030 encoding. Don't crash when
42962         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
42963
42964 2009-01-25  Bruno Haible  <bruno@clisp.org>
42965
42966         Avoid redefining 'struct random_data' on OSF/1 5.1.
42967         * lib/stdlib.in.h: Include <random.h> if it exists.
42968         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
42969         HAVE_RANDOM_H. Include <random.h> when testing whether
42970         'struct random_data' exists.
42971         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
42972
42973 2009-01-25  Bruno Haible  <bruno@clisp.org>
42974
42975         Don't install charset.alias on MacOS X >= 10.3.
42976         * lib/localcharset.c (DARWIN7): New macro.
42977         (get_charset_aliases): Hardcode the result for Darwin7.
42978         * modules/localcharset (install-exec-local): Don't install
42979         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
42980
42981 2009-01-25  Bruno Haible  <bruno@clisp.org>
42982
42983         Don't install charset.alias on mingw and Cygwin.
42984         * modules/localcharset (install-exec-local): Don't install
42985         charset.alias on mingw and Cygwin, if the file does not yet exist.
42986         The result for these platforms is hardcoded in localcharset.c.
42987
42988 2009-01-25  Bruno Haible  <bruno@clisp.org>
42989
42990         Make it possible again to use AC_GNU_SOURCE together with gnulib.
42991         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
42992         before requiring AC_USE_SYSTEM_EXTENSIONS.
42993
42994 2009-01-25  Jim Meyering  <meyering@redhat.com>
42995
42996         c-strtod: avoid warnings
42997         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
42998         "assignment discards qualifiers from pointer target type" warnings.
42999
43000 2009-01-24  Bruno Haible  <bruno@clisp.org>
43001
43002         Add support for non-UTF-8 locales on MacOS X.
43003         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
43004         canonical encodings. For Darwin 7 and newer, don't map traditional
43005         encodings to UTF-8.
43006         Reported by Vincent Lefevre <vincent@vinc17.org>
43007         at <http://savannah.gnu.org/bugs/?25235>.
43008
43009 2009-01-24  Bruno Haible  <bruno@clisp.org>
43010
43011         * doc/gnulib.texi (Obsolete modules): New section.
43012         Reported by Mike Frysinger <vapier@gentoo.org>.
43013
43014 2009-01-24  Bruno Haible  <bruno@clisp.org>
43015
43016         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
43017         (%.dvi): New rule.
43018
43019 2009-01-24  Bruno Haible  <bruno@clisp.org>
43020
43021         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
43022         Reported by Eric Blake.
43023
43024 2009-01-24  Bruno Haible  <bruno@clisp.org>
43025
43026         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
43027         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
43028         Reported by Gary V. Vaughan <gary@gnu.org>.
43029
43030 2009-01-24  Bruno Haible  <bruno@clisp.org>
43031
43032         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
43033
43034 2009-01-23  Bruno Haible  <bruno@clisp.org>
43035
43036         Make c-strtod, c-strtold usable in libraries.
43037         * lib/c-strtod.c: Include string.h instead of xalloc.h.
43038         (C_STRTOD): Call strdup instead of xstrdup.
43039         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
43040         * modules/c-strtold (Depends-on): Likewise.
43041         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
43042         * NEWS: Mention the change.
43043         Reported by Michael Gold <mgold@ncf.ca>.
43044
43045 2009-01-23  Jim Meyering  <meyering@redhat.com>
43046
43047         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
43048         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
43049         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
43050
43051 2009-01-23  Simon Josefsson  <simon@josefsson.org>
43052
43053         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
43054         GNU CoreUtils.
43055         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
43056         * modules/version-etc (Description): Update.
43057
43058 2009-01-22  Bruno Haible  <bruno@clisp.org>
43059
43060         Cache the C locale object.
43061         * lib/c-strtod.c (c_locale_cache): New variable.
43062         (c_locale): New function.
43063         (C_STRTOD): Use it, and don't call freelocale.
43064         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
43065         Suggested by Paolo Bonzini.
43066
43067 2009-01-21  Bruno Haible  <bruno@clisp.org>
43068
43069         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
43070         conditions other than overflow.
43071
43072 2009-01-21  Bruno Haible  <bruno@clisp.org>
43073
43074         * lib/c-strtod.c: Include errno.h.
43075         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
43076         value from STRTOD_L and STRTOD.
43077
43078 2009-01-21  Bruno Haible  <bruno@clisp.org>
43079         and Jim Meyering  <meyering@redhat.com>
43080
43081         nanosleep: skip configure test (fail it) for apple universal builds
43082         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
43083         universal builds, assume that nanosleep does not work.
43084         * modules/nanosleep (Depends-on): Add multiarch.
43085
43086         mktime: skip configure test (fail it) for apple universal builds
43087         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
43088         universal builds, assume that mktime does not work.
43089         * modules/mktime (Depends-on): Add multiarch.
43090
43091 2009-01-21  Eric Blake  <ebb9@byu.net>
43092
43093         multiarch: avoid expand-before-require warning
43094         * modules/multiarch (configure.ac): Require, rather than expand,
43095         gl_MULTIARCH.
43096         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
43097         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
43098         enforce that all clients require it.  Partial reversion of
43099         2008-12-29 patch.
43100
43101         error: avoid expand-before-require warning
43102         * modules/errno (configure.ac): Require, rather than expand,
43103         gl_HEADER_ERRNO_H.
43104         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
43105         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
43106         enforce that all clients require it.
43107
43108         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
43109         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
43110         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
43111         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
43112
43113 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
43114
43115         Revert:
43116         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
43117
43118         regex: do not depend on obsolete modules.
43119         * modules/regex: Remove memcmp and memmove.
43120
43121 2009-01-20  Bruno Haible  <bruno@clisp.org>
43122
43123         Make the 'link' module link on Windows NT 4.
43124         * lib/link.c (_WIN32_WINNT): Don't define.
43125         (CreateHardLinkFuncType): New type.
43126         (CreateHardLinkFunc, initialized): New variables.
43127         (initialize): New function.
43128         (link): Invoke CreateHardLink indirectly through the function pointer.
43129
43130 2009-01-20  Bruno Haible  <bruno@clisp.org>
43131
43132         Fix compilation failure on mingw.
43133         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
43134
43135 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
43136
43137         * doc/c-strtod.texi: Mention a couple of restrictions.
43138
43139 2009-01-20  Jim Meyering  <meyering@redhat.com>
43140
43141         gettimeofday: move more declarations out of functions
43142         * lib/gettimeofday.c: Move extern declarations of tzset and
43143         gmtime out of containing functions.  Prompted by Bruno Haible.
43144
43145 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
43146
43147         regex: do not depend on obsolete modules.
43148         * modules/regex: Remove memcmp and memmove.
43149
43150 2009-01-19  Bruno Haible  <bruno@clisp.org>
43151
43152         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
43153         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
43154         gl_BIGENDIAN, not AC_C_BIGENDIAN.
43155         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
43156         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
43157
43158 2009-01-19  Bruno Haible  <bruno@clisp.org>
43159
43160         * tests/test-link.c: Include <errno.h>.
43161         (main): Exit with code 77 when a hard link cannot be created due to
43162         the file system.
43163         * tests/test-link.sh: Skip test when a hard link cannot be created due
43164         to the file system.
43165         Suggested by Eric Blake.
43166
43167 2009-01-19  Martin Lambers  <marlam@marlam.de>
43168
43169         * modules/link-tests: New file.
43170         * tests/test-link.sh: New file.
43171         * tests/test-link.c: New file.
43172
43173 2009-01-19  Eric Blake  <ebb9@byu.net>
43174
43175         doc: mention another function added in cygwin 1.7.0
43176         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
43177         Another new function in cygwin 1.7.
43178
43179 2009-01-19  Bruno Haible  <bruno@clisp.org>
43180
43181         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
43182         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
43183         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
43184         gl_BIGENDIAN, not AC_C_BIGENDIAN.
43185         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
43186         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
43187         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
43188         * m4/md4.m4 (gl_MD4): Likewise.
43189         * m4/md5.m4 (gl_MD5): Likewise.
43190         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
43191         * m4/sha1.m4 (gl_SHA1): Likewise.
43192         * m4/sha256.m4 (gl_SHA256): Likewise.
43193         * m4/sha512.m4 (gl_SHA512): Likewise.
43194
43195 2009-01-19  Bruno Haible  <bruno@clisp.org>
43196
43197         * modules/uniname/uniname-tests (Depends-on): Add progname.
43198         * tests/uniname/test-uninames.c: Include progname.h.
43199         (main): Call set_program_name.
43200
43201         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
43202         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
43203         (main): Call set_program_name.
43204
43205         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
43206         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
43207         (main): Call set_program_name.
43208
43209         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
43210         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
43211         (main): Call set_program_name.
43212
43213         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
43214         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
43215         (main): Call set_program_name.
43216
43217         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
43218         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
43219         (main): Call set_program_name.
43220
43221         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
43222         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
43223         (main): Call set_program_name.
43224
43225         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
43226         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
43227         (main): Call set_program_name.
43228
43229         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
43230         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
43231         (main): Call set_program_name.
43232
43233 2009-01-19  Eric Blake  <ebb9@byu.net>
43234
43235         test-unistd: test previous patch
43236         * tests/test-unistd.c: Test *_FILENO macros.
43237
43238         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
43239         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
43240         Guarantee a definition.
43241         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
43242         * modules/unistd-safer (Depends-on): Add dependency on unistd.
43243         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
43244         * lib/dup-safer.c (STDERR_FILENO): Likewise.
43245         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
43246         Likewise.
43247         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
43248         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
43249         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
43250         Likewise.
43251         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
43252         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
43253         (STDERR_FILENO): Likewise.
43254         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
43255         (STDERR_FILENO): Likewise.
43256         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
43257         (STDERR_FILENO): Likewise.
43258         Reported by Elbert Pol.
43259
43260 2009-01-19  Eric Blake  <ebb9@byu.net>
43261
43262         doc: mention more functions added in cygwin 1.7.0
43263         * doc/posix-functions/abort.texi (abort): Update wording related
43264         to cygwin.
43265         * doc/posix-functions/daylight.texi (daylight): Likewise.
43266         * doc/posix-functions/optarg.texi (optarg): Likewise.
43267         * doc/posix-functions/optarg.texi (opterr): Likewise.
43268         * doc/posix-functions/optarg.texi (optind): Likewise.
43269         * doc/posix-functions/optarg.texi (optopt): Likewise.
43270         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
43271         worked in 1.5.x, and was withdrawn in 1.7.
43272         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
43273         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
43274         cygwin versions.
43275         * doc/posix-functions/perror.texi (perror): Likewise.
43276         * doc/posix-functions/printf.texi (printf): Likewise.
43277         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
43278         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
43279         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
43280         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
43281         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
43282         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
43283         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
43284         Likewise.
43285         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
43286         Likewise.
43287         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
43288         this function.
43289         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
43290         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
43291         Likewise.
43292         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
43293         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
43294         * doc/posix-functions/confstr.texi (confstr): Likewise.
43295         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
43296         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
43297         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
43298         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
43299         * doc/posix-functions/fputws.texi (fputws): Likewise.
43300         * doc/posix-functions/fwide.texi (fwide): Likewise.
43301         * doc/posix-functions/getwc.texi (getwc): Likewise.
43302         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
43303         * doc/posix-functions/putwc.texi (putwc): Likewise.
43304         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
43305         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
43306         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
43307         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
43308         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
43309         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
43310         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
43311         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
43312         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
43313         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
43314         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
43315
43316 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
43317
43318         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
43319         * lib/ioctl.c: Include <sys/ioctl.h>.
43320
43321 2009-01-19  Simon Josefsson  <simon@josefsson.org>
43322
43323         * modules/getdate-tests (Depends-on): Add progname.
43324         * tests/test-getdate.c: Use progname module, to avoid link errors
43325         on non-glibc systems.
43326
43327 2009-01-18  Simon Josefsson  <simon@josefsson.org>
43328
43329         * modules/filenamecat-tests (Depends-on): Add progname.
43330         * modules/fstrcmp-tests (Depends-on): Likewise.
43331
43332         * tests/test-filenamecat.c: Use progname module, to avoid link
43333         errors on non-glibc systems.
43334         * tests/test-fstrcmp.c: Likewise.
43335
43336 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
43337
43338         gettimeofday: avoid warning: nested extern declaration of 'localtime'
43339         * lib/gettimeofday.c: Move extern declaration out of function.
43340
43341 2009-01-18  Bruno Haible  <bruno@clisp.org>
43342
43343         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
43344         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
43345         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
43346
43347 2009-01-18  Bruno Haible  <bruno@clisp.org>
43348
43349         * lib/strftime.c (MEMPCPY): Remove unused macro.
43350         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
43351
43352 2009-01-18  Martin Lambers  <marlam@marlam.de>
43353
43354         New module 'link'.
43355         * lib/unistd.in.h (link): New declaration.
43356         * lib/link.c: New file.
43357         * m4/link.m4: New file.
43358         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
43359         HAVE_LINK.
43360         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
43361         * modules/link: New file.
43362         * doc/posix-functions/link.texi: Mention the new module.
43363
43364 2009-01-18  Bruno Haible  <bruno@clisp.org>
43365
43366         * tests/test-avltree_list.c (main): Call set_program_name.
43367         * tests/test-avltree_oset.c (main): Likewise.
43368         * tests/test-obstack-printf.c: Include progname.h.
43369         (main): Call set_program_name.
43370         * tests/test-quotearg.c: Include progname.h.
43371         (main): Call set_program_name.
43372         * tests/test-xmemdup0.c: Include progname.h.
43373         (main): Call set_program_name.
43374
43375 2009-01-18  Bruno Haible  <bruno@clisp.org>
43376
43377         New module 'alphasort'.
43378         * lib/dirent.in.h (alphasort): New declaration.
43379         * lib/alphasort.c: New file, from glibc with modifications.
43380         * m4/alphasort.m4: New file.
43381         * modules/alphasort: New file.
43382         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
43383         HAVE_ALPHASORT.
43384         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
43385         HAVE_ALPHASORT.
43386         * doc/posix-functions/alphasort.texi: Mention the new module and the
43387         portability problems.
43388
43389 2009-01-18  Bruno Haible  <bruno@clisp.org>
43390
43391         New module 'scandir'.
43392         * lib/dirent.in.h (scandir): New declaration.
43393         * lib/scandir.c: New file, from glibc with modifications.
43394         * m4/scandir.m4: New file.
43395         * modules/scandir: New file.
43396         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
43397         HAVE_SCANDIR.
43398         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
43399         HAVE_SCANDIR.
43400         * doc/posix-functions/scandir.texi: Mention the new module and the
43401         portability problems.
43402
43403 2009-01-17  Bruno Haible  <bruno@clisp.org>
43404
43405         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
43406         Update documentation.
43407         (func_remove_suffix): Escape all dots in the suffix. Update
43408         documentation.
43409         (func_filter_filelist): Update documentation.
43410         Reported by Ralf Wildenhues.
43411
43412 2009-01-17  Bruno Haible  <bruno@clisp.org>
43413
43414         * modules/dprintf-posix-tests: New file.
43415         * tests/test-dprintf-posix.sh: New file.
43416         * tests/test-dprintf-posix.c: New file.
43417
43418         New modules 'dprintf', 'dprintf-posix'.
43419         * lib/stdio.in.h (dprintf): New declaration.
43420         * lib/dprintf.c: New file.
43421         * m4/dprintf.m4: New file.
43422         * m4/dprintf-posix.m4: New file.
43423         * modules/dprintf: New file.
43424         * modules/dprintf-posix: New file.
43425         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
43426         HAVE_DPRINTF, REPLACE_DPRINTF.
43427         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
43428         HAVE_DPRINTF, REPLACE_DPRINTF.
43429         * doc/posix-functions/dprintf.texi: Mention the new modules.
43430
43431 2009-01-17  Bruno Haible  <bruno@clisp.org>
43432
43433         * modules/vdprintf-posix-tests: New file.
43434         * tests/test-vdprintf-posix.sh: New file.
43435         * tests/test-vdprintf-posix.c: New file.
43436
43437         New modules 'vdprintf', 'vdprintf-posix'.
43438         * lib/stdio.in.h (vdprintf): New declaration.
43439         * lib/vdprintf.c: New file.
43440         * m4/vdprintf.m4: New file.
43441         * m4/vdprintf-posix.m4: New file.
43442         * modules/vdprintf: New file.
43443         * modules/vdprintf-posix: New file.
43444         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
43445         HAVE_VDPRINTF, REPLACE_VDPRINTF.
43446         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
43447         HAVE_VDPRINTF, REPLACE_VDPRINTF.
43448         * doc/posix-functions/vdprintf.texi: Mention the new modules.
43449
43450 2009-01-17  Bruno Haible  <bruno@clisp.org>
43451
43452         Fix replacement of fopen on mingw.
43453         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
43454         mingw.
43455
43456 2009-01-17  Bruno Haible  <bruno@clisp.org>
43457
43458         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
43459         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
43460
43461 2009-01-17  Bruno Haible  <bruno@clisp.org>
43462
43463         Avoid test-fflush2.sh failure on mingw.
43464         * tests/test-fflush2.c: Include binary-io.h.
43465         (main): Put standard input into binary mode.
43466         * modules/fflush-tests (Depends-on): Add binary-io.
43467
43468 2009-01-17  Bruno Haible  <bruno@clisp.org>
43469
43470         * lib/wchar.in.h: In another particular situation, include only the
43471         system's <wchar.h> file.
43472         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
43473         Reported by Albert Chin-A-Young <china@thewrittenword.com>
43474         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
43475
43476 2009-01-17  Bruno Haible  <bruno@clisp.org>
43477
43478         Support for stripping executables in --enable-relocatable.
43479         * build-aux/install-reloc: Expect one more argument, or an environment
43480         variable RELOC_STRIP_PROG. If set, strip the destination program and
43481         its wrapper.
43482         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
43483         RELOC_STRIP_PROG.
43484         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
43485         to set RELOCATABLE_STRIP.
43486         * NEWS: Mention the new Makefile requirement.
43487
43488 2009-01-17  Bruno Haible  <bruno@clisp.org>
43489
43490         * build-aux/install-reloc: Remove debugging information left over by
43491         C compiler on MacOS X.
43492
43493 2009-01-17  Bruno Haible  <bruno@clisp.org>
43494
43495         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
43496         * lib/progreloc.c (find_executable): Fix type of pointer passed to
43497         _NSGetExecutablePath.
43498
43499 2009-01-16  Jim Meyering  <meyering@redhat.com>
43500
43501         strerror: avoid warnings about discarding "const"
43502         * lib/strerror.c (rpl_strerror): Instead of returning a const
43503         string from each and every "case", use a variable, and add a single
43504         cast after the switch.
43505
43506 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
43507
43508         * lib/arpa_inet.in.h: Add extern "C" block for C++.
43509
43510 2009-01-16  Bruno Haible  <bruno@clisp.org>
43511
43512         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
43513         array initializer syntax that also works in C++ mode.
43514         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43515
43516 2009-01-16  Jim Meyering  <meyering@redhat.com>
43517
43518         poll: suppress a warning
43519         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
43520         to ignore "...unsigned expression < 0 is always false" warnings.
43521
43522 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
43523
43524         poll: remove declarations of unused variables
43525         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
43526         sockbuf and optlen.
43527
43528 2009-01-15  Bruno Haible  <bruno@clisp.org>
43529
43530         Make fflush-after-ungetc POSIX compliant on BSD systems.
43531         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
43532         (clear_ungetc_buffer): Implement also for other systems.
43533         (rpl_fflush): On glibc systems, invoke
43534         clear_ungetc_buffer_preserving_position. Otherwise, invoke
43535         clear_ungetc_buffer after fetching the stream's position, not before.
43536
43537 2009-01-15  Bruno Haible  <bruno@clisp.org>
43538
43539         Make fflush-after-ungetc POSIX compliant on glibc systems.
43540         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
43541         after ungetc.
43542         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
43543         (rpl_fflush): On glibc systems, simply call the system's fflush
43544         function after clearing the ungetc buffer.
43545         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
43546         Instead, lseek only to the end of file, then use the system's fseeko
43547         for the rest. On glibc systems, reset the EOF indicator bit.
43548
43549 2009-01-15  Jim Meyering  <meyering@redhat.com>
43550
43551         openmp.m4: revert quote-adding change, for portability to older autoconf
43552         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
43553         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
43554         Simon Josefsson noticed the problem when using autoconf-2.61.
43555
43556 2009-01-15  Bruno Haible  <bruno@clisp.org>
43557
43558         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
43559         * tests/test-fflush2.c (ASSERT): Always fail.
43560         (main): Add two tests for fflush() after ungetc(), taking into account
43561         the Austin Group's clarification.
43562         Suggested by Eric Blake.
43563
43564 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
43565
43566         mktime.m4: remove K&R-style function prototypes
43567         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
43568         for the Sun C++ compiler.
43569
43570 2009-01-14  Bruno Haible  <bruno@clisp.org>
43571
43572         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
43573         while including <wchar.h>.
43574         * lib/wchar.in.h: In two particular situations on HP-UX, include only
43575         the system's <wchar.h> file.
43576         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43577
43578 2009-01-14  Bruno Haible  <bruno@clisp.org>
43579
43580         * m4/csharp.m4: Don't mention gettext on the serial number line.
43581         * m4/csharpexec.m4: Likewise.
43582         * m4/eaccess.m4: Likewise.
43583         * m4/javaexec.m4: Likewise.
43584         * m4/sig_atomic_t.m4: Likewise.
43585         * m4/tmpdir.m4: Likewise.
43586         * m4/intldir.m4: Bump gettext version.
43587         * m4/lib-ld.m4: Likewise.
43588
43589 2009-01-14  Bruno Haible  <bruno@clisp.org>
43590
43591         * lib/progname.c (set_program_name): Add more comments.
43592         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
43593
43594 2009-01-14  Simon Josefsson  <simon@josefsson.org>
43595
43596         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
43597         were sys/stat.h does not define it.
43598
43599 2009-01-14  Jim Meyering  <meyering@redhat.com>
43600
43601         many *.m4 files: improve m4 quoting
43602         99% of this change was performed by running the following commands:
43603         git ls-files | grep '\.m4$' | xargs perl -pi \
43604           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
43605           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
43606           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
43607           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
43608         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
43609         The remainder were to add Copyright dates, increment serial numbers,
43610         undo some changes in comments, exclude m4/intl.m4, and add quotes
43611         around the "1" in ",1" where the unusual spacing prohibited the
43612         above regexps from doing the job.  For more details, see
43613         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
43614         * m4/acl.m4: Modified.
43615         * m4/afs.m4: Likewise.
43616         * m4/alloca.m4: Likewise.
43617         * m4/argp.m4: Likewise.
43618         * m4/argz.m4: Likewise.
43619         * m4/atexit.m4: Likewise.
43620         * m4/bison-i18n.m4: Likewise.
43621         * m4/bison.m4: Likewise.
43622         * m4/byteswap.m4: Likewise.
43623         * m4/c-stack.m4: Likewise.
43624         * m4/c-strtod.m4: Likewise.
43625         * m4/calloc.m4: Likewise.
43626         * m4/canonicalize-lgpl.m4: Likewise.
43627         * m4/chown.m4: Likewise.
43628         * m4/clock_time.m4: Likewise.
43629         * m4/codeset.m4: Likewise.
43630         * m4/copy-file.m4: Likewise.
43631         * m4/csharp.m4: Likewise.
43632         * m4/csharpcomp.m4: Likewise.
43633         * m4/csharpexec.m4: Likewise.
43634         * m4/d-ino.m4: Likewise.
43635         * m4/d-type.m4: Likewise.
43636         * m4/dirfd.m4: Likewise.
43637         * m4/double-slash-root.m4: Likewise.
43638         * m4/eaccess.m4: Likewise.
43639         * m4/eealloc.m4: Likewise.
43640         * m4/environ.m4: Likewise.
43641         * m4/errno_h.m4: Likewise.
43642         * m4/euidaccess.m4: Likewise.
43643         * m4/execute.m4: Likewise.
43644         * m4/fatal-signal.m4: Likewise.
43645         * m4/fchdir.m4: Likewise.
43646         * m4/fcntl_h.m4: Likewise.
43647         * m4/fileblocks.m4: Likewise.
43648         * m4/filenamecat.m4: Likewise.
43649         * m4/findprog.m4: Likewise.
43650         * m4/flexmember.m4: Likewise.
43651         * m4/fnmatch.m4: Likewise.
43652         * m4/fopen.m4: Likewise.
43653         * m4/fpending.m4: Likewise.
43654         * m4/fprintf-posix.m4: Likewise.
43655         * m4/free.m4: Likewise.
43656         * m4/frexp.m4: Likewise.
43657         * m4/frexpl.m4: Likewise.
43658         * m4/fsusage.m4: Likewise.
43659         * m4/ftruncate.m4: Likewise.
43660         * m4/gc-camellia.m4: Likewise.
43661         * m4/gc-random.m4: Likewise.
43662         * m4/gc.m4: Likewise.
43663         * m4/getaddrinfo.m4: Likewise.
43664         * m4/getcwd-abort-bug.m4: Likewise.
43665         * m4/getcwd-path-max.m4: Likewise.
43666         * m4/getdate.m4: Likewise.
43667         * m4/getdomainname.m4: Likewise.
43668         * m4/getgroups.m4: Likewise.
43669         * m4/gethostname.m4: Likewise.
43670         * m4/gethrxtime.m4: Likewise.
43671         * m4/getline.m4: Likewise.
43672         * m4/getloadavg.m4: Likewise.
43673         * m4/getndelim2.m4: Likewise.
43674         * m4/getpass.m4: Likewise.
43675         * m4/gettext.m4: Likewise.
43676         * m4/gettime.m4: Likewise.
43677         * m4/gettimeofday.m4: Likewise.
43678         * m4/gnulib-common.m4: Likewise.
43679         * m4/group-member.m4: Likewise.
43680         * m4/host-os.m4: Likewise.
43681         * m4/iconv.m4: Likewise.
43682         * m4/iconv_open.m4: Likewise.
43683         * m4/inet_ntop.m4: Likewise.
43684         * m4/inet_pton.m4: Likewise.
43685         * m4/inline.m4: Likewise.
43686         * m4/intldir.m4: Likewise.
43687         * m4/intlmacosx.m4: Likewise.
43688         * m4/intmax.m4: Likewise.
43689         * m4/intmax_t.m4: Likewise.
43690         * m4/inttypes.m4: Likewise.
43691         * m4/inttypes_h.m4: Likewise.
43692         * m4/inttypes-pri.m4: Likewise.
43693         * m4/isapipe.m4: Likewise.
43694         * m4/isnand.m4: Likewise.
43695         * m4/isnanf.m4: Likewise.
43696         * m4/isnanl.m4: Likewise.
43697         * m4/javacomp.m4: Likewise.
43698         * m4/javaexec.m4: Likewise.
43699         * m4/jm-winsz1.m4: Likewise.
43700         * m4/jm-winsz2.m4: Likewise.
43701         * m4/lchown.m4: Likewise.
43702         * m4/lcmessage.m4: Likewise.
43703         * m4/ldexpl.m4: Likewise.
43704         * m4/lib-ld.m4: Likewise.
43705         * m4/lib-link.m4: Likewise.
43706         * m4/libsigsegv.m4: Likewise.
43707         * m4/link-follow.m4: Likewise.
43708         * m4/localcharset.m4: Likewise.
43709         * m4/locale-fr.m4: Likewise.
43710         * m4/locale-ja.m4: Likewise.
43711         * m4/locale-tr.m4: Likewise.
43712         * m4/locale-zh.m4: Likewise.
43713         * m4/lock.m4: Likewise.
43714         * m4/longlong.m4: Likewise.
43715         * m4/ls-mntd-fs.m4: Likewise.
43716         * m4/lstat.m4: Likewise.
43717         * m4/malloc.m4: Likewise.
43718         * m4/mathl.m4: Likewise.
43719         * m4/mbrtowc.m4: Likewise.
43720         * m4/mbstate_t.m4: Likewise.
43721         * m4/mbswidth.m4: Likewise.
43722         * m4/memchr.m4: Likewise.
43723         * m4/memcmp.m4: Likewise.
43724         * m4/memcpy.m4: Likewise.
43725         * m4/memmem.m4: Likewise.
43726         * m4/memmove.m4: Likewise.
43727         * m4/mempcpy.m4: Likewise.
43728         * m4/memrchr.m4: Likewise.
43729         * m4/memset.m4: Likewise.
43730         * m4/minmax.m4: Likewise.
43731         * m4/mkdir-slash.m4: Likewise.
43732         * m4/mkdtemp.m4: Likewise.
43733         * m4/mktime.m4: Likewise.
43734         * m4/mmap-anon.m4: Likewise.
43735         * m4/mountlist.m4: Likewise.
43736         * m4/nanosleep.m4: Likewise.
43737         * m4/nls.m4: Likewise.
43738         * m4/nocrash.m4: Likewise.
43739         * m4/open.m4: Likewise.
43740         * m4/openat.m4: Likewise.
43741         * m4/openmp.m4: Likewise.
43742         * m4/pathmax.m4: Likewise.
43743         * m4/perl.m4: Likewise.
43744         * m4/physmem.m4: Likewise.
43745         * m4/pipe.m4: Likewise.
43746         * m4/po.m4: Likewise.
43747         * m4/poll.m4: Likewise.
43748         * m4/posixtm.m4: Likewise.
43749         * m4/posixver.m4: Likewise.
43750         * m4/printf-frexp.m4: Likewise.
43751         * m4/printf-frexpl.m4: Likewise.
43752         * m4/printf-posix.m4: Likewise.
43753         * m4/printf-posix-rpl.m4: Likewise.
43754         * m4/printf.m4: Likewise.
43755         * m4/progtest.m4: Likewise.
43756         * m4/putenv.m4: Likewise.
43757         * m4/readline.m4: Likewise.
43758         * m4/readlink.m4: Likewise.
43759         * m4/readutmp.m4: Likewise.
43760         * m4/realloc.m4: Likewise.
43761         * m4/regex.m4: Likewise.
43762         * m4/relocatable.m4: Likewise.
43763         * m4/relocatable-lib.m4: Likewise.
43764         * m4/rename-dest-slash.m4: Likewise.
43765         * m4/rename.m4: Likewise.
43766         * m4/rmdir-errno.m4: Likewise.
43767         * m4/rmdir.m4: Likewise.
43768         * m4/roundf.m4: Likewise.
43769         * m4/roundl.m4: Likewise.
43770         * m4/rpmatch.m4: Likewise.
43771         * m4/save-cwd.m4: Likewise.
43772         * m4/selinux-selinux-h.m4: Likewise.
43773         * m4/setenv.m4: Likewise.
43774         * m4/settime.m4: Likewise.
43775         * m4/sig2str.m4: Likewise.
43776         * m4/sig_atomic_t.m4: Likewise.
43777         * m4/signalblocking.m4: Likewise.
43778         * m4/signbit.m4: Likewise.
43779         * m4/sigpipe.m4: Likewise.
43780         * m4/sockets.m4: Likewise.
43781         * m4/sockpfaf.m4: Likewise.
43782         * m4/st_dm_mode.m4: Likewise.
43783         * m4/stat-time.m4: Likewise.
43784         * m4/stdbool.m4: Likewise.
43785         * m4/stdint.m4: Likewise.
43786         * m4/stdint_h.m4: Likewise.
43787         * m4/stpcpy.m4: Likewise.
43788         * m4/stpncpy.m4: Likewise.
43789         * m4/strcase.m4: Likewise.
43790         * m4/strchrnul.m4: Likewise.
43791         * m4/strcspn.m4: Likewise.
43792         * m4/strdup.m4: Likewise.
43793         * m4/strftime.m4: Likewise.
43794         * m4/strndup.m4: Likewise.
43795         * m4/strnlen.m4: Likewise.
43796         * m4/strpbrk.m4: Likewise.
43797         * m4/strptime.m4: Likewise.
43798         * m4/strsep.m4: Likewise.
43799         * m4/strtod.m4: Likewise.
43800         * m4/strtoimax.m4: Likewise.
43801         * m4/strtok_r.m4: Likewise.
43802         * m4/strtol.m4: Likewise.
43803         * m4/strtoll.m4: Likewise.
43804         * m4/strtoul.m4: Likewise.
43805         * m4/strtoull.m4: Likewise.
43806         * m4/strtoumax.m4: Likewise.
43807         * m4/strverscmp.m4: Likewise.
43808         * m4/threadlib.m4: Likewise.
43809         * m4/timegm.m4: Likewise.
43810         * m4/tm_gmtoff.m4: Likewise.
43811         * m4/tmpdir.m4: Likewise.
43812         * m4/tmpfile.m4: Likewise.
43813         * m4/tzset.m4: Likewise.
43814         * m4/uintmax_t.m4: Likewise.
43815         * m4/unlinkdir.m4: Likewise.
43816         * m4/unlocked-io.m4: Likewise.
43817         * m4/uptime.m4: Likewise.
43818         * m4/userspec.m4: Likewise.
43819         * m4/utimbuf.m4: Likewise.
43820         * m4/utime.m4: Likewise.
43821         * m4/utimes-null.m4: Likewise.
43822         * m4/utimes.m4: Likewise.
43823         * m4/vararrays.m4: Likewise.
43824         * m4/vasnprintf.m4: Likewise.
43825         * m4/vfprintf-posix.m4: Likewise.
43826         * m4/vprintf-posix.m4: Likewise.
43827         * m4/wait-process.m4: Likewise.
43828         * m4/wchar_t.m4: Likewise.
43829         * m4/wint_t.m4: Likewise.
43830         * m4/write-any-file.m4: Likewise.
43831         * m4/yield.m4: Likewise.
43832
43833 2009-01-13  Bruno Haible  <bruno@clisp.org>
43834
43835         Avoid test-copy-file.sh failures when ACL support insufficient.
43836         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
43837         TESTS_ENVIRONMENT.
43838         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
43839         Reported by Jim Meyering.
43840
43841 2009-01-13  Bruno Haible  <bruno@clisp.org>
43842
43843         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
43844         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
43845         * modules/unistdio/u8-printf-parse (Files): Likewise.
43846         * modules/unistdio/u32-printf-parse (Files): Likewise.
43847         * modules/unistdio/ulc-printf-parse (Files): Likewise.
43848
43849 2009-01-13  Simon Josefsson  <simon@josefsson.org>
43850
43851         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
43852         and m4/inttypes_h.m4 too.
43853
43854 2009-01-12  Eric Blake  <ebb9@byu.net>
43855
43856         tests: IRIX 6.2 cc can't compile -0.0 into .data
43857         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
43858         rather than at compile-time.
43859         * tests/test-floorl.c (minus_zero): Likewise.
43860         * tests/test-frexpl.c (minus_zero): Likewise.
43861         * tests/test-isnan.c (minus_zerol): Likewise.
43862         * tests/test-isnanl.h (minus_zero): Likewise.
43863         * tests/test-ldexpl.c (minus_zero): Likewise.
43864         * tests/test-roundl.c (minus_zero): Likewise.
43865         * tests/test-signbit.c (minus_zerol): Likewise.
43866         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
43867         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
43868         * tests/test-truncl.c (minus_zero): Likewise.
43869         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
43870         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
43871         Reported by Tom G. Christensen and Nelson H. F. Beebe.
43872
43873 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
43874
43875         regex: fix glibc bug 9697
43876         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
43877         handling.
43878
43879 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
43880
43881         regex: fix glibc bug 697
43882         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
43883         being NULL also if there are no backreferences.
43884
43885 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
43886
43887         regex: merge glibc changes
43888         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
43889         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
43890         re_string_skip_chars, re_string_reconstruct): Likewise.
43891         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
43892
43893 2009-01-07  Jim Meyering  <meyering@redhat.com>
43894
43895         poll: filter through cppi
43896         * lib/poll.c: Indent cpp directives to reflect nesting.
43897
43898 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
43899
43900         poll: don't return uninitialized
43901         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
43902
43903 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
43904
43905         avoid compile failure on AIX 6.1
43906         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
43907         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
43908
43909 2009-01-04  Jim Meyering  <meyering@redhat.com>
43910
43911         remove duplicate inclusion of <stdio.h>
43912         * tests/test-fprintf-posix.c: Likewise.
43913         * tests/test-printf-posix.c: Likewise.
43914         * tests/test-snprintf-posix.c: Likewise.
43915         * tests/test-sprintf-posix.c: Likewise.
43916         * tests/test-vasprintf-posix.c: Likewise.
43917         * tests/test-vfprintf-posix.c: Likewise.
43918         * tests/test-vprintf-posix.c: Likewise.
43919         * tests/test-vsnprintf-posix.c: Likewise.
43920         * tests/test-vsprintf-posix.c: Likewise.
43921
43922 2009-01-03  Jim Meyering  <meyering@redhat.com>
43923
43924         gnulib-tool: fix sed-based filtering
43925         * gnulib-tool (func_filter_filelist): Remove extra backslash
43926         in sed_fff_filter definition.
43927
43928 2009-01-02  Jim Meyering  <meyering@redhat.com>
43929
43930         strftime: avoid compilation failure on Solaris 2.6
43931         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
43932         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
43933         Don't #define mbrlen or mbsinit, since now they're guaranteed to
43934         be available.  Reported by Tom G. Christensen.  Details in
43935         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
43936
43937 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43938             Bruno Haible  <bruno@clisp.org>
43939
43940         Speed up gnulib-tool by doing more string processing through shell
43941         built-ins.
43942         * gnulib-tool (fast_func_append): New variable.
43943         (func_remove_prefix, func_remove_suffix): New functions.
43944         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
43945         (func_filter_filelist): New function.
43946         (func_get_dependencies): Use func_remove_suffix instead of sed.
43947         (func_get_automake_snippet): Use func_filter_filelist instead of a
43948         subshell and sed invocation.
43949
43950 2009-01-01  Bruno Haible  <bruno@clisp.org>
43951
43952         Fix a security bug.
43953         * gnulib-tool (func_import, import, update): Don't allow the characters
43954         '"', '$', '`', '\' in macro arguments that become part of commands that
43955         are evaluated.
43956
43957 2009-01-01  Bruno Haible  <bruno@clisp.org>
43958
43959         * gnulib-tool (func_reset_sigpipe): Add more comments.
43960
43961 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43962
43963         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
43964         func_emit_tests_Makefile_am, func_import): Abort loops early if we
43965         already know the answer.
43966
43967 2009-01-01  Jim Meyering  <meyering@redhat.com>
43968
43969         * lib/version-etc.c (version_etc_va): Update copyright year.
43970
43971 2008-12-30  Bruno Haible  <bruno@clisp.org>
43972
43973         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
43974         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
43975         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
43976
43977 2008-12-29  Eric Blake  <ebb9@byu.net>
43978
43979         multiarch: avoid autoconf AC_REQUIRE bug
43980         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
43981         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
43982         2.63 and older.
43983         Reported by Bruno Haible, and analyzed in
43984         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
43985
43986 2008-12-29  Bruno Haible  <bruno@clisp.org>
43987
43988         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
43989         files in subdirectories correctly.
43990         Reported by Ralf Wildenhues.
43991
43992 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43993
43994         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
43995         rather than 'join FILE -', for Solaris join.
43996
43997 2008-12-29  Bruno Haible  <bruno@clisp.org>
43998
43999         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
44000         quoting.
44001         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
44002         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
44003         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
44004         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
44005         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
44006         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
44007         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
44008         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
44009         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
44010         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
44011         * m4/nls.m4 (AM_NLS): Likewise.
44012         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
44013         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
44014         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
44015         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
44016         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
44017         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
44018         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
44019         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
44020         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
44021         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
44022         * m4/xsize.m4 (gl_XSIZE): Likewise.
44023         Suggested by Jim Meyering.
44024
44025 2008-11-17  Bruce Korb  <bkorb@gnu.org>
44026
44027         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
44028         * lib/parse-duration.c: use a switch instead of cascading if's.
44029
44030 2008-12-29  Eric Blake  <ebb9@byu.net>
44031
44032         wchar.h: supply WEOF on Irix 5.3
44033         * lib/wchar.in.h (wint_t): Also supply WEOF.
44034         * lib/wctype.in.h (wint_t): Likewise.
44035         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
44036         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
44037         Reported by Tom G. Christensen.
44038
44039 2008-12-26  Bruno Haible  <bruno@clisp.org>
44040
44041         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
44042         i486, i586, i686.
44043
44044 2008-12-26  Bruno Haible  <bruno@clisp.org>
44045
44046         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
44047
44048 2008-12-26  Bruno Haible  <bruno@clisp.org>
44049
44050         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
44051         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
44052         not __STDC_CONSTANT_MACROS.
44053         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
44054
44055 2008-12-25  Bruno Haible  <bruno@clisp.org>
44056
44057         Add support for universal builds to vasnprintf.
44058         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
44059         universal builds, guess no.
44060         * modules/vasnprintf-posix (Depends-on): Add multiarch.
44061         * modules/vasprintf-posix (Depends-on): Likewise.
44062         * modules/fprintf-posix (Depends-on): Likewise.
44063         * modules/vfprintf-posix (Depends-on): Likewise.
44064         * modules/snprintf-posix (Depends-on): Likewise.
44065         * modules/vsnprintf-posix (Depends-on): Likewise.
44066         * modules/sprintf-posix (Depends-on): Likewise.
44067         * modules/vsprintf-posix (Depends-on): Likewise.
44068         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44069         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44070         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44071         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44072         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44073         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44074         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44075
44076         Add support for universal builds to <inttypes.h>.
44077         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
44078         _SCNu64_PREFIX): In Apple
44079         universal builds, define directly, using _LP64.
44080         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
44081         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
44082         * modules/inttypes (Depends-on): Add multiarch.
44083         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
44084
44085         Add support for universal builds to <stdint.h>.
44086         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
44087         universal builds, define directly, using _LP64.
44088         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
44089         Apple universal builds, don't test for the size and suffix of ptrdiff_t
44090         and size_t.
44091         * modules/stdint (Depends-on): Add multiarch.
44092         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
44093
44094         New module 'multiarch'.
44095         * modules/multiarch: New file.
44096         * m4/multiarch.m4: New file.
44097
44098 2008-12-25  Bruno Haible  <bruno@clisp.org>
44099
44100         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
44101
44102 2008-12-25  Bruno Haible  <bruno@clisp.org>
44103
44104         * modules/btowc (License): Relicense under LGPLv2+.
44105         * modules/mbsinit (License): Likewise.
44106         * modules/mbrtowc (License): Likewise.
44107         * modules/wcrtomb (License): Likewise.
44108         * modules/streq (License): Likewise.
44109         Reported by David Lutterkort <lutter@redhat.com>.
44110
44111 2008-12-23  Bruno Haible  <bruno@clisp.org>
44112
44113         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
44114
44115 2008-12-23  Bruno Haible  <bruno@clisp.org>
44116
44117         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
44118         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
44119         GETADDRINFO_LIB, not in LIBS.
44120         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
44121         * modules/canon-host (Link): Likewise.
44122         * NEWS: Mention the change.
44123         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
44124         GETADDRINFO_LIB.
44125
44126 2008-12-22  Bruno Haible  <bruno@clisp.org>
44127
44128         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
44129         * doc/posix-functions/iswalpha_l.texi: Likewise.
44130         * doc/posix-functions/iswblank_l.texi: Likewise.
44131         * doc/posix-functions/iswcntrl_l.texi: Likewise.
44132         * doc/posix-functions/iswctype_l.texi: Likewise.
44133         * doc/posix-functions/iswdigit_l.texi: Likewise.
44134         * doc/posix-functions/iswgraph_l.texi: Likewise.
44135         * doc/posix-functions/iswlower_l.texi: Likewise.
44136         * doc/posix-functions/iswprint_l.texi: Likewise.
44137         * doc/posix-functions/iswpunct_l.texi: Likewise.
44138         * doc/posix-functions/iswspace_l.texi: Likewise.
44139         * doc/posix-functions/iswupper_l.texi: Likewise.
44140         * doc/posix-functions/iswxdigit_l.texi: Likewise.
44141         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
44142         * doc/posix-functions/open_wmemstream.texi: Likewise.
44143         * doc/posix-functions/swscanf.texi: Likewise.
44144         * doc/posix-functions/towctrans_l.texi: Likewise.
44145         * doc/posix-functions/towlower.texi: Likewise.
44146         * doc/posix-functions/towlower_l.texi: Likewise.
44147         * doc/posix-functions/towupper.texi: Likewise.
44148         * doc/posix-functions/towupper_l.texi: Likewise.
44149         * doc/posix-functions/vfwprintf.texi: Likewise.
44150         * doc/posix-functions/vfwscanf.texi: Likewise.
44151         * doc/posix-functions/vswscanf.texi: Likewise.
44152         * doc/posix-functions/vwprintf.texi: Likewise.
44153         * doc/posix-functions/vwscanf.texi: Likewise.
44154         * doc/posix-functions/wcpcpy.texi: Likewise.
44155         * doc/posix-functions/wcpncpy.texi: Likewise.
44156         * doc/posix-functions/wcscasecmp.texi: Likewise.
44157         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
44158         * doc/posix-functions/wcscoll_l.texi: Likewise.
44159         * doc/posix-functions/wcsdup.texi: Likewise.
44160         * doc/posix-functions/wcsncasecmp.texi: Likewise.
44161         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
44162         * doc/posix-functions/wcsnlen.texi: Likewise.
44163         * doc/posix-functions/wcsnrtombs.texi: Likewise.
44164         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
44165         * doc/posix-functions/wctrans_l.texi: Likewise.
44166         * doc/posix-functions/wctype_l.texi: Likewise.
44167         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
44168         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
44169         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
44170         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
44171         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
44172         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
44173         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
44174         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
44175         * doc/glibc-functions/wcschrnul.texi: Likewise.
44176         * doc/glibc-functions/wcsftime_l.texi: Likewise.
44177         * doc/glibc-functions/wcstod_l.texi: Likewise.
44178         * doc/glibc-functions/wcstof_l.texi: Likewise.
44179         * doc/glibc-functions/wcstol_l.texi: Likewise.
44180         * doc/glibc-functions/wcstold_l.texi: Likewise.
44181         * doc/glibc-functions/wcstoll_l.texi: Likewise.
44182         * doc/glibc-functions/wcstoq.texi: Likewise.
44183         * doc/glibc-functions/wcstoul_l.texi: Likewise.
44184         * doc/glibc-functions/wcstoull_l.texi: Likewise.
44185         * doc/glibc-functions/wcstouq.texi: Likewise.
44186         * doc/glibc-functions/wmempcpy.texi: Likewise.
44187
44188 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
44189             Eric Blake  <ebb9@byu.net>
44190             Paolo Bonzini  <bonzini@gnu.org>
44191             Bruno Haible  <bruno@clisp.org>
44192
44193         Make c-stack work on Haiku.
44194         * lib/c-stack.c (SA_ONSTACK): Define fallback.
44195         (c_stack_action): Use SA_ONSTACK flag.
44196
44197 2008-12-22  Bruno Haible  <bruno@clisp.org>
44198
44199         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
44200
44201 2008-12-22  Bruno Haible  <bruno@clisp.org>
44202
44203         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
44204         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
44205         being overridden.
44206         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
44207         New macros.
44208         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
44209         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
44210         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
44211         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
44212
44213 2008-12-22  Bruno Haible  <bruno@clisp.org>
44214
44215         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
44216         from test code.
44217
44218 2008-12-22  Eric Blake  <ebb9@byu.net>
44219
44220         Avoid gcc warnings on cygwin.
44221         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
44222         Avoid unused variable.
44223         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
44224         Likewise.
44225
44226 2008-12-22  Bruno Haible  <bruno@clisp.org>
44227
44228         Remove HAVE_MBRTOWC conditionals.
44229         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
44230         (mbscasecmp): Assume mbrtowc function.
44231         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
44232         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
44233         * lib/mbschr.c: Include mbuiter.h unconditionally.
44234         (mbschr): Assume mbrtowc function.
44235         * lib/mbscspn.c: Include mbuiter.h unconditionally.
44236         (mbscspn): Assume mbrtowc function.
44237         * lib/mbslen.c: Include mbuiter.h unconditionally.
44238         (mbslen): Assume mbrtowc function.
44239         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
44240         (mbsncasecmp): Assume mbrtowc function.
44241         * lib/mbsnlen.c: Include mbiter.h unconditionally.
44242         (mbsnlen): Assume mbrtowc function.
44243         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
44244         (mbspbrk): Assume mbrtowc function.
44245         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
44246         (mbspcasecmp): Assume mbrtowc function.
44247         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
44248         (mbsrchr): Assume mbrtowc function.
44249         * lib/mbssep.c: Include mbuiter.h unconditionally.
44250         (mbssep): Assume mbrtowc function.
44251         * lib/mbsspn.c: Include mbuiter.h unconditionally.
44252         (mbsspn): Assume mbrtowc function.
44253         * lib/mbsstr.c: Include mbuiter.h unconditionally.
44254         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
44255         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
44256         (mbstok_r): Assume mbrtowc function.
44257         * lib/propername.c: Include mbuiter.h unconditionally.
44258         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
44259         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
44260         (trim2): Assume mbrtowc function.
44261         * lib/mbswidth.c (mbsinit): Remove fallback definition.
44262         (mbsnwidth): Assume mbrtowc function.
44263         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
44264         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
44265         fallback definitions.
44266         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
44267
44268 2008-12-22  Bruno Haible  <bruno@clisp.org>
44269
44270         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
44271
44272 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
44273
44274         * modules/regex: Request emulations for the mb*/wc* functions we need.
44275         * m4/regex.m4: Don't look for those functions here.
44276         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
44277
44278 2008-12-22  Bruno Haible  <bruno@clisp.org>
44279
44280         * modules/fnmatch (Depends-on): Remove duplicated dependency.
44281
44282 2008-12-21  Bruno Haible  <bruno@clisp.org>
44283
44284         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
44285         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
44286         (Include): Remove conditionalization.
44287         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
44288         (Include): Remove conditionalization.
44289         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
44290         (Include): Remove conditionalization.
44291         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
44292         * m4/mbfile.m4 (gl_MBFILE): Likewise.
44293         * NEWS: Mention the change.
44294         Reported by Alan Hourihane <alanh@fairlite.co.uk>
44295         via Sergey Poznyakoff <gray@gnu.org.ua>.
44296
44297 2008-12-21  Bruno Haible  <bruno@clisp.org>
44298
44299         * MODULES.html.sh (Extended multibyte and wide character utilities
44300         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
44301         wcrtomb, wcsrtombs.
44302         (Support for systems lacking POSIX:2008): Add accept, bind, close,
44303         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
44304         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
44305         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
44306
44307 2008-12-21  Bruno Haible  <bruno@clisp.org>
44308
44309         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
44310
44311 2008-12-21  Bruno Haible  <bruno@clisp.org>
44312
44313         * modules/wcsnrtombs-tests: New file.
44314         * tests/test-wcsnrtombs1.sh: New file.
44315         * tests/test-wcsnrtombs2.sh: New file.
44316         * tests/test-wcsnrtombs3.sh: New file.
44317         * tests/test-wcsnrtombs4.sh: New file.
44318         * tests/test-wcsnrtombs.c: New file.
44319
44320         New module 'wcsnrtombs'.
44321         * lib/wchar.in.h (wcsnrtombs): New declaration.
44322         * lib/wcsnrtombs.c: New file.
44323         * lib/wcsrtombs-state.c: New file.
44324         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
44325         (internal_state): Remove variable.
44326         * m4/wcsnrtombs.m4: New file.
44327         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
44328         compilation units.
44329         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
44330         HAVE_WCSNRTOMBS.
44331         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
44332         HAVE_WCSNRTOMBS.
44333         * modules/wcsnrtombs: New file.
44334         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
44335         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
44336
44337 2008-12-21  Bruno Haible  <bruno@clisp.org>
44338
44339         * modules/wcsrtombs-tests: New file.
44340         * tests/test-wcsrtombs1.sh: New file.
44341         * tests/test-wcsrtombs2.sh: New file.
44342         * tests/test-wcsrtombs3.sh: New file.
44343         * tests/test-wcsrtombs4.sh: New file.
44344         * tests/test-wcsrtombs.c: New file.
44345
44346         New module 'wcsrtombs'.
44347         * lib/wchar.in.h (wcsrtombs): New declaration.
44348         * lib/wcsrtombs.c: New file.
44349         * m4/wcsrtombs.m4: New file.
44350         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
44351         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
44352         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
44353         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
44354         * modules/wcsrtombs: New file.
44355         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
44356         bugs.
44357
44358 2008-12-21  Bruno Haible  <bruno@clisp.org>
44359
44360         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
44361         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
44362         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
44363         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
44364         if not correct.
44365         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
44366         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
44367         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
44368         m4/locale-zh.m4, m4/codeset.m4.
44369         * doc/posix-functions/wcrtomb.texi: Document the bug.
44370
44371 2008-12-21  Bruno Haible  <bruno@clisp.org>
44372
44373         Work around a btowc() bug on IRIX 6.5.
44374         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
44375         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
44376         REPLACE_WTOBC if not.
44377         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
44378         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
44379         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
44380
44381 2008-12-21  Bruno Haible  <bruno@clisp.org>
44382
44383         * modules/wcrtomb-tests: New file.
44384         * tests/test-wcrtomb.sh: New file.
44385         * tests/test-wcrtomb.c: New file.
44386
44387         New module 'wcrtomb'.
44388         * lib/wchar.in.h (wcrtomb): New declaration.
44389         * lib/wcrtomb.c: New file.
44390         * m4/wcrtomb.m4: New file.
44391         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
44392         HAVE_WCRTOMB.
44393         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
44394         HAVE_WCRTOMB.
44395         * modules/wcrtomb: New file.
44396         * doc/posix-functions/wcrtomb.texi: Mention the new module.
44397
44398 2008-12-21  Bruno Haible  <bruno@clisp.org>
44399
44400         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
44401         * modules/mbsrtowcs (Files): Likewise.
44402         * modules/wctob (Files): Likewise.
44403         * modules/c-strcase-tests (Files): Likewise.
44404         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
44405         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
44406         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
44407         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
44408         * modules/vasnprintf-posix-tests (Files): Likewise.
44409
44410 2008-12-21  William Pursell  <bill.pursell@gmail.com>
44411
44412         gitlog-to-changelog: pass all command-line arguments to git-log
44413         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
44414         it is sometimes convenient to filter the commits in various ways.
44415         gitlog-to-changelog only allows --since to specify a start date,
44416         but git-log itself supports many other filtering mechanisms.
44417         At the moment, I want to filter by branch name.  Rather than
44418         adding a --branch option to gitlog-to-changelog, it seems more
44419         flexible to simply pass all options directly to git-log and let
44420         git do the work.  Notice that this effectively makes --since a
44421         redundant option for gitlog-to-changelog, but removing it would
44422         require current usage to change since calls would then require
44423         an additional '--'.
44424
44425 2008-12-21  Bruno Haible  <bruno@clisp.org>
44426
44427         * modules/mbsnrtowcs-tests: New file.
44428         * tests/test-mbsnrtowcs1.sh: New file.
44429         * tests/test-mbsnrtowcs2.sh: New file.
44430         * tests/test-mbsnrtowcs3.sh: New file.
44431         * tests/test-mbsnrtowcs4.sh: New file.
44432         * tests/test-mbsnrtowcs.c: New file.
44433
44434         New module 'mbsnrtowcs'.
44435         * lib/wchar.in.h (mbsnrtowcs): New declaration.
44436         * lib/mbsnrtowcs.c: New file.
44437         * lib/mbsrtowcs-state.c: New file.
44438         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
44439         (internal_state): Remove variable.
44440         * m4/mbsnrtowcs.m4: New file.
44441         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
44442         compilation units.
44443         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
44444         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
44445         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
44446         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
44447         * modules/mbsnrtowcs: New file.
44448         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
44449         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
44450         portability problem.
44451
44452 2008-12-21  Bruno Haible  <bruno@clisp.org>
44453
44454         Work around mbsrtowcs bug.
44455         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
44456         (gl_FUNC_MBSRTOWCS): Invoke it.
44457         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
44458         m4/locale-zh.m4.
44459         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
44460
44461 2008-12-21  Bruno Haible  <bruno@clisp.org>
44462
44463         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
44464
44465 2008-12-21  Bruno Haible  <bruno@clisp.org>
44466
44467         Update doc for AIX.
44468         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
44469         16-bit wchar_t type.
44470         * doc/posix-functions/btowc.texi: Likewise.
44471         * doc/posix-functions/fgetwc.texi: Likewise.
44472         * doc/posix-functions/fgetws.texi: Likewise.
44473         * doc/posix-functions/fputwc.texi: Likewise.
44474         * doc/posix-functions/fputws.texi: Likewise.
44475         * doc/posix-functions/fwide.texi: Likewise.
44476         * doc/posix-functions/fwprintf.texi: Likewise.
44477         * doc/posix-functions/fwscanf.texi: Likewise.
44478         * doc/posix-functions/getwchar.texi: Likewise.
44479         * doc/posix-functions/getwc.texi: Likewise.
44480         * doc/posix-functions/iswalnum.texi: Likewise.
44481         * doc/posix-functions/iswalpha.texi: Likewise.
44482         * doc/posix-functions/iswblank.texi: Likewise.
44483         * doc/posix-functions/iswcntrl.texi: Likewise.
44484         * doc/posix-functions/iswctype.texi: Likewise.
44485         * doc/posix-functions/iswdigit.texi: Likewise.
44486         * doc/posix-functions/iswgraph.texi: Likewise.
44487         * doc/posix-functions/iswlower.texi: Likewise.
44488         * doc/posix-functions/iswprint.texi: Likewise.
44489         * doc/posix-functions/iswpunct.texi: Likewise.
44490         * doc/posix-functions/iswspace.texi: Likewise.
44491         * doc/posix-functions/iswupper.texi: Likewise.
44492         * doc/posix-functions/iswxdigit.texi: Likewise.
44493         * doc/posix-functions/mbrtowc.texi: Likewise.
44494         * doc/posix-functions/mbsrtowcs.texi: Likewise.
44495         * doc/posix-functions/mbstowcs.texi: Likewise.
44496         * doc/posix-functions/mbtowc.texi: Likewise.
44497         * doc/posix-functions/putwchar.texi: Likewise.
44498         * doc/posix-functions/putwc.texi: Likewise.
44499         * doc/posix-functions/swprintf.texi: Likewise.
44500         * doc/posix-functions/tolower.texi: Likewise.
44501         * doc/posix-functions/toupper.texi: Likewise.
44502         * doc/posix-functions/towctrans.texi: Likewise.
44503         * doc/posix-functions/ungetwc.texi: Likewise.
44504         * doc/posix-functions/vswprintf.texi: Likewise.
44505         * doc/posix-functions/wcrtomb.texi: Likewise.
44506         * doc/posix-functions/wcscat.texi: Likewise.
44507         * doc/posix-functions/wcschr.texi: Likewise.
44508         * doc/posix-functions/wcscmp.texi: Likewise.
44509         * doc/posix-functions/wcscoll.texi: Likewise.
44510         * doc/posix-functions/wcscpy.texi: Likewise.
44511         * doc/posix-functions/wcscspn.texi: Likewise.
44512         * doc/posix-functions/wcsftime.texi: Likewise.
44513         * doc/posix-functions/wcslen.texi: Likewise.
44514         * doc/posix-functions/wcsncat.texi: Likewise.
44515         * doc/posix-functions/wcsncmp.texi: Likewise.
44516         * doc/posix-functions/wcsncpy.texi: Likewise.
44517         * doc/posix-functions/wcspbrk.texi: Likewise.
44518         * doc/posix-functions/wcsrchr.texi: Likewise.
44519         * doc/posix-functions/wcsrtombs.texi: Likewise.
44520         * doc/posix-functions/wcsspn.texi: Likewise.
44521         * doc/posix-functions/wcsstr.texi: Likewise.
44522         * doc/posix-functions/wcstod.texi: Likewise.
44523         * doc/posix-functions/wcstof.texi: Likewise.
44524         * doc/posix-functions/wcstoimax.texi: Likewise.
44525         * doc/posix-functions/wcstok.texi: Likewise.
44526         * doc/posix-functions/wcstold.texi: Likewise.
44527         * doc/posix-functions/wcstoll.texi: Likewise.
44528         * doc/posix-functions/wcstol.texi: Likewise.
44529         * doc/posix-functions/wcstombs.texi: Likewise.
44530         * doc/posix-functions/wcstoull.texi: Likewise.
44531         * doc/posix-functions/wcstoul.texi: Likewise.
44532         * doc/posix-functions/wcstoumax.texi: Likewise.
44533         * doc/posix-functions/wcswidth.texi: Likewise.
44534         * doc/posix-functions/wcsxfrm.texi: Likewise.
44535         * doc/posix-functions/wctob.texi: Likewise.
44536         * doc/posix-functions/wctomb.texi: Likewise.
44537         * doc/posix-functions/wctrans.texi: Likewise.
44538         * doc/posix-functions/wctype.texi: Likewise.
44539         * doc/posix-functions/wcwidth.texi: Likewise.
44540         * doc/posix-functions/wmemchr.texi: Likewise.
44541         * doc/posix-functions/wmemcmp.texi: Likewise.
44542         * doc/posix-functions/wmemcpy.texi: Likewise.
44543         * doc/posix-functions/wmemmove.texi: Likewise.
44544         * doc/posix-functions/wmemset.texi: Likewise.
44545         * doc/posix-functions/wprintf.texi: Likewise.
44546         * doc/posix-functions/wscanf.texi: Likewise.
44547
44548 2008-12-21  Bruno Haible  <bruno@clisp.org>
44549
44550         Update doc for HP-UX 11.11.
44551         * doc/posix-functions/btowc.texi: Clarify that the function is missing
44552         in HP-UX version 11.00, not in all versions of HP-UX 11.
44553         * doc/posix-functions/fwide.texi: Likewise.
44554         * doc/posix-functions/fwprintf.texi: Likewise.
44555         * doc/posix-functions/fwscanf.texi: Likewise.
44556         * doc/posix-functions/inet_ntop.texi: Likewise.
44557         * doc/posix-functions/inet_pton.texi: Likewise.
44558         * doc/posix-functions/mbrlen.texi: Likewise.
44559         * doc/posix-functions/mbrtowc.texi: Likewise.
44560         * doc/posix-functions/mbsinit.texi: Likewise.
44561         * doc/posix-functions/mbsrtowcs.texi: Likewise.
44562         * doc/posix-functions/swprintf.texi: Likewise.
44563         * doc/posix-functions/swscanf.texi: Likewise.
44564         * doc/posix-functions/towctrans.texi: Likewise.
44565         * doc/posix-functions/vfwprintf.texi: Likewise.
44566         * doc/posix-functions/vswprintf.texi: Likewise.
44567         * doc/posix-functions/vwprintf.texi: Likewise.
44568         * doc/posix-functions/wcrtomb.texi: Likewise.
44569         * doc/posix-functions/wcsrtombs.texi: Likewise.
44570         * doc/posix-functions/wcsstr.texi: Likewise.
44571         * doc/posix-functions/wctob.texi: Likewise.
44572         * doc/posix-functions/wctrans.texi: Likewise.
44573         * doc/posix-functions/wmemchr.texi: Likewise.
44574         * doc/posix-functions/wmemcmp.texi: Likewise.
44575         * doc/posix-functions/wmemcpy.texi: Likewise.
44576         * doc/posix-functions/wmemmove.texi: Likewise.
44577         * doc/posix-functions/wmemset.texi: Likewise.
44578         * doc/posix-functions/wprintf.texi: Likewise.
44579         * doc/posix-functions/wscanf.texi: Likewise.
44580
44581 2008-12-21  Bruno Haible  <bruno@clisp.org>
44582
44583         Work around a portability problem.
44584         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
44585         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
44586
44587 2008-12-20  Bruno Haible  <bruno@clisp.org>
44588
44589         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
44590         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
44591         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
44592         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
44593         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
44594
44595         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
44596         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
44597         set.
44598         (GNULIB_defined_mbstate_t): New macro.
44599         (mbsinit): Redefine if REPLACE_MBSINIT is set.
44600         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
44601         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
44602         reuses the system's mbrtowc function but works around the bugs.
44603         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
44604         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
44605         macros.
44606         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
44607         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
44608         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
44609         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
44610         REPLACE_MBSINIT if mbsinit needs to be overridden.
44611         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
44612         REPLACE_MBSINIT, REPLACE_MBRTOWC.
44613         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
44614         REPLACE_MBSINIT, REPLACE_MBRTOWC.
44615         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
44616         m4/locale-zh.m4.
44617         (Depends): Add mbsinit.
44618         * modules/mbsinit (Depends): Add mbrtowc.
44619         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
44620
44621 2008-12-20  Bruno Haible  <bruno@clisp.org>
44622
44623         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
44624         so that there are no conversion errors on AIX.
44625         * tests/test-mbsrtowcs.c (main): LIkewise.
44626
44627 2008-12-20  Bruno Haible  <bruno@clisp.org>
44628
44629         Work around wctob bug on Solaris <= 9.
44630         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
44631         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
44632         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
44633         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
44634         * modules/wctob (Files): Add m4/locale-fr.m4.
44635         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
44636
44637 2008-12-20  Bruno Haible  <bruno@clisp.org>
44638
44639         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
44640         /dev/null.
44641         * tests/test-select-in.sh: Likewise.
44642         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44643
44644 2008-12-20  Bruno Haible  <bruno@clisp.org>
44645
44646         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
44647         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
44648         Cygwin 1.5.x.
44649
44650 2008-12-20  Bruno Haible  <bruno@clisp.org>
44651
44652         Ensure mbstate_t is defined on HP-UX 11.11.
44653         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
44654         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
44655         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
44656         AC_USE_SYSTEM_EXTENSIONS.
44657         * modules/fnmatch (Depends-on): Add extensions.
44658         * modules/mbrlen (Depends-on): Likewise.
44659         * modules/mbrtowc (Depends-on): Likewise.
44660         * modules/mbsinit (Depends-on): Likewise.
44661         * modules/mbsrtowcs (Depends-on): Likewise.
44662         * modules/mbswidth (Depends-on): Likewise.
44663         * modules/quotearg (Depends-on): Likewise.
44664         * modules/strftime (Depends-on): Likewise.
44665
44666 2008-12-20  Bruno Haible  <bruno@clisp.org>
44667
44668         Ensure wctob is declared on IRIX 6.5.
44669         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
44670         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
44671         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
44672         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
44673         of HAVE_WCTOB.
44674         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
44675         HAVE_WCTOB.
44676         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
44677
44678 2008-12-19  Bruno Haible  <bruno@clisp.org>
44679
44680         * modules/mbsrtowcs-tests: New file.
44681         * tests/test-mbsrtowcs1.sh: New file.
44682         * tests/test-mbsrtowcs2.sh: New file.
44683         * tests/test-mbsrtowcs3.sh: New file.
44684         * tests/test-mbsrtowcs4.sh: New file.
44685         * tests/test-mbsrtowcs.c: New file.
44686
44687         New module 'mbsrtowcs'.
44688         * lib/wchar.in.h (mbsrtowcs): New declaration.
44689         * lib/mbsrtowcs.c: New file.
44690         * m4/mbsrtowcs.m4: New file.
44691         * modules/mbsrtowcs: New file.
44692         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
44693         HAVE_MBSRTOWCS.
44694         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
44695         HAVE_MBSRTOWCS.
44696         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
44697
44698 2008-12-19  Bruno Haible  <bruno@clisp.org>
44699
44700         New module 'mbrlen'.
44701         * lib/wchar.in.h (mbrlen): New declaration.
44702         * lib/mbrlen.c: New file.
44703         * m4/mbrlen.m4: New file.
44704         * modules/mbrlen: New file.
44705         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
44706         HAVE_MBRLEN.
44707         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
44708         HAVE_MBRLEN.
44709         * doc/posix-functions/mbrlen.texi: Document the new module.
44710
44711 2008-12-19  Bruno Haible  <bruno@clisp.org>
44712
44713         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
44714         * modules/mbrtowc (Depends-on): Add verify.
44715         Suggested by Paul Eggert.
44716
44717 2008-12-18  Bruno Haible  <bruno@clisp.org>
44718
44719         * modules/mbsinit-tests: New file.
44720         * tests/test-mbsinit.sh: New file.
44721         * tests/test-mbsinit.c: New file.
44722
44723 2008-12-18  Bruno Haible  <bruno@clisp.org>
44724
44725         * modules/mbrtowc-tests: New file.
44726         * tests/test-mbrtowc1.sh: New file.
44727         * tests/test-mbrtowc2.sh: New file.
44728         * tests/test-mbrtowc3.sh: New file.
44729         * tests/test-mbrtowc4.sh: New file.
44730         * tests/test-mbrtowc.c: New file.
44731
44732         New module 'mbrtowc'.
44733         * lib/wchar.in.h (mbstate_t): Override when the system does not have
44734         mbsinit and mbrtowc.
44735         (mbrtowc): New declaration.
44736         * lib/mbrtowc.c: New file.
44737         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
44738         * modules/mbrtowc: New file.
44739         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
44740         HAVE_MBRTOWC.
44741         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
44742         HAVE_MBRTOWC.
44743         * doc/posix-functions/mbrtowc.texi: Document the new module.
44744
44745 2008-12-18  Bruno Haible  <bruno@clisp.org>
44746
44747         New module 'wctob'.
44748         * lib/wchar.in.h (wctob): New declaration.
44749         * lib/wctob.c: New file.
44750         * m4/wctob.m4: New file.
44751         * modules/wctob: New file.
44752         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
44753         HAVE_WCTOB.
44754         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
44755         * doc/posix-functions/wctob.texi: Document the new module.
44756
44757 2008-12-18  Bruno Haible  <bruno@clisp.org>
44758
44759         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
44760         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
44761
44762 2008-12-18  Simon Josefsson  <simon@josefsson.org>
44763
44764         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
44765         G. Christensen" <tgc@jupiterrise.com>.
44766
44767         * lib/flock.c: Need to include errno.h.  Reported by "Tom
44768         G. Christensen" <tgc@jupiterrise.com>.
44769
44770         * lib/flock.c: Need to include string.h.  Reported by "Tom
44771         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
44772         <ebb9@byu.net>.
44773
44774 2008-12-18  Bruno Haible  <bruno@clisp.org>
44775
44776         * m4/locale-ja.m4: New file, from GNU gettext.
44777
44778 2008-12-17  Bruno Haible  <bruno@clisp.org>
44779
44780         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
44781         Suggested by Eric Blake.
44782
44783 2008-12-17  Bruno Haible  <bruno@clisp.org>
44784
44785         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
44786
44787 2008-12-17  Bruno Haible  <bruno@clisp.org>
44788
44789         * lib/mbsinit.c: Include verify.h. Verify an assumption.
44790         * modules/mbsinit (Depends-on): Add verify.
44791         Suggested by Paul Eggert.
44792
44793 2008-12-17  Bruno Haible  <bruno@clisp.org>
44794
44795         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
44796         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
44797         gl_FUNC_MBRTOWC.
44798         * m4/mbiter.m4 (gl_MBITER): LIkewise.
44799         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
44800         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
44801         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
44802         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
44803         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
44804         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
44805         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
44806         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
44807         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
44808         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
44809         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
44810         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
44811         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
44812         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
44813         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44814         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
44815         * modules/trim (configure.ac): Likewise.
44816
44817 2008-12-17  Bruno Haible  <bruno@clisp.org>
44818
44819         * modules/btowc-tests: New file.
44820         * tests/test-btowc1.sh: New file.
44821         * tests/test-btowc2.sh: New file.
44822         * tests/test-btowc.c: New file.
44823
44824         New module 'btowc'.
44825         * lib/wchar.in.h (btowc): New declaration.
44826         * lib/btowc.c: New file.
44827         * m4/btowc.m4: New file.
44828         * modules/btowc: New file.
44829         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
44830         HAVE_BTOWC.
44831         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
44832         * doc/posix-functions/btowc.texi: Document the new module.
44833
44834 2008-12-17  Bruno Haible  <bruno@clisp.org>
44835
44836         New module 'mbsinit'.
44837         * lib/wchar.in.h (mbsinit): New declaration.
44838         * lib/mbsinit.c: New file.
44839         * m4/mbsinit.m4: New file.
44840         * modules/mbsinit: New file.
44841         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
44842         HAVE_MBSINIT.
44843         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
44844         HAVE_MBSINIT.
44845         * doc/posix-functions/mbsinit.texi: Document the new module.
44846
44847 2008-12-16  Bruno Haible  <bruno@clisp.org>
44848
44849         * lib/unistd.in.h: Add comment.
44850         * tests/test-environ.c: Don't include <stdlib.h>.
44851
44852 2008-12-16  Bruno Haible  <bruno@clisp.org>
44853
44854         * lib/parse-duration.h (parse_duration): Document return value
44855         convention.
44856         * lib/parse-duration.c: Include specification header first. Add
44857         comments.
44858         (_): Remove macro.
44859         (parse_year_month_day, parse_hour_minute_second): Move side effects
44860         outside of strchr call.
44861         (parse_non_iso8601): Move side effects outside of isspace call.
44862         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
44863         call.
44864
44865 2008-12-16  Bruno Haible  <bruno@clisp.org>
44866
44867         * tests/test-parse-duration.sh: Produce no output when the test
44868         succeeds.
44869
44870 2008-12-16  Bruno Haible  <bruno@clisp.org>
44871
44872         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
44873         expressions.
44874
44875 2008-12-15  Bruno Haible  <bruno@clisp.org>
44876
44877         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
44878         * doc/glibc-functions/flistxattr.texi: Likewise.
44879         * doc/glibc-functions/fopencookie.texi: Likewise.
44880         * doc/glibc-functions/fremovexattr.texi: Likewise.
44881         * doc/glibc-functions/fsetxattr.texi: Likewise.
44882         * doc/glibc-functions/getxattr.texi: Likewise.
44883         * doc/glibc-functions/lgetxattr.texi: Likewise.
44884         * doc/glibc-functions/listxattr.texi: Likewise.
44885         * doc/glibc-functions/llistxattr.texi: Likewise.
44886         * doc/glibc-functions/lremovexattr.texi: Likewise.
44887         * doc/glibc-functions/lsetxattr.texi: Likewise.
44888         * doc/glibc-functions/removexattr.texi: Likewise.
44889         * doc/glibc-functions/setxattr.texi: Likewise.
44890         * doc/posix-functions/open_memstream.texi: Likewise.
44891
44892 2008-12-15  Eric Blake  <ebb9@byu.net>
44893
44894         Update doc for cygwin 1.7.
44895         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
44896         functions.
44897         * doc/posix-functions/fchmodat.texi: Likewise.
44898         * doc/posix-functions/fchownat.texi: Likewise.
44899         * doc/posix-functions/fdopendir.texi: Likewise.
44900         * doc/posix-functions/fmemopen.texi: Likewise.
44901         * doc/posix-functions/freeaddrinfo.texi: Likewise.
44902         * doc/posix-functions/fstatat.texi: Likewise.
44903         * doc/posix-functions/futimens.texi: Likewise.
44904         * doc/posix-functions/gai_strerror.texi: Likewise.
44905         * doc/posix-functions/getaddrinfo.texi: Likewise.
44906         * doc/posix-functions/getnameinfo.texi: Likewise.
44907         * doc/posix-functions/if_freenameindex.texi: Likewise.
44908         * doc/posix-functions/if_indextoname.texi: Likewise.
44909         * doc/posix-functions/if_nameindex.texi: Likewise.
44910         * doc/posix-functions/if_nametoindex.texi: Likewise.
44911         * doc/posix-functions/insque.texi: Likewise.
44912         * doc/posix-functions/linkat.texi: Likewise.
44913         * doc/posix-functions/llrint.texi: Likewise.
44914         * doc/posix-functions/llrintf.texi: Likewise.
44915         * doc/posix-functions/llrintl.texi: Likewise.
44916         * doc/posix-functions/lockf.texi: Likewise.
44917         * doc/posix-functions/lrintl.texi: Likewise.
44918         * doc/posix-functions/mkdirat.texi: Likewise.
44919         * doc/posix-functions/mkfifoat.texi: Likewise.
44920         * doc/posix-functions/mknodat.texi: Likewise.
44921         * doc/posix-functions/mq_close.texi: Likewise.
44922         * doc/posix-functions/mq_getattr.texi: Likewise.
44923         * doc/posix-functions/mq_notify.texi: Likewise.
44924         * doc/posix-functions/mq_open.texi: Likewise.
44925         * doc/posix-functions/mq_receive.texi: Likewise.
44926         * doc/posix-functions/mq_send.texi: Likewise.
44927         * doc/posix-functions/mq_setattr.texi: Likewise.
44928         * doc/posix-functions/mq_timedreceive.texi: Likewise.
44929         * doc/posix-functions/mq_timedsend.texi: Likewise.
44930         * doc/posix-functions/mq_unlink.texi: Likewise.
44931         * doc/posix-functions/open_memstream.texi: Likewise.
44932         * doc/posix-functions/openat.texi: Likewise.
44933         * doc/posix-functions/posix_fadvise.texi: Likewise.
44934         * doc/posix-functions/posix_fallocate.texi: Likewise.
44935         * doc/posix-functions/posix_madvise.texi: Likewise.
44936         * doc/posix-functions/posix_memalign.texi: Likewise.
44937         * doc/posix-functions/posix_openpt.texi: Likewise.
44938         * doc/posix-functions/readlinkat.texi: Likewise.
44939         * doc/posix-functions/remque.texi: Likewise.
44940         * doc/posix-functions/renameat.texi: Likewise.
44941         * doc/posix-functions/rintl.texi: Likewise.
44942         * doc/posix-functions/sem_unlink.texi: Likewise.
44943         * doc/posix-functions/shm_open.texi: Likewise.
44944         * doc/posix-functions/shm_unlink.texi: Likewise.
44945         * doc/posix-functions/signgam.texi: Likewise.
44946         * doc/posix-functions/sigset.texi: Likewise.
44947         * doc/posix-functions/stpcpy.texi: Likewise.
44948         * doc/posix-functions/stpncpy.texi: Likewise.
44949         * doc/posix-functions/strerror.texi: Likewise.
44950         * doc/posix-functions/strtod.texi: Likewise.
44951         * doc/posix-functions/symlinkat.texi: Likewise.
44952         * doc/posix-functions/unlinkat.texi: Likewise.
44953         * doc/posix-functions/utimensat.texi: Likewise.
44954         * doc/glibc-functions/bindresvport.texi: Likewise.
44955         * doc/glibc-functions/dn_expand.texi: Likewise.
44956         * doc/glibc-functions/exp10.texi: Likewise.
44957         * doc/glibc-functions/exp10f.texi: Likewise.
44958         * doc/glibc-functions/fgetxattr.texi: Likewise.
44959         * doc/glibc-functions/flistxattr.texi: Likewise.
44960         * doc/glibc-functions/fopencookie.texi: Likewise.
44961         * doc/glibc-functions/freeifaddrs.texi: Likewise.
44962         * doc/glibc-functions/fremovexattr.texi: Likewise.
44963         * doc/glibc-functions/fsetxattr.texi: Likewise.
44964         * doc/glibc-functions/getifaddrs.texi: Likewise.
44965         * doc/glibc-functions/getxattr.texi: Likewise.
44966         * doc/glibc-functions/lgetxattr.texi: Likewise.
44967         * doc/glibc-functions/listxattr.texi: Likewise.
44968         * doc/glibc-functions/llistxattr.texi: Likewise.
44969         * doc/glibc-functions/lremovexattr.texi: Likewise.
44970         * doc/glibc-functions/lsetxattr.texi: Likewise.
44971         * doc/glibc-functions/pow10.texi: Likewise.
44972         * doc/glibc-functions/pow10f.texi: Likewise.
44973         * doc/glibc-functions/rcmd_af.texi: Likewise.
44974         * doc/glibc-functions/removexattr.texi: Likewise.
44975         * doc/glibc-functions/res_init.texi: Likewise.
44976         * doc/glibc-functions/res_mkquery.texi: Likewise.
44977         * doc/glibc-functions/res_query.texi: Likewise.
44978         * doc/glibc-functions/res_querydomain.texi: Likewise.
44979         * doc/glibc-functions/res_send.texi: Likewise.
44980         * doc/glibc-functions/rresvport_af.texi: Likewise.
44981         * doc/glibc-functions/setxattr.texi: Likewise.
44982         * doc/glibc-functions/strcasestr.texi: Likewise.
44983
44984 2008-12-15  Bruno Haible  <bruno@clisp.org>
44985
44986         Fix compilation error on OSF/1 4.0.
44987         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
44988         <sys/time.h>, simply delegate to the system header.
44989         Reported by Daniel Richard G. <oss@teragram.com>.
44990
44991 2008-12-15  Bruno Haible  <bruno@clisp.org>
44992
44993         * doc/posix-functions/openat.texi: Mention the 'openat' module.
44994         * doc/posix-functions/fchmodat.texi: Likewise.
44995         * doc/posix-functions/fchownat.texi: Likewise.
44996         * doc/posix-functions/fdopendir.texi: Likewise.
44997         * doc/posix-functions/fstatat.texi: Likewise.
44998         * doc/posix-functions/mkdirat.texi: Likewise.
44999         * doc/posix-functions/unlinkat.texi: Likewise.
45000
45001 2008-12-14  Bruno Haible  <bruno@clisp.org>
45002
45003         Update doc for POSIX:2008.
45004         * doc/posix-functions/faccessat.texi: New file.
45005         * doc/posix-functions/fchmodat.texi: New file.
45006         * doc/posix-functions/fchownat.texi: New file.
45007         * doc/posix-functions/fdopendir.texi: New file.
45008         * doc/posix-functions/fstatat.texi: New file.
45009         * doc/posix-functions/futimens.texi: New file.
45010         * doc/posix-functions/linkat.texi: New file.
45011         * doc/posix-functions/mkdirat.texi: New file.
45012         * doc/posix-functions/mkfifoat.texi: New file.
45013         * doc/posix-functions/mknodat.texi: New file.
45014         * doc/posix-functions/open_wmemstream.texi: New file.
45015         * doc/posix-functions/openat.texi: New file.
45016         * doc/posix-functions/psiginfo.texi: New file.
45017         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
45018         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
45019         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
45020         * doc/posix-functions/readlinkat.texi: New file.
45021         * doc/posix-functions/renameat.texi: New file.
45022         * doc/posix-functions/strerror_l.texi: New file.
45023         * doc/posix-functions/symlinkat.texi: New file.
45024         * doc/posix-functions/unlinkat.texi: New file.
45025         * doc/posix-functions/utimensat.texi: New file.
45026         * doc/gnulib.texi (Function Substitutes): Add these subsections.
45027
45028 2008-12-14  Bruno Haible  <bruno@clisp.org>
45029
45030         Update doc for POSIX:2008.
45031         * doc/posix-functions/alphasort.texi: Renamed from
45032         doc/glibc-functions/alphasort.texi.
45033         * doc/posix-functions/dirfd.texi: Renamed from
45034         doc/glibc-functions/dirfd.texi.
45035         * doc/posix-functions/dprintf.texi: Renamed from
45036         doc/glibc-functions/dprintf.texi.
45037         * doc/posix-functions/duplocale.texi: Renamed from
45038         doc/glibc-functions/duplocale.texi.
45039         * doc/posix-functions/fexecve.texi: Renamed from
45040         doc/glibc-functions/fexecve.texi.
45041         * doc/posix-functions/fmemopen.texi: Renamed from
45042         doc/glibc-functions/fmemopen.texi.
45043         * doc/posix-functions/freelocale.texi: Renamed from
45044         doc/glibc-functions/freelocale.texi.
45045         * doc/posix-functions/getdate_err.texi: Renamed from
45046         doc/glibc-functions/getdate_err.texi.
45047         * doc/posix-functions/isalnum_l.texi: Renamed from
45048         doc/glibc-functions/isalnum_l.texi.
45049         * doc/posix-functions/isalpha_l.texi: Renamed from
45050         doc/glibc-functions/isalpha_l.texi.
45051         * doc/posix-functions/isblank_l.texi: Renamed from
45052         doc/glibc-functions/isblank_l.texi.
45053         * doc/posix-functions/iscntrl_l.texi: Renamed from
45054         doc/glibc-functions/iscntrl_l.texi.
45055         * doc/posix-functions/isdigit_l.texi: Renamed from
45056         doc/glibc-functions/isdigit_l.texi.
45057         * doc/posix-functions/isgraph_l.texi: Renamed from
45058         doc/glibc-functions/isgraph_l.texi.
45059         * doc/posix-functions/islower_l.texi: Renamed from
45060         doc/glibc-functions/islower_l.texi.
45061         * doc/posix-functions/isprint_l.texi: Renamed from
45062         doc/glibc-functions/isprint_l.texi.
45063         * doc/posix-functions/ispunct_l.texi: Renamed from
45064         doc/glibc-functions/ispunct_l.texi.
45065         * doc/posix-functions/isspace_l.texi: Renamed from
45066         doc/glibc-functions/isspace_l.texi.
45067         * doc/posix-functions/isupper_l.texi: Renamed from
45068         doc/glibc-functions/isupper_l.texi.
45069         * doc/posix-functions/iswalnum_l.texi: Renamed from
45070         doc/glibc-functions/iswalnum_l.texi.
45071         * doc/posix-functions/iswalpha_l.texi: Renamed from
45072         doc/glibc-functions/iswalpha_l.texi.
45073         * doc/posix-functions/iswblank_l.texi: Renamed from
45074         doc/glibc-functions/iswblank_l.texi.
45075         * doc/posix-functions/iswcntrl_l.texi: Renamed from
45076         doc/glibc-functions/iswcntrl_l.texi.
45077         * doc/posix-functions/iswctype_l.texi: Renamed from
45078         doc/glibc-functions/iswctype_l.texi.
45079         * doc/posix-functions/iswdigit_l.texi: Renamed from
45080         doc/glibc-functions/iswdigit_l.texi.
45081         * doc/posix-functions/iswgraph_l.texi: Renamed from
45082         doc/glibc-functions/iswgraph_l.texi.
45083         * doc/posix-functions/iswlower_l.texi: Renamed from
45084         doc/glibc-functions/iswlower_l.texi.
45085         * doc/posix-functions/iswprint_l.texi: Renamed from
45086         doc/glibc-functions/iswprint_l.texi.
45087         * doc/posix-functions/iswpunct_l.texi: Renamed from
45088         doc/glibc-functions/iswpunct_l.texi.
45089         * doc/posix-functions/iswspace_l.texi: Renamed from
45090         doc/glibc-functions/iswspace_l.texi.
45091         * doc/posix-functions/iswupper_l.texi: Renamed from
45092         doc/glibc-functions/iswupper_l.texi.
45093         * doc/posix-functions/iswxdigit_l.texi: Renamed from
45094         doc/glibc-functions/iswxdigit_l.texi.
45095         * doc/posix-functions/isxdigit_l.texi: Renamed from
45096         doc/glibc-functions/isxdigit_l.texi.
45097         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
45098         doc/glibc-functions/mbsnrtowcs.texi.
45099         * doc/posix-functions/mkdtemp.texi: Renamed from
45100         doc/glibc-functions/mkdtemp.texi.
45101         * doc/posix-functions/newlocale.texi: Renamed from
45102         doc/glibc-functions/newlocale.texi.
45103         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
45104         doc/glibc-functions/nl_langinfo_l.texi.
45105         * doc/posix-functions/open_memstream.texi: Renamed from
45106         doc/glibc-functions/open_memstream.texi.
45107         * doc/posix-functions/opterr.texi: Renamed from
45108         doc/glibc-functions/opterr.texi.
45109         * doc/posix-functions/optind.texi: Renamed from
45110         doc/glibc-functions/optind.texi.
45111         * doc/posix-functions/optopt.texi: Renamed from
45112         doc/glibc-functions/optopt.texi.
45113         * doc/posix-functions/psignal.texi: Renamed from
45114         doc/glibc-functions/psignal.texi.
45115         * doc/posix-functions/scandir.texi: Renamed from
45116         doc/glibc-functions/scandir.texi.
45117         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
45118         doc/glibc-functions/sched_get_priority_min.texi.
45119         * doc/posix-functions/signgam.texi: Renamed from
45120         doc/glibc-functions/signgam.texi.
45121         * doc/posix-functions/stpcpy.texi: Renamed from
45122         doc/glibc-functions/stpcpy.texi.
45123         * doc/posix-functions/stpncpy.texi: Renamed from
45124         doc/glibc-functions/stpncpy.texi.
45125         * doc/posix-functions/strcasecmp_l.texi: Renamed from
45126         doc/glibc-functions/strcasecmp_l.texi.
45127         * doc/posix-functions/strcoll_l.texi: Renamed from
45128         doc/glibc-functions/strcoll_l.texi.
45129         * doc/posix-functions/strfmon_l.texi: Renamed from
45130         doc/glibc-functions/strfmon_l.texi.
45131         * doc/posix-functions/strftime_l.texi: Renamed from
45132         doc/glibc-functions/strftime_l.texi.
45133         * doc/posix-functions/strncasecmp_l.texi: Renamed from
45134         doc/glibc-functions/strncasecmp_l.texi.
45135         * doc/posix-functions/strndup.texi: Renamed from
45136         doc/glibc-functions/strndup.texi.
45137         * doc/posix-functions/strnlen.texi: Renamed from
45138         doc/glibc-functions/strnlen.texi.
45139         * doc/posix-functions/strsignal.texi: Renamed from
45140         doc/glibc-functions/strsignal.texi.
45141         * doc/posix-functions/strxfrm_l.texi: Renamed from
45142         doc/glibc-functions/strxfrm_l.texi.
45143         * doc/posix-functions/timer_gettime.texi: Renamed from
45144         doc/glibc-functions/timer_gettime.texi.
45145         * doc/posix-functions/tolower_l.texi: Renamed from
45146         doc/glibc-functions/tolower_l.texi.
45147         * doc/posix-functions/toupper_l.texi: Renamed from
45148         doc/glibc-functions/toupper_l.texi.
45149         * doc/posix-functions/towctrans_l.texi: Renamed from
45150         doc/glibc-functions/towctrans_l.texi.
45151         * doc/posix-functions/towlower_l.texi: Renamed from
45152         doc/glibc-functions/towlower_l.texi.
45153         * doc/posix-functions/towupper_l.texi: Renamed from
45154         doc/glibc-functions/towupper_l.texi.
45155         * doc/posix-functions/uselocale.texi: Renamed from
45156         doc/glibc-functions/uselocale.texi.
45157         * doc/posix-functions/vdprintf.texi: Renamed from
45158         doc/glibc-functions/vdprintf.texi.
45159         * doc/posix-functions/wcpcpy.texi:
45160         Renamed from doc/glibc-functions/wcpcpy.texi.
45161         * doc/posix-functions/wcpncpy.texi: Renamed from
45162         doc/glibc-functions/wcpncpy.texi.
45163         * doc/posix-functions/wcscasecmp.texi: Renamed from
45164         doc/glibc-functions/wcscasecmp.texi.
45165         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
45166         doc/glibc-functions/wcscasecmp_l.texi.
45167         * doc/posix-functions/wcscoll_l.texi: Renamed from
45168         doc/glibc-functions/wcscoll_l.texi.
45169         * doc/posix-functions/wcsdup.texi: Renamed from
45170         doc/glibc-functions/wcsdup.texi.
45171         * doc/posix-functions/wcsncasecmp.texi: Renamed from
45172         doc/glibc-functions/wcsncasecmp.texi.
45173         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
45174         doc/glibc-functions/wcsncasecmp_l.texi.
45175         * doc/posix-functions/wcsnlen.texi: Renamed from
45176         doc/glibc-functions/wcsnlen.texi.
45177         * doc/posix-functions/wcsnrtombs.texi: Renamed from
45178         doc/glibc-functions/wcsnrtombs.texi.
45179         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
45180         doc/glibc-functions/wcsxfrm_l.texi.
45181         * doc/posix-functions/wctrans_l.texi: Renamed from
45182         doc/glibc-functions/wctrans_l.texi.
45183         * doc/posix-functions/wctype_l.texi: Renamed from
45184         doc/glibc-functions/wctype_l.texi.
45185         * doc/gnulib.texi (Function Substitutes): Add these subsections.
45186         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
45187         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
45188         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
45189         these subsections.
45190         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
45191         Remove sections.
45192
45193 2008-12-14  Bruno Haible  <bruno@clisp.org>
45194
45195         Update doc for POSIX:2008.
45196         * doc/posix-functions/*.texi: Update URL of POSIX specification.
45197
45198 2008-12-14  Bruno Haible  <bruno@clisp.org>
45199
45200         Update doc for POSIX:2008.
45201         * doc/pastposix-functions/bcmp.texi: Renamed from
45202         doc/posix-functions/bcmp.texi.
45203         * doc/pastposix-functions/bcopy.texi: Renamed from
45204         doc/posix-functions/bcopy.texi.
45205         * doc/pastposix-functions/bsd_signal.texi: Renamed from
45206         doc/posix-functions/bsd_signal.texi.
45207         * doc/pastposix-functions/bzero.texi: Renamed from
45208         doc/posix-functions/bzero.texi.
45209         * doc/pastposix-functions/ecvt.texi: Renamed from
45210         doc/posix-functions/ecvt.texi.
45211         * doc/pastposix-functions/fcvt.texi: Renamed from
45212         doc/posix-functions/fcvt.texi.
45213         * doc/pastposix-functions/ftime.texi: Renamed from
45214         doc/posix-functions/ftime.texi.
45215         * doc/pastposix-functions/gcvt.texi: Renamed from
45216         doc/posix-functions/gcvt.texi.
45217         * doc/pastposix-functions/getcontext.texi: Renamed from
45218         doc/posix-functions/getcontext.texi.
45219         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
45220         doc/posix-functions/gethostbyaddr.texi.
45221         * doc/pastposix-functions/gethostbyname.texi: Renamed from
45222         doc/posix-functions/gethostbyname.texi.
45223         * doc/pastposix-functions/getwd.texi: Renamed from
45224         doc/posix-functions/getwd.texi.
45225         * doc/pastposix-functions/h_errno.texi: Renamed from
45226         doc/posix-functions/h_errno.texi.
45227         * doc/pastposix-functions/index.texi: Renamed from
45228         doc/posix-functions/index.texi.
45229         * doc/pastposix-functions/makecontext.texi: Renamed from
45230         doc/posix-functions/makecontext.texi.
45231         * doc/pastposix-functions/mktemp.texi: Renamed from
45232         doc/posix-functions/mktemp.texi.
45233         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
45234         doc/posix-functions/pthread_attr_getstackaddr.texi.
45235         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
45236         doc/posix-functions/pthread_attr_setstackaddr.texi.
45237         * doc/pastposix-functions/rindex.texi: Renamed from
45238         doc/posix-functions/rindex.texi.
45239         * doc/pastposix-functions/scalb.texi: Renamed from
45240         doc/posix-functions/scalb.texi.
45241         * doc/pastposix-functions/setcontext.texi: Renamed from
45242         doc/posix-functions/setcontext.texi.
45243         * doc/pastposix-functions/swapcontext.texi: Renamed from
45244         doc/posix-functions/swapcontext.texi.
45245         * doc/pastposix-functions/ualarm.texi: Renamed from
45246         doc/posix-functions/ualarm.texi.
45247         * doc/pastposix-functions/usleep.texi: Renamed from
45248         doc/posix-functions/usleep.texi.
45249         * doc/pastposix-functions/vfork.texi: Renamed from
45250         doc/posix-functions/vfork.texi.
45251         * doc/pastposix-functions/wcswcs.texi: Renamed from
45252         doc/posix-functions/wcswcs.texi.
45253         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
45254         (Function Substitutes): Update.
45255
45256 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45257
45258         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
45259         m4/strerror.m4.
45260
45261 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45262             Bruno Haible  <bruno@clisp.org>
45263
45264         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
45265
45266 2008-12-13  Bruno Haible  <bruno@clisp.org>
45267
45268         * modules/strtoull (Depends-on): Remove unistd.
45269
45270 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45271
45272         * modules/strtoull (Depends-on): Add stdlib.
45273
45274 2008-12-11  Simon Josefsson  <simon@josefsson.org>
45275
45276         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
45277
45278 2008-12-10  Jim Meyering  <meyering@redhat.com>
45279
45280         gl_ASSERT: don't say assertions are disabled when they're not
45281         * m4/assert.m4 (gl_ASSERT): Do not make configure report
45282         "checking whether to enable assertions... no", when they are in
45283         fact enabled.  This is solely a bug in the output of configure.
45284         In spite of saying "no", NDEBUG was not defined in that case.
45285         Also, as noted by Eric Blake, leave assertions enabled upon
45286         --enable-assert=INVALID.
45287
45288 2008-12-10  Bruno Haible  <bruno@clisp.org>
45289
45290         Change MODULES.html to refer to POSIX:2008 where possible.
45291         * MODULES.html.sh (POSIX2008_URL): New variable.
45292         (posix_headers): Remove sys/timeb, ucontext.
45293         (posix2001_headers): New variable.
45294         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
45295         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
45296         index, makecontext, mktemp, pthread_attr_getstackaddr,
45297         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
45298         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
45299         (posix2001_functions): New variable.
45300         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
45301         otherwise.
45302
45303 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45304
45305         add missing include to parse-duration.c
45306         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
45307         * modules/parse-duration (Depends-on): Add xalloc.
45308
45309         fix sed script reading maint.mk
45310         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
45311         (syntax-check-rules): Use it.
45312
45313 2008-12-09  Bruno Haible  <bruno@clisp.org>
45314
45315         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
45316         MacOS X 10.4/PowerPC.
45317         Reported by Simon Josefsson.
45318
45319 2008-12-08  Jim Meyering  <meyering@redhat.com>
45320
45321         work around mingw's lack of some S_IF definitions
45322         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
45323         Reported by Simon Josefsson.
45324
45325 2008-12-08  Bruno Haible  <bruno@clisp.org>
45326
45327         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
45328         applied to variables. Needed on MacOS X 10.4/PowerPC.
45329         Reported by Simon Josefsson.
45330
45331 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
45332         and Eric Blake  <ebb9@byu.net>
45333
45334         assert: honor --enable-assert
45335         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
45336         order to honor --enable-assert, rather than treating it as a
45337         synonym for --disable-assert.
45338
45339 2008-12-08  Jim Meyering  <meyering@redhat.com>
45340
45341         * lib/posixtm.c: Remove now-useless declaration of mktime.
45342
45343         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
45344
45345 2008-12-07  Bruno Haible  <bruno@clisp.org>
45346
45347         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
45348         test_once): Mark functions as static.
45349         * tests/test-tls.c (test_tls): Likewise.
45350
45351 2008-12-07  Bruno Haible  <bruno@clisp.org>
45352
45353         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
45354         iconv_register_autodetect.
45355
45356 2008-12-07  Jim Meyering  <meyering@redhat.com>
45357
45358         posixtm.c: avoid a warning
45359         * lib/posixtm.c (posixtime): Don't initialize tm0.
45360         It's no longer needed to placate gcc4's -Wuninitialized,
45361         and the attempt to placate would elicit a new warning.
45362
45363         unicodeio.c: mark unused parameters
45364         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
45365         (fallback_failure_callback): Likewise.
45366
45367 2008-12-07  Bruno Haible  <bruno@clisp.org>
45368
45369         * gnulib-tool (func_create_testdir): When building the tests
45370         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
45371         Reported by Simon Josefsson.
45372
45373 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45374
45375         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
45376
45377 2008-12-06  Bruno Haible  <bruno@clisp.org>
45378
45379         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
45380         Suggested by Eric Blake.
45381
45382 2008-12-06  Bruno Haible  <bruno@clisp.org>
45383
45384         Fix a c-stack test failure on MacOS X.
45385         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
45386         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
45387         handler for SIGBUS as well.
45388         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
45389         install a signal handler for SIGBUS as well.
45390         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
45391
45392 2008-12-06  Bruno Haible  <bruno@clisp.org>
45393
45394         Advocacy documentation.
45395         * doc/gnulib-intro.texi (Benefits): New section.
45396         * doc/gnulib.texi: Update.
45397
45398 2008-12-06  Bruno Haible  <bruno@clisp.org>
45399
45400         Document the 'manywarnings' module.
45401         * doc/manywarnings.texi: New file.
45402         * doc/gnulib.texi: Include it.
45403
45404 2008-12-05  Eric Blake  <ebb9@byu.net>
45405
45406         tests: silence some gcc warnings
45407         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
45408         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
45409         type mismatches.
45410
45411 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45412             Bruno Haible  <bruno@clisp.org>
45413
45414         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
45415
45416 2008-11-29  Jim Meyering  <meyering@redhat.com>
45417
45418         unicodeio.c: mark unused parameters
45419         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
45420         (fallback_failure_callback): Likewise.
45421
45422         fts: fix a thinko
45423         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
45424         (set_stat_type): Return S_IF*-valued "type" directly.
45425         Prompted by James Youngman's spotting a related bug.
45426         Confirmed by further testing through find.
45427
45428         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
45429         * lib/fts.c (D_TYPE): Define.
45430         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
45431         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
45432         (s_ifmt_shift_bits): New function.
45433         (set_stat_type): New function.
45434         (fts_build): When not calling fts_stat, call set_stat_type
45435         to propagate dirent.d_type info to fts_read caller.
45436         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
45437         fts_statp->st_mode type information may be valid.
45438
45439 2008-11-28  Simon Josefsson  <simon@josefsson.org>
45440
45441         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
45442         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
45443         <sds@gnu.org>.
45444
45445 2008-11-20  Bruno Haible  <bruno@clisp.org>
45446
45447         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
45448         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
45449         INCLUDE_NEXT.
45450         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
45451         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
45452         * modules/math (Makefile.am): Substitute
45453         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
45454         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
45455
45456 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
45457             Bruno Haible  <bruno@clisp.org>
45458
45459         * lib/stdint.in.h: Define all type macros so that their expansion is
45460         a single typedef'ed token. Fixes a compilation failure in Boost which
45461         does "using ::int8_t;".
45462
45463 2008-11-18  Simon Josefsson  <simon@josefsson.org>
45464
45465         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
45466         gl_MANYWARN_ALL_GCC.
45467         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
45468         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
45469         * modules/manywarnings: New file.
45470         * MODULES.html.sh: Mention manywarnings module.
45471
45472 2008-11-18  Bruno Haible  <bruno@clisp.org>
45473
45474         * doc/gnulib-tool.texi (Unit tests): New section.
45475
45476 2008-11-18  Simon Josefsson  <simon@josefsson.org>
45477
45478         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
45479         paths like 'lib/po/foo.po'.
45480
45481 2008-11-17  Simon Josefsson  <simon@josefsson.org>
45482
45483         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
45484         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
45485
45486 2008-11-17  Simon Josefsson  <simon@josefsson.org>
45487
45488         * m4/warnings.m4: Use CPPFLAGS to really check whether the
45489         parameter works.
45490
45491 2008-11-17  Simon Josefsson  <simon@josefsson.org>
45492
45493         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
45494
45495 2008-11-17  Bruce Korb  <bkorb@gnu.org>
45496
45497         * modules/parse-duration-tests: New file.
45498         * tests/test-parse-duration.sh: New file.
45499         * tests/test-parse-duration.c: New file.
45500
45501         New module 'parse-duration'.
45502         * lib/parse-duration.h: New file.
45503         * lib/parse-duration.c: New file.
45504         * modules/parse-duration: New file.
45505
45506 2008-11-17  Bruno Haible  <bruno@clisp.org>
45507
45508         * tests/test-select-out.sh: Comment out the first pipe test.
45509         Reported by Simon Josefsson.
45510
45511 2008-11-17  Bruno Haible  <bruno@clisp.org>
45512
45513         * modules/getaddrinfo (Depends-on): Add servent, hostent.
45514         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
45515         gl_HOSTENT.
45516
45517 2008-11-17  Bruno Haible  <bruno@clisp.org>
45518
45519         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
45520         -lnetwork and -lnet. Needed for Haiku and BeOS.
45521
45522 2008-11-16  Bruno Haible  <bruno@clisp.org>
45523
45524         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
45525
45526 2008-11-16  Bruno Haible  <bruno@clisp.org>
45527
45528         Avoid test failure on Haiku.
45529         * tests/test-fsync.c: Include <errno.h>.
45530         (main): Don't require that fsync (0) fails.
45531
45532 2008-11-15  Bruno Haible  <bruno@clisp.org>
45533
45534         New module 'hostent'.
45535         * modules/hostent: New file.
45536         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
45537
45538 2008-11-15  Bruno Haible  <bruno@clisp.org>
45539
45540         New module 'servent'.
45541         * modules/servent: New file.
45542         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
45543
45544 2008-11-15  Bruno Haible  <bruno@clisp.org>
45545
45546         Avoid generating same test program with two different rules.
45547         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
45548         test-frexp to test-frexp-nolibm.
45549         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
45550         test-frexpl to test-frexpl-nolibm.
45551
45552 2008-11-15  Bruno Haible  <bruno@clisp.org>
45553
45554         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
45555         $(FREXPL_LIBM).
45556
45557 2008-11-15  Bruno Haible  <bruno@clisp.org>
45558
45559         * lib/netdb.in.h: Activate the definitions also when the system's
45560         <netdb.h> has 'struct addrinfo'.
45561         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
45562         EAI_OVERFLOW or AI_NUMERICSERV.
45563         * doc/posix-headers/netdb.texi: Document the problem.
45564
45565 2008-11-15  Bruno Haible  <bruno@clisp.org>
45566
45567         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
45568
45569         Make the 'sched' module work on platforms where <sched.h> exists but
45570         is incomplete (such as Haiku).
45571         * lib/sched.in.h; Include the system's <sched.h> if it exists.
45572         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
45573         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
45574         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
45575         HAVE_STRUCT_SCHED_PARAM.
45576         * modules/sched (Depends-on): Add include_next.
45577         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
45578         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
45579         * doc/posix-headers/sched.texi: Document the issue.
45580
45581 2008-11-13  Jim Meyering  <meyering@redhat.com>
45582
45583         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
45584         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
45585         test would fail due to the difference in the Report bugs to ...
45586         line.  The expected address is empty, "<>", while the actual
45587         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
45588
45589 2008-11-12  Bruno Haible  <bruno@clisp.org>
45590
45591         lstat: don't compile lstat.c on systems lacking lstat
45592         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
45593         which don't have lstat; this is handled by lib/sys_stat.in.h already.
45594         Reported by Daniel P. Berrange via Jim Meyering.
45595
45596 2008-11-12  Jim Meyering  <meyering@redhat.com>
45597
45598         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
45599
45600 2008-11-12  Simon Josefsson  <simon@josefsson.org>
45601
45602         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
45603         instead.
45604
45605 2008-11-12  Bruno Haible  <bruno@clisp.org>
45606
45607         * lib/unicodeio.c: Include unistr.h.
45608         (utf8_wctomb): Remove function.
45609         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
45610
45611 2008-11-12  Simon Josefsson  <simon@josefsson.org>
45612
45613         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
45614         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
45615         <bruno@clisp.org>.
45616         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
45617
45618 2008-11-12  Simon Josefsson  <simon@josefsson.org>
45619
45620         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
45621         * doc/gnulib.texi: Add section for warnings.
45622
45623 2008-11-11  Bruno Haible  <bruno@clisp.org>
45624
45625         * lib/sockets.h: Add a comment.
45626
45627 2008-11-11  Karl Berry  <karl@gnu.org>
45628
45629         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
45630
45631 2008-11-11  Eric Blake  <ebb9@byu.net>
45632
45633         fdl.texi: avoid git symlinks
45634         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
45635
45636 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
45637
45638         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
45639
45640 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
45641
45642         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
45643         (gl_WARN_ADD): Substitute $2 if literal.
45644
45645 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
45646
45647         * m4/warning.m4: Remove.
45648
45649 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
45650
45651         * m4/warnings.m4: Almost complete rewrite. :-)
45652
45653 2008-11-10  Simon Josefsson  <simon@josefsson.org>
45654
45655         * modules/warnings: New module.
45656         * m4/warnings.m4: New file.
45657         * MODULES.html.sh: Mention warnings module.
45658         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
45659         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45660
45661 2008-11-10  Eric Blake  <ebb9@byu.net>
45662
45663         fdl.texi: make a symlink to the latest version
45664         * doc/standards.texi: Revert today's earlier change.
45665         * doc/fdl-1.2.texi: Rename from old fdl.texi...
45666         * doc/fdl.texi: ...and replace this with a symlink to the newer
45667         fdl-1.3.texi.
45668
45669 2008-11-10  Bruno Haible  <bruno@clisp.org>
45670
45671         * tests/test-select-fd.c (main): Accept the result file name as fourth
45672         argument.
45673         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
45674         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
45675
45676 2008-11-10  Bruno Haible  <bruno@clisp.org>
45677
45678         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
45679         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
45680         as autoconf-substituted macros.
45681         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
45682         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
45683         gl_NETDB_H_DEFAULTS. Set these variables.
45684         * modules/netdb (Makefile.am): Substitute these variables.
45685
45686 2008-11-10  Eric Blake  <ebb9@byu.net>
45687
45688         standards.texi: include correct file for FDL 1.3
45689         * doc/standards.texi (GNU Free Documentation License): Change
45690         include file to pull in FDL 1.3, not 1.2.
45691
45692         fdl.texi: revert accidental change to license
45693         * doc/fdl.texi: This is FDL 1.2, not 1.3.
45694
45695 2008-11-10  Bruno Haible  <bruno@clisp.org>
45696
45697         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
45698         cross-compiling guesses also when the native compile gives no result.
45699
45700 2008-11-10  Bruno Haible  <bruno@clisp.org>
45701
45702         * lib/spawni.c (__spawni): Force variable into the stack.
45703
45704 2008-11-10  Bruno Haible  <bruno@clisp.org>
45705
45706         Add support for Haiku.
45707         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
45708         glibc and BeOS, but also on Haiku.
45709         * lib/fpurge.c (fpurge): Likewise.
45710         * lib/freadable.c (freadable): Likewise.
45711         * lib/freadahead.c (freadahead): Likewise.
45712         * lib/freading.c (freading): Likewise.
45713         * lib/freadptr.c (freadptr): Likewise.
45714         * lib/freadseek.c (freadptrinc): Likewise.
45715         * lib/fseeko.c (rpl_fseeko): Likewise.
45716         * lib/fseterr.c (fseterr): Likewise.
45717         * lib/fwritable.c (fwritable): Likewise.
45718         * lib/fwriting.c (fwriting): Likewise.
45719         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
45720
45721 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
45722
45723         * lib/config.charset: Treat Haiku like BeOS.
45724
45725 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
45726
45727         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
45728         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
45729
45730 2008-11-08  Bruno Haible  <bruno@clisp.org>
45731
45732         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
45733         AC_CACHE_CHECK.
45734
45735 2008-11-08  Bruno Haible  <bruno@clisp.org>
45736
45737         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
45738
45739 2008-11-08  Bruno Haible  <bruno@clisp.org>
45740
45741         * tests/test-select-fd.c: New file.
45742         * tests/test-select-in.sh: New file.
45743         * tests/test-select-out.sh: New file.
45744         * tests/test-select-stdin.c: New file.
45745         * modules/select-tests (Files): Add the new files.
45746         (Depends-on): Add gettimeofday.
45747         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
45748         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
45749         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
45750
45751 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
45752             Bruno Haible  <bruno@clisp.org>
45753
45754         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
45755
45756 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
45757
45758         * build-aux/pmccabe2html: Added support for C++ source files.
45759
45760 2008-11-05  Ben Pfaff  <blp@gnu.org>
45761
45762         Fix lib/close.c build on Windows.
45763         * modules/close (Files): Add lib/w32sock.h.
45764
45765 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
45766
45767         Accept Bison's NEWS format.
45768         * build-aux/announce-gen (print_news_deltas): Tweak
45769         $re_prefix.
45770
45771 2008-11-04  Bruno Haible  <bruno@clisp.org>
45772
45773         * modules/random_r (Maintainer): Add glibc.
45774
45775 2008-11-04  Simon Josefsson  <simon@josefsson.org>
45776
45777         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
45778         by karl@freefriends.org (Karl Berry).
45779         * doc/alloca.texi: Likewise.
45780         * doc/c-ctype.texi: Likewise.
45781         * doc/c-strcase.texi: Likewise.
45782         * doc/c-strcaseeq.texi: Likewise.
45783         * doc/c-strcasestr.texi: Likewise.
45784         * doc/c-strstr.texi: Likewise.
45785         * doc/c-strtod.texi: Likewise.
45786         * doc/c-strtold.texi: Likewise.
45787         * doc/ctime.texi: Likewise.
45788         * doc/error.texi: Likewise.
45789         * doc/fdl.texi: Likewise.
45790         * doc/gcd.texi: Likewise.
45791         * doc/getdate.texi: Likewise.
45792         * doc/gnulib-intro.texi: Likewise.
45793         * doc/gnulib-tool.texi: Likewise.
45794         * doc/gnulib.texi: Likewise.
45795         * doc/inet_ntoa.texi: Likewise.
45796         * doc/maintain.texi: Likewise.
45797         * doc/make-stds.texi: Likewise.
45798         * doc/quote.texi: Likewise.
45799         * doc/regexprops-generic.texi: Likewise.
45800         * doc/standards.texi: Likewise.
45801         * doc/verify.texi: Likewise.
45802         * doc/visibility.texi: Likewise.
45803         * doc/gnulib.texi (GNU Free Documentation License): Include
45804         fdl-1.3.texi instead of fdl.texi.
45805
45806 2008-11-04  Simon Josefsson  <simon@josefsson.org>
45807
45808         * doc/fdl-1.3.texi: New file, from
45809         <http://www.gnu.org/licenses/fdl-1.3.texi>.
45810         * modules/fdl-1.3: Add.
45811         * MODULES.html.sh: Add fdl-1.3.
45812
45813 2008-11-03  Bruno Haible  <bruno@clisp.org>
45814
45815         Make determination of absolute name of header file work with AIX xlc.
45816         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
45817         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
45818         preprocessing.
45819         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45820         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
45821
45822 2008-11-03  Simon Josefsson  <simon@josefsson.org>
45823
45824         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
45825         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
45826         <ludo@gnu.org>.
45827
45828 2008-11-02  Bruno Haible  <bruno@clisp.org>
45829
45830         Mark 'strpbrk' obsolete.
45831         * modules/strpbrk (Status, Notice): New sections.
45832         * modules/strtok_r (Depends-on): Add strpbrk.
45833
45834 2008-11-02  Bruno Haible  <bruno@clisp.org>
45835
45836         Mark 'strdup' obsolete.
45837         * modules/strdup (Status, Notice): New sections.
45838         * modules/findprog (Depends-on): Add strdup.
45839         * modules/getaddrinfo (Depends-on): Likewise.
45840         * modules/localename (Depends-on): Likewise.
45841         * modules/relocatable-lib (Depends-on): Likewise.
45842         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
45843         * modules/relocatable-prog (Depends-on): Likewise.
45844         * modules/trim (Depends-on): Likewise.
45845         * modules/unictype/gen-ctype (Depends-on): Likewise.
45846         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
45847
45848 2008-11-02  Bruno Haible  <bruno@clisp.org>
45849
45850         Mark 'strcspn' obsolete.
45851         * modules/strcspn (Status, Notice): New sections.
45852
45853 2008-11-02  Bruno Haible  <bruno@clisp.org>
45854
45855         Mark 'rmdir' obsolete.
45856         * modules/rmdir (Status, Notice): New sections.
45857         * modules/clean-temp (Depends-on): Add rmdir.
45858         * modules/openat (Depends-on): Likewise.
45859
45860 2008-11-02  Bruno Haible  <bruno@clisp.org>
45861
45862         Mark 'raise' obsolete.
45863         * modules/raise (Status, Notice): New sections.
45864         (Include): Specify <signal.h>.
45865         * modules/stdio (Depends-on): Add raise.
45866         * modules/write (Depends-on): Likewise.
45867
45868 2008-11-02  Bruno Haible  <bruno@clisp.org>
45869
45870         Mark 'memset' obsolete.
45871         * modules/memset (Status, Notice): New sections.
45872
45873 2008-11-02  Bruno Haible  <bruno@clisp.org>
45874
45875         Mark 'memmove' obsolete.
45876         * modules/memmove (Status, Notice): New sections.
45877         * modules/argp (Depends-on): Add memmove.
45878         * modules/argz (Depends-on): Likewise.
45879         * modules/canonicalize (Depends-on): Likewise.
45880         * modules/canonicalize-lgpl (Depends-on): Likewise.
45881         * modules/fts (Depends-on): Likewise.
45882         * modules/getcwd (Depends-on): Likewise.
45883         * modules/human (Depends-on): Likewise.
45884         * modules/regex (Depends-on): Likewise.
45885         * modules/striconveh (Depends-on): Likewise.
45886         * modules/trim (Depends-on): Likewise.
45887         * modules/unistr/u8-move (Depends-on): Likewise.
45888         * modules/unistr/u16-move (Depends-on): Likewise.
45889         * modules/unistr/u32-move (Depends-on): Likewise.
45890
45891 2008-11-02  Bruno Haible  <bruno@clisp.org>
45892
45893         Mark 'memcpy' obsolete.
45894         * modules/memcpy (Status, Notice): New sections.
45895
45896 2008-11-02  Bruno Haible  <bruno@clisp.org>
45897
45898         Mark 'memcmp' obsolete.
45899         * modules/memcmp (Status, Notice): New sections.
45900         * modules/argmatch (Depends-on): Add memchr.
45901         * modules/backupfile (Depends-on): Likewise.
45902         * modules/c-strcasestr (Depends-on): Likewise.
45903         * modules/crypto/des (Depends-on): Likewise.
45904         * modules/csharpcomp (Depends-on): Likewise.
45905         * modules/fnmatch (Depends-on): Likewise.
45906         * modules/git-merge-changelog (Depends-on): Likewise.
45907         * modules/isnand (Depends-on): Likewise.
45908         * modules/isnand-nolibm (Depends-on): Likewise.
45909         * modules/isnanf (Depends-on): Likewise.
45910         * modules/isnanf-nolibm (Depends-on): Likewise.
45911         * modules/isnanl (Depends-on): Likewise.
45912         * modules/isnanl-nolibm (Depends-on): Likewise.
45913         * modules/mbchar (Depends-on): Likewise.
45914         * modules/memcoll (Depends-on): Likewise.
45915         * modules/quotearg (Depends-on): Likewise.
45916         * modules/regex (Depends-on): Likewise.
45917         * modules/relocatable-prog (Depends-on): Likewise.
45918         * modules/same (Depends-on): Likewise.
45919         * modules/signbit (Depends-on): Likewise.
45920         * modules/strcasestr-simple (Depends-on): Likewise.
45921         * modules/unictype/gen-ctype (Depends-on): Likewise.
45922         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
45923         * modules/uniname/uniname (Depends-on): Likewise.
45924         * modules/unistr/u8-cmp (Depends-on): Likewise.
45925
45926 2008-11-02  Bruno Haible  <bruno@clisp.org>
45927
45928         Mark 'memchr' obsolete.
45929         * modules/memchr (Status, Notice): New sections.
45930         * modules/argp (Depends-on): Add memchr.
45931         * modules/base64 (Depends-on): Likewise.
45932         * modules/c-strcasestr (Depends-on): Likewise.
45933         * modules/chdir-long (Depends-on): Likewise.
45934         * modules/fnmatch (Depends-on): Likewise.
45935         * modules/getsubopt (Depends-on): Likewise.
45936         * modules/git-merge-changelog (Depends-on): Likewise.
45937         * modules/glob (Depends-on): Likewise.
45938         * modules/strcasestr-simple (Depends-on): Likewise.
45939         * modules/strnlen (Depends-on): Likewise.
45940
45941 2008-11-02  Bruno Haible  <bruno@clisp.org>
45942
45943         Mark 'atexit' obsolete.
45944         * modules/atexit (Status, Notice): New sections.
45945         * modules/chdir-long (Depends-on): Add atexit.
45946         * modules/wait-process (Depends-on): Likewise.
45947
45948 2008-11-02  Bruno Haible  <bruno@clisp.org>
45949
45950         * gnulib-tool: New option --with-obsolete.
45951         (func_usage): Document it.
45952         (func_modules_transitive_closure): Drop obsolete dependencies if
45953         incobsolete is not true.
45954         (func_import): Read and save the incobsolete variable to the cache.
45955
45956 2008-11-02  Bruno Haible  <bruno@clisp.org>
45957
45958         * modules/TEMPLATE-EXTENDED: New field 'Status'.
45959         * gnulib-tool: New option --extract-status.
45960         (func_usage): Document it.
45961         (sed_extract_prog): Recognize it.
45962         (func_get_status): New function.
45963
45964 2008-10-30  Simon Josefsson  <simon@josefsson.org>
45965
45966         * modules/sockets (License): Change from LGPL to LGPLv2+.
45967
45968 2008-10-28  Simon Josefsson  <simon@josefsson.org>
45969
45970         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
45971
45972 2008-10-28  Simon Josefsson  <simon@josefsson.org>
45973
45974         * MODULES.html.sh (Support for systems lacking POSIX:2001):
45975         Mention times and sys_times.
45976         * modules/sys_times, modules/sys_times-tests: New modules.
45977         * modules/times, modules/times-tests: Likewise
45978         * m4/sys_times_h.m4: New file.
45979         * lib/sys_times.in.h: Likewise
45980         * lib/times.c: Likewise.
45981         * tests/test-sys_times.c: Likewise.
45982         * tests/test-times.c: Likewise.
45983         * doc/posix-headers/sys_times.texi: Update.
45984         * doc/posix-functions/times.texi: Update.
45985
45986 2008-10-28  Jim Meyering  <meyering@redhat.com>
45987
45988         * modules/tempname (Depends-on): Add lstat.
45989
45990         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
45991
45992 2008-10-28  Simon Josefsson  <simon@josefsson.org>
45993
45994         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
45995         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
45996         using idiom used elsewhere in gnulib.
45997
45998 2008-10-27  Jim Meyering  <meyering@redhat.com>
45999
46000         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
46001
46002 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46003
46004         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
46005         TESTS_ENVIRONMENT, for shell scripts that needs to call built
46006         programs.
46007         * tests/test-argp-2.sh: Use $EXEEXT when needed.
46008
46009 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46010
46011         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
46012
46013 2008-10-27  Bruno Haible  <bruno@clisp.org>
46014
46015         * tests/test-lstat.c: Include <stdio.h>.
46016
46017 2008-10-27  Simon Josefsson  <simon@josefsson.org>
46018
46019         * modules/lstat-tests: New module.
46020         * tests/test-lstat.c: New file.
46021
46022 2008-10-26  Jim Meyering  <meyering@redhat.com>
46023
46024         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
46025
46026 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46027             Bruno Haible  <bruno@clisp.org>
46028
46029         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
46030         * modules/configmake (Include): Add a note that the include must come
46031         after all system headers.
46032         * lib/javaversion.c: Include configmake.h after all other includes.
46033
46034 2008-10-26  Bruno Haible  <bruno@clisp.org>
46035
46036         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
46037         HAVE_STRUCT_RANDOM_DATA to 1.
46038         (gl_STDLIB_H): Simplify.
46039
46040 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46041
46042         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
46043         substitute HAVE_STRUCT_RANDOM_DATA.
46044         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
46045         random_data.
46046         * modules/stdlib (Makefile.am): Substitute
46047         HAVE_STRUCT_RANDOM_DATA.
46048
46049 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46050
46051         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
46052         * doc/gnulib-intro.texi (Copyright): Likewise.
46053
46054 2008-10-26  Simon Josefsson  <simon@josefsson.org>
46055
46056         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
46057         findings.
46058
46059 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
46060             Bruno Haible  <bruno@clisp.org>
46061
46062         * lib/unistd.in.h: Include <winsock2.h>.
46063         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
46064         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
46065         Provide dummy declarations.
46066         (gethostname): Override.
46067         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
46068         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
46069         gl_PREREQ_SYS_H_WINSOCK2.
46070         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
46071         * doc/posix-functions/gethostname.texi: More details.
46072
46073 2008-10-25  Bruno Haible  <bruno@clisp.org>
46074
46075         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
46076         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
46077         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
46078
46079         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
46080         here ...
46081         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
46082         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
46083         gl_UNISTD_H_DEFAULTS.
46084
46085 2008-10-25  Eric Blake  <ebb9@byu.net>
46086
46087         signbit: avoid spurious compiler failure
46088         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
46089         declarations inside function.
46090
46091 2008-10-24  Simon Josefsson  <simon@josefsson.org>
46092             Bruno Haible  <bruno@clisp.org>
46093
46094         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
46095         * modules/random_r (Depends-on): Add stdint.
46096
46097 2008-10-24  Bruno Haible  <bruno@clisp.org>
46098
46099         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
46100         Eggert.
46101         * modules/strerror (License): Likewise.
46102
46103 2008-10-24  Jim Meyering  <meyering@redhat.com>
46104
46105         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
46106         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
46107
46108 2008-10-24  Eric Blake  <ebb9@byu.net>
46109
46110         getgroups: fix compilation when getgroups is available
46111         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
46112         but with <config.h> override of getgroups disabled.
46113
46114 2008-10-24  Simon Josefsson  <simon@josefsson.org>
46115
46116         * doc/gnulib.texi (Header files): Add note about C++ problems.
46117         Explained by Bruno Haible <bruno@clisp.org>.
46118
46119 2008-10-23  Bruno Haible  <bruno@clisp.org>
46120
46121         Define a dummy SA_NODEFER macro on Interix.
46122         * lib/signal.in.h (SA_NODEFER): Define fallback.
46123         Reported by Aleksey Cheusov <cheusov@tut.by> via
46124         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
46125
46126 2008-10-23  Bruno Haible  <bruno@clisp.org>
46127
46128         * modules/freadahead (License): Change to LGPLv2+.
46129         Suggested by Simon Josefsson.
46130
46131 2008-10-23  Jim Meyering  <meyering@redhat.com>
46132
46133         random_r: new module
46134         * modules/random_r: New file.
46135         * m4/random_r.m4: New file.
46136         * lib/random_r.c: New file, from glibc.
46137         * modules/random_r-tests: New file.
46138         * tests/test-random_r.c: New file.
46139         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
46140          Declare.
46141         (RAND_MAX): Define.
46142         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
46143         * modules/stdlib: Substitute them, too.
46144         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
46145         * doc/glibc-functions/initstate_r.texi: Mention the new module.
46146         * doc/glibc-functions/random_r.texi: Likewise.
46147         * doc/glibc-functions/setstate_r.texi: Likewise.
46148         * doc/glibc-functions/srandom_r.texi: Likewise.
46149         * config/srclist.txt: Mention it.
46150
46151 2008-10-23  David Lutterkort  <lutter@redhat.com>
46152
46153         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
46154         link requirement
46155
46156 2008-10-23  Jim Meyering  <meyering@redhat.com>
46157
46158         selinux-h: mark parameters of stub functions as intentionally unused
46159         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
46160         * lib/se-context.in.h: Likewise.
46161
46162 2008-10-22  Simon Josefsson  <simon@josefsson.org>
46163
46164         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
46165
46166 2008-10-22  Simon Josefsson  <simon@josefsson.org>
46167
46168         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
46169
46170 2008-10-22  Eric Blake  <ebb9@byu.net>
46171
46172         glthread/thread: avoid compiler warning
46173         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
46174         Add unreachable abort to silence compiler.
46175
46176 2008-10-22  Eric Blake  <ebb9@byu.net>
46177
46178         netdb: also supply struct addrinfo for cygwin 1.5.x
46179         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
46180         older cygwin.
46181         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
46182         cygwin.
46183         * doc/posix-headers/netdb.texi (netdb.h): Document this.
46184
46185 2008-10-22  Bruno Haible  <bruno@clisp.org>
46186
46187         * users.txt: Update entry about pspp.
46188
46189 2008-10-21  Bruno Haible  <bruno@clisp.org>
46190
46191         Simplification.
46192         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
46193         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
46194
46195         Simplification.
46196         * lib/ioctl.c (ioctl): Don't undefine.
46197         * lib/socket.c (socket): Don't undefine.
46198
46199         Remove unused module indicator macros.
46200         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
46201         GNULIB_$1 as a C macro.
46202
46203         * doc/posix-functions/close.texi: Undo last change.
46204         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
46205         Windows platforms.
46206
46207 2008-10-21  Bruno Haible  <bruno@clisp.org>
46208
46209         Add gethostname() declaration to <unistd.h>.
46210         * lib/unistd.in.h (gethostname): New declaration.
46211         * lib/gethostname.c: Include <unistd.h>.
46212         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
46213         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
46214         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
46215         and HAVE_GETHOSTNAME.
46216         * modules/gethostname (Depends-on): Add unistd.
46217         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46218         (Include): Specify <unistd.h>.
46219         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
46220         HAVE_GETHOSTNAME.
46221         * tests/test-gethostname.c: Include <unistd.h> first.
46222
46223 2008-10-21  Bruno Haible  <bruno@clisp.org>
46224
46225         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
46226         * modules/select-tests (Depends-on): Likewise.
46227         Reported by Simon Josefsson.
46228
46229 2008-10-21  Simon Josefsson  <simon@josefsson.org>
46230
46231         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
46232         * lib/accept.c: New file, based on winsock.c.
46233         * lib/bind.c: New file, based on winsock.c.
46234         * lib/connect.c: New file, based on winsock.c.
46235         * lib/getpeername.c: New file, based on winsock.c.
46236         * lib/getsockname.c: New file, based on winsock.c.
46237         * lib/getsockopt.c: New file, based on winsock.c.
46238         * lib/ioctl.c: New file, based on winsock.c.
46239         * lib/listen.c: New file, based on winsock.c.
46240         * lib/recv.c: New file, based on winsock.c.
46241         * lib/recvfrom.c: New file, based on winsock.c.
46242         * lib/send.c: New file, based on winsock.c.
46243         * lib/sendto.c: New file, based on winsock.c.
46244         * lib/setsockopt.c: New file, based on winsock.c.
46245         * lib/shutdown.c: New file, based on winsock.c.
46246         * lib/socket.c: New file, based on winsock.c.
46247         * lib/w32sock.h: New file, based on winsock.c.
46248         * lib/winsock.c: Remove file.
46249         * modules/accept: Likewise.
46250         * modules/bind: Likewise.
46251         * modules/connect: Likewise.
46252         * modules/getpeername: Likewise.
46253         * modules/getsockname: Likewise.
46254         * modules/getsockopt: Likewise.
46255         * modules/ioctl: Likewise.
46256         * modules/listen: Likewise.
46257         * modules/recv: Likewise.
46258         * modules/recvfrom: Likewise.
46259         * modules/send: Likewise.
46260         * modules/sendto: Likewise.
46261         * modules/setsockopt: Likewise.
46262         * modules/shutdown: Likewise.
46263         * modules/socket: Use socket.c instead of winsock.c.
46264         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
46265         * doc/posix-functions/accept.texi: Doc fix.
46266         * doc/posix-functions/bind.texi: Doc fix.
46267         * doc/posix-functions/close.texi: Doc fix.
46268         * doc/posix-functions/connect.texi: Doc fix.
46269         * doc/posix-functions/getpeername.texi: Doc fix.
46270         * doc/posix-functions/getsockname.texi: Doc fix.
46271         * doc/posix-functions/getsockopt.texi: Doc fix.
46272         * doc/posix-functions/ioctl.texi: Doc fix.
46273         * doc/posix-functions/listen.texi: Doc fix.
46274         * doc/posix-functions/recv.texi: Doc fix.
46275         * doc/posix-functions/recvfrom.texi: Doc fix.
46276         * doc/posix-functions/send.texi: Doc fix.
46277         * doc/posix-functions/sendto.texi: Doc fix.
46278         * doc/posix-functions/setsockopt.texi: Doc fix.
46279         * doc/posix-functions/shutdown.texi: Doc fix.
46280         * doc/posix-functions/socket.texi: Doc fix.
46281
46282 2008-10-20  Bruno Haible  <bruno@clisp.org>
46283
46284         Take into account the role of SIGABRT_COMPAT on Windows 2008.
46285         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
46286         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
46287         as an alias for SIGABRT.
46288         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
46289         (sigaction): Map it to SIGABRT.
46290         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
46291
46292 2008-10-20  Bruno Haible  <bruno@clisp.org>
46293
46294         * lib/fts.c: Don't include lstat.h.
46295         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
46296
46297         Move the lstat() declaration to <sys/stat.h>.
46298         * lib/lstat.h: Remove file.
46299         * lib/sys_stat.in.h: Add special invocation convention.
46300         (lstat): New declaration.
46301         * lib/lstat.c (orig_lstat): New function.
46302         (rpl_lstat): Use orig_lstat instead of lstat.
46303         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
46304         AC_C_INLINE. Set REPLACE_LSTAT.
46305         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
46306         and REPLACE_LSTAT.
46307         * modules/lstat (Files): Remove lib/lstat.h.
46308         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
46309         (Include): Specify <sys/stat.h> instead of lstat.h.
46310         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
46311         REPLACE_LSTAT.
46312         * NEWS: Mention the change.
46313
46314 2008-10-20  Bruno Haible  <bruno@clisp.org>
46315
46316         * modules/posix_spawn-tests: New file.
46317         * tests/test-posix_spawn3.c: New file.
46318
46319 2008-10-20  Bruno Haible  <bruno@clisp.org>
46320
46321         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
46322         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
46323         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
46324         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
46325         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
46326
46327 2008-10-20  Bruno Haible  <bruno@clisp.org>
46328
46329         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
46330         of posix_spawn on AIX 5.3.
46331
46332 2008-10-20  Bruno Haible  <bruno@clisp.org>
46333
46334         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
46335
46336 2008-10-20  Bruno Haible  <bruno@clisp.org>
46337
46338         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
46339         of AC_LANG_PROGRAM.
46340
46341 2008-10-20  Simon Josefsson  <simon@josefsson.org>
46342
46343         * lib/netdb.in.h: Don't define GNU specific constants until they
46344         are supported or needed.  Reported by Bruno Haible
46345         <bruno@clisp.org>.
46346
46347 2008-10-20  Simon Josefsson  <simon@josefsson.org>
46348
46349         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
46350
46351 2008-10-20  Simon Josefsson  <simon@josefsson.org>
46352
46353         * lib/getaddrinfo.h: Remove file.
46354         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
46355         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
46356         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
46357         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
46358         * modules/netdb: Substitute GNULIB_GETADDRINFO.
46359         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
46360         * tests/test-getaddrinfo.c: Likewise.
46361         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
46362         * NEWS: Mention change.
46363
46364 2008-10-19  Bruno Haible  <bruno@clisp.org>
46365
46366         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
46367
46368 2008-10-19  Bruno Haible  <bruno@clisp.org>
46369
46370         * lib/wait-process.c: Include simply <sys/wait.h>.
46371         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
46372         WIFSTOPPED): Remove fallback definitions.
46373         * modules/wait-process (Depends-on): Add sys_wait.
46374
46375         New module 'sys_wait'.
46376         * modules/sys_wait: New file.
46377         * lib/sys_wait.in.h: New file, partially copied from
46378         lib/wait-process.c.
46379         * m4/sys_wait_h.m4: New file.
46380         * doc/posix-headers/sys_wait.texi: Mention the new module.
46381
46382 2008-10-19  Bruno Haible  <bruno@clisp.org>
46383
46384         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
46385
46386 2008-10-19  Bruno Haible  <bruno@clisp.org>
46387
46388         Assume that waitpid() fills an 'int' status, not a 'union wait'.
46389         * lib/wait-process.c (WAIT_T): Remove type.
46390         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
46391         (wait_subprocess): Update.
46392
46393 2008-10-19  Bruno Haible  <bruno@clisp.org>
46394
46395         New module 'atoll'.
46396         * modules/atoll: New file.
46397         * lib/stdlib.in.h (atoll): New declaration.
46398         * lib/atoll.c: New file, from glibc with modifications.
46399         * m4/atoll.m4: New file.
46400         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
46401         HAVE_ATOLL.
46402         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
46403         * doc/posix-functions/atoll.texi: Mention the new module.
46404
46405 2008-10-19  Bruno Haible  <bruno@clisp.org>
46406
46407         Add strtoull() declaration to <stdlib.h>.
46408         * lib/stdlib.in.h (strtoull): New declaration.
46409         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
46410         Set HAVE_STRTOULL.
46411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
46412         HAVE_STRTOULL.
46413         * modules/strtoull (Depends-on): Add stdlib.
46414         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46415         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
46416         HAVE_STRTOULL.
46417
46418 2008-10-19  Bruno Haible  <bruno@clisp.org>
46419
46420         Add strtoll() declaration to <stdlib.h>.
46421         * lib/stdlib.in.h (strtoll): New declaration.
46422         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
46423         Set HAVE_STRTOLL.
46424         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
46425         HAVE_STRTOLL.
46426         * modules/strtoll (Depends-on): Add stdlib.
46427         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46428         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
46429
46430 2008-10-19  Bruno Haible  <bruno@clisp.org>
46431
46432         * modules/bcopy (Depends-on): Add strings.
46433         (Include): Specify <strings.h>.
46434
46435 2008-10-19  Bruno Haible  <bruno@clisp.org>
46436
46437         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
46438
46439 2008-10-19  Bruno Haible  <bruno@clisp.org>
46440
46441         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
46442         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
46443         mingw.
46444
46445 2008-10-19  Bruno Haible  <bruno@clisp.org>
46446
46447         * lib/atanl.c: Don't include isnanl.h.
46448         * lib/cosl.c: Likewise.
46449         * lib/ldexpl.c: Likewise.
46450         * lib/logl.c: Likewise.
46451         * lib/sinl.c: Likewise.
46452         * lib/sqrtl.c: Likewise.
46453         * lib/tanl.c: Likewise.
46454
46455         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
46456         * lib/isnanf.h: Remove file.
46457         * lib/isnand.h: Remove file.
46458         * lib/isnanl.h: Remove file.
46459         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
46460         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
46461         macros.
46462         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
46463         HAVE_ISNANF, don't define it as a C macro.
46464         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
46465         HAVE_ISNAND, don't define it as a C macro.
46466         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
46467         HAVE_ISNANL, don't define it as a C macro.
46468         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
46469         HAVE_ISNAN[FDL].
46470         * modules/isnanf (Files): Remove lib/isnanf.h.
46471         (Depends-on): Add math.
46472         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
46473         (Include): Specify <math.h> instead of isnanf.h.
46474         * modules/isnand (Files): Remove lib/isnand.h.
46475         (Depends-on): Add math.
46476         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
46477         (Include): Specify <math.h> instead of isnand.h.
46478         * modules/isnanl (Files): Remove lib/isnanl.h.
46479         (Depends-on): Add math.
46480         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
46481         (Include): Specify <math.h> instead of isnanl.h.
46482         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
46483         HAVE_ISNAN[FDL].
46484         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
46485         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
46486         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
46487         * NEWS: Mention the change.
46488
46489 2008-10-18  Bruno Haible  <bruno@clisp.org>
46490
46491         Add getusershell(), setusershell(), endusershell() declarations to
46492         <unistd.h>.
46493         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
46494         declarations.
46495         * lib/getusershell.c: Include unistd.h.
46496         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
46497         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
46498         HAVE_GETUSERSHELL.
46499         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
46500         and HAVE_GETUSERSHELL.
46501         * modules/getusershell (Depends-on): Add unistd, extensions.
46502         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46503         (Include): Specify <unistd.h>.
46504         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
46505         HAVE_GETUSERSHELL.
46506
46507 2008-10-18  Bruno Haible  <bruno@clisp.org>
46508
46509         Add a getloadavg() declaration to <stdlib.h>.
46510         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
46511         getloadavg declaration.
46512         (getloadavg): New declaration.
46513         * lib/getloadavg.c: Include <stdlib.h> first.
46514         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
46515         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
46516         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
46517         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
46518         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
46519         * modules/getloadavg (Depends-on): Add stdlib, extensions.
46520         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46521         (Include): Specify <stdlib.h>.
46522         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
46523         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
46524
46525 2008-10-18  Bruno Haible  <bruno@clisp.org>
46526
46527         * lib/dirchownmod.c: Don't include lchmod.h.
46528
46529         Move the lchmod() declaration to <sys/stat.h>.
46530         * lib/lchmod.h: Remove file.
46531         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
46532         (lchmod): New declaration, moved here from lib/lchown.h.
46533         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
46534         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
46535         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
46536         and HAVE_LCHMOD.
46537         * modules/lchmod (Files): Remove lib/lchmod.h.
46538         (Depends-on): Add sys_stat, extensions.
46539         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
46540         (Include): Specify <sys/stat.h> instead of lchmod.h.
46541         * modules/sys_stat (Depends-on): Add link-warning.
46542         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
46543         definition of GL_LINK_WARNING.
46544         * NEWS: Mention the change.
46545
46546 2008-10-18  Bruno Haible  <bruno@clisp.org>
46547
46548         * lib/fchdir.c: Don't include dirfd.h.
46549         * lib/fts.c: Likewise.
46550         * lib/getcwd.c: Likewise.
46551         * lib/glob.c: Likewise.
46552
46553         Move the dirfd() declaration to <dirent.h>.
46554         * lib/dirfd.h: Remove file.
46555         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
46556         (dirfd): New declaration.
46557         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
46558         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
46559         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
46560         HAVE_DECL_DIRFD.
46561         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
46562         HAVE_DECL_DIRFD.
46563         * modules/dirfd (Files): Remove lib/dirfd.h.
46564         (Depends-on): Add dirent, extensions.
46565         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
46566         (Include): Specify <dirent.h> instead of dirfd.h.
46567         * modules/dirent (Depends-on): Add link-warning.
46568         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
46569         definition of GL_LINK_WARNING.
46570         * NEWS: Mention the change.
46571
46572 2008-10-18  Bruno Haible  <bruno@clisp.org>
46573
46574         Move the euidaccess() declaration to <unistd.h>.
46575         * lib/euidaccess.h: Remove file.
46576         * lib/unistd.in.h (euidaccess): New declaration.
46577         * lib/euidaccess.c: Don't include euidaccess.h.
46578         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
46579         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
46580         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
46581         and HAVE_EUIDACCESS.
46582         * modules/euidaccess (Files): Remove lib/euidaccess.h.
46583         (Depends-on): Add unistd.
46584         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46585         (Include): Specify <unistd.h> instead of euidaccess.h.
46586         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
46587         HAVE_EUIDACCESS.
46588         * NEWS: Mention the change.
46589
46590 2008-10-18  Bruno Haible  <bruno@clisp.org>
46591
46592         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
46593
46594         Move the getdomainname() declaration to <unistd.h>.
46595         * lib/getdomainname.h: Remove file.
46596         * lib/unistd.in.h (getdomainname): New declaration.
46597         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
46598         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
46599         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
46600         HAVE_GETDOMAINNAME.
46601         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46602         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
46603         * modules/getdomainname (Files): Remove lib/getdomainname.h.
46604         (Depends-on): Add unistd, extensions.
46605         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46606         (Includes): Specify <unistd.h> instead of getdomainname.h.
46607         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
46608         HAVE_GETDOMAINNAME.
46609         * NEWS: Mention the change.
46610
46611 2008-10-18  Bruno Haible  <bruno@clisp.org>
46612
46613         * modules/dirent: New file.
46614         * m4/dirent_h.m4: New file.
46615         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
46616         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
46617         * modules/fchdir (Files): Remove lib/dirent.in.h.
46618         (Depends-on): Add dirent.
46619         (Makefile.am): Move rules to modules/dirent.
46620         * doc/posix-headers/dirent.texi: Mention the new module.
46621
46622 2008-10-18  Bruno Haible  <bruno@clisp.org>
46623
46624         Avoid -Wunused-parameter warnings in public gnulib header files.
46625         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
46626         macro.
46627         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
46628
46629 2008-10-18  Bruno Haible  <bruno@clisp.org>
46630
46631         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
46632         * doc/glibc-functions/error.texi: Mention the module 'error'.
46633         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
46634         * doc/glibc-functions/getdomainname.texi: Mention the module
46635         'getdomainname'.
46636         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
46637         * doc/glibc-functions/getpagesize.texi: Mention the module
46638         'getpagesize'.
46639         * doc/glibc-functions/getusershell.texi: Mention the module
46640         'getusershell'.
46641         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
46642         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
46643         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
46644         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
46645         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
46646         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
46647         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
46648         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
46649         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
46650         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
46651         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
46652         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
46653         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
46654         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
46655
46656 2008-10-17  Bruno Haible  <bruno@clisp.org>
46657
46658         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
46659         HP-UX and IRIX, use -0.0L.
46660         * tests/test-ceill.c (minus_zero): Likewise.
46661         * tests/test-floorl.c (minus_zero): Likewise.
46662         * tests/test-frexpl.c (minus_zero): Likewise.
46663         * tests/test-isnan.c (minus_zerol): Likewise.
46664         * tests/test-isnanl.h (minus_zero): Likewise.
46665         * tests/test-ldexpl.c (minus_zero): Likewise.
46666         * tests/test-roundl.c (minus_zero): Likewise.
46667         * tests/test-signbit.c (minus_zerol): Likewise.
46668         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
46669         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
46670         * tests/test-truncl.c (minus_zero): Likewise.
46671         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
46672         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
46673         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
46674         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
46675
46676 2008-10-17  Bruno Haible  <bruno@clisp.org>
46677
46678         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
46679         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
46680         that it gets activated only for gcc >= 3.0.
46681         * lib/dirent.in.h: Likewise.
46682         * lib/errno.in.h: Likewise.
46683         * lib/fcntl.in.h: Likewise.
46684         * lib/float.in.h: Likewise.
46685         * lib/iconv.in.h: Likewise.
46686         * lib/inttypes.in.h: Likewise.
46687         * lib/locale.in.h: Likewise.
46688         * lib/math.in.h: Likewise.
46689         * lib/netdb.in.h: Likewise.
46690         * lib/netinet_in.in.h: Likewise.
46691         * lib/search.in.h: Likewise.
46692         * lib/signal.in.h: Likewise.
46693         * lib/spawn.in.h: Likewise.
46694         * lib/stdarg.in.h: Likewise.
46695         * lib/stdint.in.h: Likewise.
46696         * lib/stdio.in.h: Likewise.
46697         * lib/stdlib.in.h: Likewise.
46698         * lib/string.in.h: Likewise.
46699         * lib/strings.in.h: Likewise.
46700         * lib/sys_file.in.h: Likewise.
46701         * lib/sys_ioctl.in.h: Likewise.
46702         * lib/sys_select.in.h: Likewise.
46703         * lib/sys_socket.in.h: Likewise.
46704         * lib/sys_stat.in.h: Likewise.
46705         * lib/sys_time.in.h: Likewise.
46706         * lib/sysexits.in.h: Likewise.
46707         * lib/time.in.h: Likewise.
46708         * lib/unistd.in.h: Likewise.
46709         * lib/wchar.in.h: Likewise.
46710         * lib/wctype.in.h: Likewise.
46711         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
46712
46713 2008-10-17  Jim Meyering  <meyering@redhat.com>
46714
46715         ignore-value: don't depend on inline module
46716         * modules/ignore-value (Depends-on): Remove 'inline'.
46717         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
46718         Suggestion from Bruno Haible.
46719
46720 2008-10-17  Bruno Haible  <bruno@clisp.org>
46721
46722         New implementation of condition variables for Win32.
46723         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
46724         (gl_linked_waitqueue_t): New type.
46725         (gl_cond_t): Use it.
46726         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
46727         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
46728         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
46729         (glthread_cond_init_func, glthread_cond_wait_func,
46730         glthread_cond_timedwait_func, glthread_cond_signal_func,
46731         glthread_cond_broadcast_func, glthread_cond_destroy_func):
46732         Reimplemented on the basis of gl_linked_waitqueue_t.
46733         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
46734         gl_waitqueue_t.
46735         (gl_rwlock_t): Update.
46736         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
46737
46738 2008-10-17  Simon Josefsson  <simon@josefsson.org>
46739
46740         * modules/recvfrom (Depends-on): Add dependency on getpeername.
46741         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
46742
46743 2008-10-17  Jim Meyering  <meyering@redhat.com>
46744
46745         ignore-value: new module
46746         * modules/ignore-value: New file.
46747         * lib/ignore-value.h: New file.
46748         * MODULES.html.sh (Compiler warning management): New section,
46749         just for this module.  More to come.
46750
46751 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
46752
46753         open-safer.c: avoid 'signed and unsigned in conditional...' warning
46754         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
46755         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
46756
46757 2008-10-16  Jim Meyering  <meyering@redhat.com>
46758
46759         openat-die.c: avoid 'no previous prototype' warning
46760         * lib/openat-die.c: Include "openat.h".
46761         Reported by Reuben Thomas <rrt@sc3d.org>.
46762
46763 2008-10-16  Simon Josefsson  <simon@josefsson.org>
46764
46765         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
46766         * lib/netdb.in.h: Fix typo.
46767         Reported by Bruno Haible  <bruno@clisp.org>
46768
46769         * lib/netdb.in.h: Include sys/socket.h for platforms without
46770         netdb.h, to get structures like hostent on MinGW.
46771         * modules/netdb (Depends-on): Add sys_socket.
46772
46773 2008-10-15  Simon Josefsson  <simon@josefsson.org>
46774
46775         * modules/netdb, modules/netdb-tests: New file.
46776         * m4/netdb_h.m4: New file.
46777         * lib/netdb.in.h: Add, currently just an empty file pending
46778         definitions.
46779         * tests/test-netdb.c: New file.
46780         * doc/posix-headers/netdb.texi: Mention that we replace it if
46781         needed.
46782         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46783         netdb.
46784
46785 2008-10-15  Simon Josefsson  <simon@josefsson.org>
46786
46787         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
46788         with code.
46789
46790 2008-10-13  Bruno Haible  <bruno@clisp.org>
46791
46792         * lib/glthread/cond.c (glthread_cond_wait_func,
46793         glthread_cond_timedwait_func): Add a comment.
46794
46795 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46796
46797         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
46798         * tests/test-select.c: Likewise,
46799
46800 2008-10-13  Bruno Haible  <bruno@clisp.org>
46801
46802         * lib/glthread/cond.c (glthread_cond_wait_func,
46803         glthread_cond_timedwait_func): Fix variable name.
46804         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
46805
46806 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
46807
46808         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
46809         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
46810         struct sockaddr.sa_len.
46811         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
46812
46813 2008-10-13  Simon Josefsson  <simon@josefsson.org>
46814
46815         * build-aux/pmccabe2html: Add css and css_url parameters.
46816
46817 2008-10-12  Bruno Haible  <bruno@clisp.org>
46818
46819         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
46820         calling aclx_get.
46821         Reported by Rainer Tammer <tammer@tammer.net>.
46822
46823 2008-10-12  Bruno Haible  <bruno@clisp.org>
46824
46825         Use msvcrt aware primitives for creation/termination of Win32 threads.
46826         * lib/glthread/thread.c: Include <process.h>.
46827         (glthread_create_func): Use _beginthreadex instead of CreateThread.
46828         (wrapper_func): Update signature.
46829         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
46830
46831 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46832             Bruno Haible  <bruno@clisp.org>
46833
46834         Provide a Win32 implementation of the 'cond' module.
46835         * lib/glthread/cond.h [USE_WIN32]: New implementation.
46836         * lib/glthread/cond.c (glthread_cond_init_func,
46837         glthread_cond_wait_func, glthread_cond_timedwait_func,
46838         glthread_cond_signal_func, glthread_cond_broadcast_func,
46839         glthread_cond_destroy_func) [USE_WIN32]: New functions.
46840         * modules/cond (Dependencies): Add gettimeofday.
46841
46842 2008-10-11  Bruno Haible  <bruno@clisp.org>
46843
46844         Make sleep work on older versions of mingw.
46845         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
46846         only whether it exists.
46847         * doc/posix-functions/sleep.texi: Mention the problem with older
46848         versions of mingw.
46849
46850 2008-10-11  Bruno Haible  <bruno@clisp.org>
46851
46852         New module 'shutdown'.
46853         * modules/shutdown: New file.
46854         * lib/sys_socket.in.h (shutdown): New declaration.
46855         * lib/winsock.c (shutdown): New function.
46856         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46857         GNULIB_SHUTDOWN.
46858         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
46859         * doc/posix-functions/shutdown.texi: Document the new module.
46860
46861 2008-10-11  Jim Meyering  <meyering@redhat.com>
46862
46863         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
46864
46865 2008-10-11  Bruno Haible  <bruno@clisp.org>
46866
46867         New module 'fclose'.
46868         * modules/fclose: New file.
46869         * lib/stdio.in.h (fclose): New declaration.
46870         * lib/fclose.c: New file.
46871         * m4/fclose.m4: New file.
46872         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
46873         REPLACE_FCLOSE.
46874         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
46875         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
46876         REPLACE_FCLOSE.
46877         * modules/close (Depends-on): fclose.
46878         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
46879
46880 2008-10-11  Bruno Haible  <bruno@clisp.org>
46881
46882         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
46883         set errno and don't call _close.
46884
46885 2008-10-10  Bruno Haible  <bruno@clisp.org>
46886
46887         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
46888         ACL, not afterwards. Fixes test failure on Cygwin.
46889
46890 2008-10-09  Ben Pfaff  <blp@gnu.org>
46891
46892         * build-aux/announce-gen: Fix gnulib version related part of usage
46893         message.  Die with a useful error message if no tarballs are
46894         found.
46895
46896 2008-10-10  Jim Meyering  <meyering@redhat.com>
46897
46898         bootstrap: use git's --depth=N option only if it's supported
46899         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
46900         recognize the --depth option.  Reported by Pádraig Brady.
46901
46902 2008-10-09  Bruno Haible  <bruno@clisp.org>
46903
46904         New module 'ioctl'.
46905         * modules/ioctl: New file.
46906         * lib/sys_socket.in.h (ioctl): Remove declaration.
46907         * lib/winsock.c: Include <sys/ioctl.h>.
46908         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
46909         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
46910         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
46911         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
46912         * doc/posix-functions/ioctl.texi: Mention the new module.
46913
46914 2008-10-09  Bruno Haible  <bruno@clisp.org>
46915
46916         New module 'sys_ioctl'.
46917         * lib/sys_ioctl.in.h: New file.
46918         * m4/sys_ioctl_h.m4: New file.
46919         * modules/sys_ioctl: New file.
46920         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
46921
46922 2008-10-09  Bruno Haible  <bruno@clisp.org>
46923
46924         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
46925         * lib/winsock.c: Include <stdarg.h>.
46926         (rpl_ioctl): Change to second argument 'int' and then varargs.
46927
46928 2008-10-09  Bruno Haible  <bruno@clisp.org>
46929
46930         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
46931         when the sys_socket module is present and the system has <winsock2.h>.
46932
46933 2008-10-09  Bruno Haible  <bruno@clisp.org>
46934
46935         * doc/posix-functions/close.texi: Mention module 'close' instead of
46936         module 'sys_socket'.
46937
46938 2008-10-09  Bruno Haible  <bruno@clisp.org>
46939
46940         * doc/glibc-headers/sys_ioctl.texi: New file.
46941         * doc/gnulib.texi: Include it.
46942
46943 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46944             Bruno Haible  <bruno@clisp.org>
46945
46946         Combine the two replacements of 'close'.
46947         * lib/sys_socket.in.h (close): Define to a reminder to include
46948         <unistd.h>.
46949         (_gl_close_fd_maybe_socket): New declaration.
46950         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
46951         * lib/winsock.c (close): Remove undefinition.
46952         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
46953         needed for the gnulib module 'close'.
46954         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
46955         define to an error symbol or to a warning, if suitable.
46956         * lib/close.c: Include <sys/socket.h>.
46957         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
46958         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
46959         UNISTD_H_HAVE_WINSOCK2_H.
46960         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
46961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46962         UNISTD_H_HAVE_WINSOCK2_H.
46963         * modules/sys_socket (Files): Add m4/unistd_h.m4.
46964         (configure.ac): Set a module indicator.
46965         (Makefile.am): Substitute GNULIB_CLOSE.
46966         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
46967         * modules/poll-tests (Depends-on): Add close.
46968         * modules/select-tests (Depends-on): Likewise.
46969
46970 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46971             Bruno Haible  <bruno@clisp.org>
46972
46973         New module 'close'.
46974         * modules/close: New file.
46975         * lib/unistd.in.h (close): Move declaration out of the
46976         FCHDIR_REPLACEMENT scope.
46977         (_gl_unregister_fd): New declaration.
46978         * lib/close.c: New file.
46979         * lib/fchdir.c (rpl_close): Remove function.
46980         * m4/close.m4: New file.
46981         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
46982         close.
46983         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
46984         REPLACE_CLOSE.
46985         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
46986         REPLACE_CLOSE.
46987         * modules/fchdir (Depends-on): Add close.
46988
46989 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
46990             Bruno Haible  <bruno@clisp.org>
46991
46992         * lib/fcntl.in.h (open): Simplify conditionals.
46993         (_gl_register_fd): New declaration.
46994         * lib/fchdir.c (rpl_open): Remove function.
46995         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
46996         also.
46997         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
46998         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
46999         open.
47000
47001 2008-10-09  Jim Meyering  <meyering@redhat.com>
47002
47003         GNUmakefile: use the more name-space-friendly "_version"
47004         * top/GNUmakefile (_dummy): Update.
47005         (_version): Rename from "version".
47006
47007 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47008             Bruno Haible  <bruno@clisp.org>
47009
47010         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
47011         rpl_close.
47012         (_gl_register_fd): New function, extracted from rpl_open.
47013         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
47014         (rpl_open, rpl_opendir): Use _gl_register_fd.
47015
47016 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
47017
47018         Fix organization of 'open' replacement.
47019         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
47020         (gl_FUNC_OPEN): Use it.
47021         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
47022
47023 2008-10-08  Bruno Haible  <bruno@clisp.org>
47024
47025         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
47026
47027 2008-10-08  Simon Josefsson  <simon@josefsson.org>
47028
47029         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
47030         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
47031         listen).
47032
47033 2008-10-08  Eric Blake  <ebb9@byu.net>
47034
47035         GNUmakefile: add 'make version' target
47036         * top/GNUmakefile (_curr-ver): Split version update rules...
47037         (version): ...into a target.
47038
47039 2008-10-07  Bruno Haible  <bruno@clisp.org>
47040
47041         Use a more portable replacement expression for -0.0L.
47042         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
47043         instead of -0.0L. Fix m4 quotation.
47044
47045         * tests/test-signbit.c: Include <float.h>.
47046         (minus_zero): New variable.
47047         (test_signbitl): Use minus_zero instead of -zero.
47048         * modules/signbit-tests (Depends-on): Add float.
47049
47050         * tests/test-ceill.c: Include <float.h>.
47051         (zero): Remove variable.
47052         (minus_zero): New variable.
47053         (main): Use minus_zero instead of -zero.
47054         * modules/ceill-tests (Depends-on): Add float.
47055
47056         * tests/test-floorl.c: Include <float.h>.
47057         (zero): Remove variable.
47058         (minus_zero): New variable.
47059         (main): Use minus_zero instead of -zero.
47060         * modules/floorl-tests (Depends-on): Add float.
47061
47062         * tests/test-roundl.c: Include <float.h>.
47063         (zero): Remove variable.
47064         (minus_zero): New variable.
47065         (main): Use minus_zero instead of -zero.
47066         * modules/roundl-tests (Depends-on): Add float.
47067
47068         * tests/test-truncl.c: Include <float.h>.
47069         (zero): Remove variable.
47070         (minus_zero): New variable.
47071         (main): Use minus_zero instead of -zero.
47072         * modules/truncl-tests (Depends-on): Add float.
47073
47074         * tests/test-frexpl.c (zero): Remove variable.
47075         (minus_zero): New variable.
47076         (main): Use minus_zero instead of -zero.
47077         * modules/frexpl-tests (Depends-on): Add float.
47078
47079         * tests/test-isnan.c (zerol): Remove variable.
47080         (minus_zerol): New variable.
47081         (test_long_double): Use minus_zerol instead of -zerol.
47082         * modules/isnan-tests (Depends-on): Add float.
47083
47084         * tests/test-isnanl.h (zero): Remove variable.
47085         (minus_zero): New variable.
47086         (main): Use minus_zero instead of -zero.
47087         * modules/isnanl-nolibm-tests (Depends-on): Add float.
47088         * modules/isnanl-tests (Depends-on): Add float.
47089
47090         * tests/test-ldexpl.c (zero): Remove variable.
47091         (minus_zero): New variable.
47092         (main): Use minus_zero instead of -zero.
47093         * modules/ldexpl-tests (Depends-on): Add float.
47094
47095         * tests/test-snprintf-posix.h (zerol): Remove variable.
47096         (minus_zerol): New variable.
47097         (test_function): Use minus_zerol instead of -zerol.
47098         * modules/snprintf-posix-tests (Depends-on): Add float.
47099         * modules/vsnprintf-posix-tests (Depends-on): Add float.
47100
47101         * tests/test-sprintf-posix.h (zerol): Remove variable.
47102         (minus_zerol): New variable.
47103         (test_function): Use minus_zerol instead of -zerol.
47104         * modules/sprintf-posix-tests (Depends-on): Add float.
47105         * modules/vsprintf-posix-tests (Depends-on): Add float.
47106
47107         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
47108         (minus_zerol): New variable.
47109         (test_function): Use minus_zerol instead of -zerol.
47110         * modules/vasnprintf-posix-tests (Depends-on): Add float.
47111
47112         * tests/test-vasprintf-posix.c (zerol): Remove variable.
47113         (minus_zerol): New variable.
47114         (test_function): Use minus_zerol instead of -zerol.
47115         * modules/vasprintf-posix-tests (Depends-on): Add float.
47116
47117 2008-10-07  Simon Josefsson  <simon@josefsson.org>
47118
47119         * MODULES.html.sh (Support for building documentation): Mention
47120         pmccabe2html.  Sort entries.
47121
47122         Add pmccabe2html module, from gnupdf.
47123         * build-aux/pmccabe.css: New file.
47124         * build-aux/pmccabe2html: New file.
47125         * m4/pmccabe2html.m4: New file.
47126         * modules/pmccabe2html: New file.
47127
47128 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
47129
47130         flock: new module
47131         * MODULES.html.sh: Add to list of modules.
47132         * lib/flock.c: flock implementation for Windows and Unix systems
47133         which have fcntl.
47134         * doc/glibc-functions/flock.texi: Update documentation.
47135         * lib/sys_file.in.h: <sys/file.h> header file.
47136         * m4/flock.m4: M4 macros.
47137         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
47138         * modules/flock: flock module.
47139         * modules/flock-tests: flock tests module.
47140         * modules/sys_file: sys/file.h module.
47141         * tests/test-flock.c: test suite for flock.
47142
47143 2008-10-06  Jim Meyering  <meyering@redhat.com>
47144
47145         bootstrap: check for LT_INIT more portably still ;-)
47146         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
47147         Spotted by Bruno Haible.
47148
47149 2008-10-06  Eric Blake  <ebb9@byu.net>
47150
47151         test-signbit: avoid tripping Irix cc bug on -0.0L
47152         * tests/test-signbit.c (minus_zerol): Delete, and replace with
47153         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
47154         entire testsuite consistent and avoids an Irix 6.2 bug.
47155
47156 2008-10-05  Bruno Haible  <bruno@clisp.org>
47157             Jim Meyering  <jim@meyering.net>
47158
47159         Add an option for ignoring EPIPE during close_stdout.
47160         * lib/closeout.h: Include <stdbool.h>.
47161         (close_stdout_set_ignore_EPIPE): New declaration.
47162         * lib/closeout.c: Include <stdbool.h>.
47163         (ignore_EPIPE): New variable.
47164         (close_stdout_set_ignore_EPIPE): New function.
47165         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
47166         * lib/close-stream.c (close_stream): Mention the possible EPIPE
47167         failure.
47168         * modules/closeout (Depends-on): Add stdbool.
47169
47170 2008-10-05  Bruno Haible  <bruno@clisp.org>
47171
47172         * modules/accept: New file.
47173         * modules/bind: New file.
47174         * modules/connect: New file.
47175         * modules/getpeername: New file.
47176         * modules/getsockname: New file.
47177         * modules/getsockopt: New file.
47178         * modules/listen: New file.
47179         * modules/recv: New file.
47180         * modules/recvfrom: New file.
47181         * modules/send: New file.
47182         * modules/sendto: New file.
47183         * modules/setsockopt: New file.
47184         * modules/socket: New file.
47185         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
47186         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
47187         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
47188         the particular module is requested. Add a link warning when the
47189         particular module is not requested.
47190         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
47191         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
47192         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
47193         the particular module is requested.
47194         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
47195         gl_SYS_SOCKET_H_DEFAULTS): New macros.
47196         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
47197         * modules/sys_socket (Depends-on): Add link-warning.
47198         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
47199         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
47200         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
47201         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
47202         GL_LINK_WARNING.
47203         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
47204         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
47205         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
47206         * doc/posix-functions/getpeername.texi: Mention the new module
47207         'getpeername'.
47208         * doc/posix-functions/getsockname.texi: Mention the new module
47209         'getsockname'.
47210         * doc/posix-functions/getsockopt.texi: Mention the new module
47211         'getsockopt'.
47212         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
47213         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
47214         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
47215         * doc/posix-functions/send.texi: Mention the new module 'send'.
47216         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
47217         * doc/posix-functions/setsockopt.texi: Mention the new module
47218         'setsockopt'.
47219         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
47220         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
47221         listen, connect, accept.
47222         * modules/select-tests (Depends-on): Likewise.
47223
47224 2008-10-05  Bruno Haible  <bruno@clisp.org>
47225
47226         * lib/winsock.c (strerror): Remove unused #undef.
47227         (rpl_close): Remove unused local variable.
47228
47229         * modules/sys_socket (Depends-on); Add errno.
47230
47231 2008-10-05  Bruno Haible  <bruno@clisp.org>
47232
47233         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
47234         (select): Add a link warning when the 'select' module is not used.
47235         * modules/sys_select (Depends-on): Add link-warning.
47236         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
47237         Suggested by Paolo Bonzini.
47238
47239 2008-10-05  Jim Meyering  <meyering@redhat.com>
47240
47241         bootstrap: check for LT_INIT more portably
47242         * build-aux/bootstrap: Avoid using grep -E, since it's not
47243         portable enough.  Suggestion from Bruno Haible.
47244
47245 2008-10-05  Bruno Haible  <bruno@clisp.org>
47246
47247         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
47248         as being fixed by gnulib.
47249
47250 2008-10-05  Bruno Haible  <bruno@clisp.org>
47251
47252         * modules/select-tests: New file, mostly copied from
47253         modules/sys_select-tests.
47254         * tests/test-select.c: New file, mostly copied from
47255         tests/test-sys_select.c.
47256         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
47257         * modules/sys_select-tests (Depends-on): Remove all dependencies.
47258         (Makefile.am): Remove test_sys_select_LDADD.
47259
47260         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
47261         to an undefined symbol, for an error message.
47262         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
47263         (gl_SYS_SELECT_H_DEFAULTS): New macro.
47264         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
47265         winsock-select.c here.
47266         * modules/sys_select (Files): Remove lib/winsock-select.c.
47267         (Depends-on): Remove alloca.
47268         (Makefile.am): Substitute GNULIB_SELECT.
47269         * modules/select: New file.
47270         * doc/posix-functions/select.texi: Update.
47271
47272 2008-10-05  Bruno Haible  <bruno@clisp.org>
47273
47274         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
47275         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
47276         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
47277         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
47278         getdtablesize.
47279         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
47280         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
47281
47282 2008-10-05  Bruno Haible  <bruno@clisp.org>
47283
47284         * modules/getdtablesize-tests: New file.
47285         * tests/test-getdtablesize.c: New file.
47286
47287         New module 'getdtablesize'.
47288         * lib/unistd.in.h (getdtablesize): New declaration.
47289         * lib/getdtablesize.c: New file.
47290         * m4/getdtablesize.m4: New file.
47291         * modules/getdtablesize: New file.
47292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47293         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
47294         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
47295         HAVE_GETDTABLESIZE.
47296         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
47297
47298 2008-10-05  Bruno Haible  <bruno@clisp.org>
47299
47300         * modules/sched (Makefile.am): Fix typo.
47301         Reported by Simon Josefsson.
47302
47303 2008-10-05  Jim Meyering  <meyering@redhat.com>
47304
47305         bootstrap: check for LT_INIT, too
47306         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
47307         are deprecated.  Suggestion from Ralf Wildenhues.
47308
47309 2008-10-05  Bruno Haible  <bruno@clisp.org>
47310
47311         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
47312         overriding them by ours.
47313         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
47314
47315 2008-10-05  Jim Meyering  <meyering@redhat.com>
47316
47317         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
47318         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
47319         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
47320
47321 2008-10-04  Bruno Haible  <bruno@clisp.org>
47322
47323         * modules/dup2 (License): Change to LGPLv2+.
47324         * modules/sleep (License): Likewise.
47325         * modules/perror (License): Likewise.
47326         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
47327         Blake.
47328         * modules/signal (License): Likewise.
47329         * modules/sigprocmask (License): Likewise.
47330         * modules/raise (License): Change to LGPLv2+, with approval by Jim
47331         Meyering.
47332
47333 2008-10-04  Bruno Haible  <bruno@clisp.org>
47334
47335         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
47336         Reported by Rainer Tammer <tammer@tammer.net>.
47337
47338 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
47339             Bruno Haible  <bruno@clisp.org>
47340
47341         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
47342         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
47343         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
47344
47345 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
47346
47347         filevercmp: new module
47348         * lib/filevercmp.h: New function filevercmp comparing version strings.
47349         * lib/filevercmp.c: Implementation of filevercmp function.
47350         * modules/filevercmp: Module metadata.
47351         * tests/test-filevercmp.c: Unit test for new module.
47352         * modules/filevercmp-tests: Unit test metadata.
47353         * MODULES.html.sh: Add filevercmp module.
47354
47355 2008-10-03  Bruno Haible  <bruno@clisp.org>
47356
47357         * lib/c-ctype.h: Add comment.
47358         Reported by Jim Meyering.
47359
47360 2008-10-02  Bruno Haible  <bruno@clisp.org>
47361
47362         * modules/posix_spawn-internal (Depends-on): Add 'open'.
47363
47364 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
47365
47366         * build-aux/bootstrap: Allow renaming bootstrap, and change the
47367         name of bootstrap.conf accordingly.
47368
47369 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
47370
47371         * build-aux/bootstrap: Install git-merge-changelog configuration
47372         items into .gitconfig if needed.
47373
47374 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
47375
47376         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
47377         git repository, and initialize/update it accordingly.
47378
47379 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
47380
47381         * modules/fsync-tests: New file.
47382         * tests/test-fsync.c: New file.
47383
47384         New module 'fsync'.
47385         * lib/fsync.c: New file.
47386         * m4/fsync.m4: New file.
47387         * modules/fsync: New file.
47388         * lib/unistd.in.h (fsync): New declaration.
47389         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
47390         GNULIB_FSYNC and HAVE_FSYNC.
47391         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
47392         * MODULES.html.sh (posix_functions): Add fsync.
47393         * doc/posix-functions/fsync.texi: Mention the new module.
47394
47395 2008-10-02  Jim Meyering  <meyering@redhat.com>
47396
47397         fts.c: sync with similar code from coreutils' remove.c
47398         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
47399         Guard also with "#if defined __linux__", since for now at least,
47400         this code is Linux-kernel-specific.
47401
47402 2008-10-02  Jim Meyering  <meyering@redhat.com>
47403
47404         fts: bug fixes
47405         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
47406         Include <sys/vfs.h>, not <sys/statfs.h>.
47407
47408         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
47409         Include <sys/vfs.h>, not <sys/statfs.h>.
47410
47411 2008-10-01  Bruno Haible  <bruno@clisp.org>
47412
47413         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
47414         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
47415         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
47416         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
47417         * doc/posix-functions/posix_spawnp.texi: Likewise.
47418         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
47419         whether posix_spawn actually works.
47420         * m4/pipe.m4 (gl_PIPE): Likewise.
47421         * modules/execute (Files): Add m4/posix_spawn.m4.
47422         * modules/pipe (Files): Add m4/posix_spawn.m4.
47423         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
47424
47425 2008-10-01  Jim Meyering  <meyering@redhat.com>
47426
47427         remove trailing spaces
47428         * NEWS: Likewise.
47429         * lib/poll.c (poll): Likewise.
47430         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
47431         * lib/winsock.c (rpl_close): Likewise.
47432         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
47433         * modules/yield: Likewise.
47434         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
47435         * tests/test-sys_select.c (connect_to_socket): Likewise.
47436
47437         fts.c: adjust a new interface to be more generally useful
47438         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
47439         (fts_build): Adjust caller.
47440
47441 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47442
47443         * modules/cond-tests: New file.
47444         * tests/test-cond.c: New file.
47445
47446 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47447             Bruno Haible  <bruno@clisp.org>
47448
47449         * modules/cond (Dependencies): Add errno, time.
47450         * lib/glthread/cond.h: Include <time.h>.
47451         (gl_cond_define, gl_cond_define_initialized): Use the same definition
47452         across platforms.
47453
47454 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47455             Bruno Haible  <bruno@clisp.org>
47456
47457         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
47458
47459 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47460             Bruno Haible  <bruno@clisp.org>
47461
47462         * modules/tls-tests (Depends-on): Add thread, yield.
47463         (configure.ac): Remove all checks.
47464         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
47465         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
47466         gl_thread_self): Remove definitions. Include glthread/thread.h and
47467         glthread/yield.h instead.
47468         (test_tls): Pass an additional NULL argument to gl_thread_join.
47469
47470 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47471             Bruno Haible  <bruno@clisp.org>
47472
47473         * modules/lock-tests (Depends-on): Add thread, yield.
47474         (configure.ac): Remove all checks.
47475         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
47476         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
47477         gl_thread_self): Remove definitions. Include glthread/thread.h and
47478         glthread/yield.h instead.
47479         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
47480         additional NULL argument to gl_thread_join.
47481
47482 2008-09-30  Bruno Haible  <bruno@clisp.org>
47483
47484         Fix the Win32 implementation of the 'thread' module.
47485         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
47486         pointer type.
47487         (gl_thread_self): Invoke gl_thread_self_func.
47488         (gl_thread_self_func): New declaration.
47489         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
47490         (do_init_self_key, init_self_key): New functions.
47491         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
47492         Remove some fields.
47493         (running_threads, running_lock): Remove variables.
47494         (get_current_thread_handle): New function.
47495         (gl_thread_self_func, wrapper_func, glthread_create_func,
47496         glthread_join_func, gl_thread_exit_func): Largely rewritten and
47497         simplified.
47498
47499 2008-09-30  Bruno Haible  <bruno@clisp.org>
47500
47501         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
47502         files.
47503
47504 2008-09-30  Jim Meyering  <meyering@redhat.com>
47505
47506         fts.m4: correct the test for statfs.f_type
47507         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
47508         when checking for statfs.f_type.
47509
47510 2008-09-15  Simon Josefsson  <simon@josefsson.org>
47511
47512         tests: avoid some compiler warnings
47513         * tests/test-memchr.c (main): Pass NULL indirectly.
47514         * tests/test-getdate.c (main): Remove unused variable 'ret'.
47515
47516 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
47517
47518         getdate.y: disallow countable dayshifts like "4 yesterday ago"
47519         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
47520         exactly specified dayshifts.
47521         (dayshift): New rule.
47522         (rel): Add dayshift.
47523         (relative_time_table) [tomorrow, yesterday, today, now]:
47524         Use tDAY_SHIFT in place of tDAY_UNIT.
47525         * tests/test-getdate.c: Add tests for now-disallowed countable
47526         dayshifts, e.g., "4 yesterday ago".
47527
47528 2008-09-29  Bruno Haible  <bruno@clisp.org>
47529
47530         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
47531         * tests/test-posix_spawn1.in.sh: Renamed from
47532         tests/test-posix_spawn.in.sh.
47533         * tests/test-posix_spawn2.c: New file.
47534         * tests/test-posix_spawn2.in.sh: New file.
47535         * modules/posix_spawnp-tests (Files): Update.
47536         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
47537
47538 2008-09-29  Bruno Haible  <bruno@clisp.org>
47539
47540         Propagate effects of putenv/setenv/unsetenv to child processes.
47541         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
47542         * lib/pipe.c (create_pipe): Likewise.
47543
47544 2008-09-29  Bruno Haible  <bruno@clisp.org>
47545
47546         Enable use of shell scripts as executables in mingw.
47547         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
47548         run the program as a shell script.
47549         * lib/pipe.c (create_pipe): Likewise.
47550         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
47551         resulting array.
47552
47553 2008-09-29  Eric Blake  <ebb9@byu.net>
47554
47555         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
47556
47557 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
47558
47559         * doc/posix-functions/accept.texi: Update mingw problems.
47560         * doc/posix-functions/bind.texi: Update mingw problems.
47561         * doc/posix-functions/close.texi: Update mingw problems.
47562         * doc/posix-functions/connect.texi: Update mingw problems.
47563         * doc/posix-functions/getpeername.texi: Update mingw problems.
47564         * doc/posix-functions/getsockname.texi: Update mingw problems.
47565         * doc/posix-functions/getsockopt.texi: Update mingw problems.
47566         * doc/posix-functions/ioctl.texi: Update mingw problems.
47567         * doc/posix-functions/listen.texi: Update mingw problems.
47568         * doc/posix-functions/recv.texi: Update mingw problems.
47569         * doc/posix-functions/recvfrom.texi: Update mingw problems.
47570         * doc/posix-functions/select.texi: Update mingw problems.
47571         * doc/posix-functions/send.texi: Update mingw problems.
47572         * doc/posix-functions/sendto.texi: Update mingw problems.
47573         * doc/posix-functions/setsockopt.texi: Update mingw problems.
47574         * doc/posix-functions/socket.texi: Update mingw problems.
47575
47576 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
47577             Bruno Haible  <bruno@clisp.org>
47578
47579         * lib/sys_select.in.h: Include sys/time.h.
47580         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
47581         * modules/sys_select: Depend on sys_time.
47582         * tests/test-sys_select.c: Test that sys/select.h defines struct
47583         timeval fully.
47584
47585 2008-09-29  Bruno Haible  <bruno@clisp.org>
47586
47587         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
47588         * lib/sys_select.in.h: Likewise.
47589
47590 2008-09-29  Bruno Haible  <bruno@clisp.org>
47591
47592         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
47593
47594 2008-09-29  Bruno Haible  <bruno@clisp.org>
47595
47596         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
47597         Set LIBSOCKET instead of augmenting LIBS.
47598         * modules/sockets (Link): New section.
47599         * modules/sockets-tests (test_sockets_LDADD): New variable.
47600         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
47601         * modules/poll-tests (test_poll_LDADD): New variable.
47602         * NEWS: Document the change.
47603
47604 2008-09-29  Bruno Haible  <bruno@clisp.org>
47605
47606         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
47607         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
47608         ARPA_INET_H directly.
47609         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
47610
47611 2008-09-28  Bruno Haible  <bruno@clisp.org>
47612
47613         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
47614         from gl_HEADER_SYS_SOCKET.
47615         (gl_HEADER_SYS_SOCKET): Invoke it.
47616         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
47617
47618 2008-09-28  Bruno Haible  <bruno@clisp.org>
47619
47620         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
47621         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
47622         Needed on OSF/1 4.0.
47623
47624 2008-09-28  Bruno Haible  <bruno@clisp.org>
47625
47626         Override open more carefully.
47627         * lib/open.c (orig_open): New function.
47628         (rpl_open): Use orig_open instead of open.
47629         * lib/fcntl.in.h: Add special invocation convention.
47630         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
47631         (gl_FUNC_OPEN): Invoke it.
47632
47633         Override freopen more carefully.
47634         * lib/freopen.c (orig_freopen): New function.
47635         (rpl_freopen): Use orig_freopen instead of freopen.
47636         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
47637         (gl_FUNC_FREOPEN): Invoke it.
47638
47639         Override fopen more carefully.
47640         * lib/fopen.c (orig_fopen): New function.
47641         (rpl_fopen): Use orig_fopen instead of fopen.
47642         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
47643         (gl_FUNC_FOPEN): Invoke it.
47644         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
47645
47646 2008-09-28  Bruno Haible  <bruno@clisp.org>
47647
47648         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
47649         SIGPIPE.
47650
47651 2008-09-28  Bruno Haible  <bruno@clisp.org>
47652
47653         * tests/test-sigaction.c (handler, main): Disable the check whether
47654         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
47655         glibc systems with LinuxThreads.
47656
47657 2008-09-28  Bruno Haible  <bruno@clisp.org>
47658
47659         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
47660
47661         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
47662         with AIX xlc.
47663         * lib/fcntl.in.h (open): Likewise.
47664         Reported by Rainer Tammer <tammer@tammer.net>.
47665
47666 2008-09-28  Bruno Haible  <bruno@clisp.org>
47667
47668         * modules/posix_spawnp-tests: New file.
47669         * tests/test-posix_spawn.c: New file.
47670         * tests/test-posix_spawn.in.sh: New file.
47671
47672         New module 'posix_spawnp'.
47673         * modules/posix_spawnp: New file.
47674         * lib/spawnp.c: New file, from GNU libc with modifications.
47675         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
47676
47677         New module 'posix_spawn'.
47678         * modules/posix_spawn: New file.
47679         * lib/spawn.c: New file, from GNU libc with modifications.
47680         * doc/posix-functions/posix_spawn.texi: Mention the new module.
47681
47682         New module 'posix_spawnattr_destroy'.
47683         * modules/posix_spawnattr_destroy: New file.
47684         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
47685         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
47686         module.
47687
47688         New module 'posix_spawnattr_setsigmask'.
47689         * modules/posix_spawnattr_setsigmask: New file.
47690         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
47691         modifications.
47692         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
47693         new module.
47694
47695         New module 'posix_spawnattr_getsigmask'.
47696         * modules/posix_spawnattr_getsigmask: New file.
47697         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
47698         modifications.
47699         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
47700         new module.
47701
47702         New module 'posix_spawnattr_setsigdefault'.
47703         * modules/posix_spawnattr_setsigdefault: New file.
47704         * lib/spawnattr_setdefault.c: New file, from GNU libc with
47705         modifications.
47706         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
47707         new module.
47708
47709         New module 'posix_spawnattr_getsigdefault'.
47710         * modules/posix_spawnattr_getsigdefault: New file.
47711         * lib/spawnattr_getdefault.c: New file, from GNU libc with
47712         modifications.
47713         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
47714         new module.
47715
47716         New module 'posix_spawnattr_setschedpolicy'.
47717         * modules/posix_spawnattr_setschedpolicy: New file.
47718         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
47719         modifications.
47720         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
47721         new module.
47722
47723         New module 'posix_spawnattr_getschedpolicy'.
47724         * modules/posix_spawnattr_getschedpolicy: New file.
47725         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
47726         modifications.
47727         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
47728         new module.
47729
47730         New module 'posix_spawnattr_setschedparam'.
47731         * modules/posix_spawnattr_setschedparam: New file.
47732         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
47733         modifications.
47734         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
47735         new module.
47736
47737         New module 'posix_spawnattr_getschedparam'.
47738         * modules/posix_spawnattr_getschedparam: New file.
47739         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
47740         modifications.
47741         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
47742         new module.
47743
47744         New module 'posix_spawnattr_setpgroup'.
47745         * modules/posix_spawnattr_setpgroup: New file.
47746         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
47747         modifications.
47748         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
47749         module.
47750
47751         New module 'posix_spawnattr_getpgroup'.
47752         * modules/posix_spawnattr_getpgroup: New file.
47753         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
47754         modifications.
47755         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
47756         module.
47757
47758         New module 'posix_spawnattr_setflags'.
47759         * modules/posix_spawnattr_setflags: New file.
47760         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
47761         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
47762         module.
47763
47764         New module 'posix_spawnattr_getflags'.
47765         * modules/posix_spawnattr_getflags: New file.
47766         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
47767         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
47768         module.
47769
47770         New module 'posix_spawnattr_init'.
47771         * modules/posix_spawnattr_init: New file.
47772         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
47773         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
47774         module.
47775
47776         New module 'posix_spawn_file_actions_destroy'.
47777         * modules/posix_spawn_file_actions_destroy: New file.
47778         * lib/spawn_faction_destroy.c: New file, from GNU libc with
47779         modifications.
47780         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
47781         the new module.
47782
47783         New module 'posix_spawn_file_actions_addopen'.
47784         * modules/posix_spawn_file_actions_addopen: New file.
47785         * lib/spawn_faction_addopen.c: New file, from GNU libc with
47786         modifications.
47787         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
47788         the new module.
47789
47790         New module 'posix_spawn_file_actions_adddup2'.
47791         * modules/posix_spawn_file_actions_adddup2: New file.
47792         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
47793         modifications.
47794         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
47795         the new module.
47796
47797         New module 'posix_spawn_file_actions_addclose'.
47798         * modules/posix_spawn_file_actions_addclose: New file.
47799         * lib/spawn_faction_addclose.c: New file, from GNU libc with
47800         modifications.
47801         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
47802         the new module.
47803
47804         New module 'posix_spawn_file_actions_init'.
47805         * modules/posix_spawn_file_actions_init: New file.
47806         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
47807         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
47808         new module.
47809
47810         New module 'posix_spawn-internal'.
47811         * modules/posix_spawn-internal: New file.
47812         * lib/spawn_int.h: New file, from GNU libc with modifications.
47813         * lib/spawni.c: New file, from GNU libc with modifications.
47814         * m4/posix_spawn.m4: New file.
47815
47816         New module 'spawn'.
47817         * modules/spawn: New file.
47818         * lib/spawn.in.h: New file, from GNU libc with modifications.
47819         * m4/spawn_h.m4: New file.
47820         * doc/posix-headers/spawn.texi: Mention the new module.
47821
47822 2008-09-28  Bruno Haible  <bruno@clisp.org>
47823
47824         * modules/sched-tests: New file.
47825         * tests/test-sched.c: New file.
47826
47827         New module 'sched'.
47828         * modules/sched: New file.
47829         * lib/sched.in.h: New file.
47830         * m4/sched_h.m4: New file.
47831         * doc/posix-headers/sched.texi: Mention the new module.
47832
47833 2008-09-27  Eric Blake  <ebb9@byu.net>
47834
47835         Fix previous patch, and tweak references to $0.
47836         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
47837         (func_version, func_gnulib_dir): Don't call this program
47838         gnulib-tool.
47839         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
47840         with using $0 in function.
47841         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
47842         (func_fatal_error): Reuse the name the user invoked us with.
47843
47844 2008-09-27  Bruno Haible  <bruno@clisp.org>
47845
47846         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
47847         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
47848         (gl_ICONV_H): Not here.
47849         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
47850         instead of assigning ICONV_H directly.
47851
47852         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
47853         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
47854         WCHAR_H directly.
47855
47856 2008-09-27  Bruno Haible  <bruno@clisp.org>
47857
47858         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
47859         * modules/arpa_inet (Depends-on): Add link-warning.
47860         (Makefile.am): Insert the definition of GL_LINK-WARNING.
47861         * modules/unistd (Makefile.am): Likewise.
47862
47863 2008-09-26  Bruno Haible  <bruno@clisp.org>
47864
47865         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
47866         variables.
47867         (func_version): Essentially copied from gnulib-tool.
47868         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
47869         func_readlink): Copied from gnulib-tool.
47870
47871 2008-09-26  Bruno Haible  <bruno@clisp.org>
47872
47873         * gnulib-tool (func_version): Change directory to $gnulib_dir before
47874         invoking git-version-gen.
47875
47876 2008-09-26  Bruno Haible  <bruno@clisp.org>
47877
47878         * posix-modules: Update to directory names changed on 2008-01-19.
47879         Remove commas in output before splitting into words. No more need to
47880         avoid 'ftruncate' since 2007-02-19.
47881
47882 2008-09-26  Bruno Haible  <bruno@clisp.org>
47883
47884         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
47885
47886 2008-09-26  Bruno Haible  <bruno@clisp.org>
47887
47888         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
47889         * modules/fwriteerror (Depends-on): Add errno.
47890
47891 2008-09-26  Bruno Haible  <bruno@clisp.org>
47892
47893         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
47894         * tests/test-vc-list-files-cvs.sh: Likewise.
47895
47896 2008-09-26  Bruno Haible  <bruno@clisp.org>
47897
47898         * doc/posix-headers/sys_resource.texi: Reorder items.
47899
47900 2008-09-26  Jim Meyering  <meyering@redhat.com>
47901
47902         fts: tweak inode comparison function
47903         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
47904         inode numbers, as documented.
47905
47906         fts: sort dirent entries on inode number before traversing
47907         This avoids a quadratic, seek-related performance penalty when
47908         operating on a directory containing many entries (measurable at 10k;
47909         3.5 hours at 2 million entries with a cold cache) on certain types
47910         of file systems, including ext3 and ext4, but not tmpfs.
47911         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
47912         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
47913         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
47914         (fs_handles_readdir_ordered_dirents_efficiently): New function.
47915         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
47916         (fts_build): Set the stat.st_ino member from D_INO.
47917         If it is likely to be useful, sort dirent entries on inode number.
47918
47919         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
47920         and the struct statfs.f_type member.
47921         * modules/fts (Depends-on): Add d-ino.
47922
47923 2008-09-26  Bruno Haible  <bruno@clisp.org>
47924
47925         * modules/sigpipe-die (Depends-on): Add sigpipe.
47926
47927         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
47928         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
47929         and GNULIB_STDIO_H_SIGPIPE are set.
47930         * lib/stdio-write.c: New file.
47931         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
47932         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
47933         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
47934         REPLACE_STDIO_WRITE_FUNCS.
47935         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
47936         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
47937         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
47938         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
47939         * modules/stdio (Files): Add lib/stdio-write.c.
47940         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
47941         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
47942         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
47943         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
47944         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
47945         REPLACE_FPRINTF_POSIX.
47946         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
47947         REPLACE_PRINTF_POSIX.
47948         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
47949         REPLACE_VFPRINTF_POSIX.
47950         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
47951         REPLACE_VPRINTF_POSIX.
47952         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
47953         SIGPIPE issue.
47954         * doc/posix-functions/fputc.texi: Likewise.
47955         * doc/posix-functions/fputs.texi: Likewise.
47956         * doc/posix-functions/fwrite.texi: Likewise.
47957         * doc/posix-functions/printf.texi: Likewise.
47958         * doc/posix-functions/putc.texi: Likewise.
47959         * doc/posix-functions/putchar.texi: Likewise.
47960         * doc/posix-functions/puts.texi: Likewise.
47961         * doc/posix-functions/vfprintf.texi: Likewise.
47962         * doc/posix-functions/vprintf.texi: Likewise.
47963
47964         * modules/safe-write (Depends-on): Add write.
47965
47966         * modules/sigpipe-tests: New file.
47967         * tests/test-sigpipe.c: New file.
47968         * tests/test-sigpipe.sh: New file.
47969
47970         * modules/write: New file.
47971         * lib/unistd.in.h: Include <sys/types.h>.
47972         (write): New declaration.
47973         * lib/write.c: New file.
47974         * m4/write.m4: New file.
47975         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47976         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
47977         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
47978         GNULIB_WRITE, REPLACE_WRITE.
47979         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
47980         and the SIGPIPE issue.
47981
47982         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
47983         (raise): New declaration.
47984         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
47985         (ext_signal): New function.
47986         (rpl_raise): New function.
47987         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
47988         GNULIB_SIGNAL_H_SIGPIPE.
47989         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
47990         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
47991
47992         * modules/sigpipe: New file.
47993         * m4/sigpipe.m4: New file.
47994
47995 2008-09-25  Derek Price  <derek@ximbiot.com>
47996             Bruno Haible  <bruno@clisp.org>
47997
47998         * gnulib-tool (func_import): Report all license incompatibilities, not
47999         just the first one.
48000
48001 2008-09-25  Bruno Haible  <bruno@clisp.org>
48002
48003         * gnulib-tool (func_import): When computing the edits, consider not
48004         only the Makefile.ams that exist but also those that will be generated.
48005
48006 2008-09-25  Simon Josefsson  <simon@josefsson.org>
48007
48008         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
48009         fixes gnulib-tool --test warning about duplicate dependency.
48010
48011 2008-09-25  Bruno Haible  <bruno@clisp.org>
48012
48013         * gnulib-tool: Don't ask the user to perform edits in the generated
48014         Makefile.ams.
48015         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
48016         apply to the Makefile.am being generated.
48017         (func_emit_tests_Makefile_am): Execute edits that apply to the
48018         Makefile.am being generated.
48019         (func_import): Setup list of Makefile.am edits before emitting the
48020         Makefile.ams, not at the end.
48021         (func_create_testdir): Update.
48022         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48023
48024 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48025
48026         * gnulib-tool (func_import): Store the --tests-base option in the
48027         comment in gnulib-cache.m4.
48028
48029 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
48030
48031         * NEWS: Document increased portability that sys_select now provides.
48032
48033         * lib/sys_select.in.h: Install select wrapper.
48034         * lib/sys_socket.in.h: Use more descriptive name when there is no
48035         select wrapper.
48036         * lib/winsock-select.c: New.
48037         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
48038         Require gl_HEADER_SYS_SOCKET.
48039         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
48040         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
48041         * tests/test-sys_select.c: Add functional tests.
48042
48043 2008-09-24  Eric Blake  <ebb9@byu.net>
48044
48045         open, fopen: close fd leak in last patch
48046         * lib/open.c (rpl_open): Close fd before returning error.
48047         * lib/fopen.c (rpl_fopen): Close fd before returning error.
48048         * doc/posix-functions/open.texi (open): Document that Irix also
48049         has the bug.
48050         * doc/posix-functions/fopen.texi (fopen): Likewise.
48051         Reported by Paolo Bonzini.
48052
48053 2008-09-24  Bruno Haible  <bruno@clisp.org>
48054
48055         Ensure that a filename ending in a slash cannot be used to access a
48056         non-directory.
48057         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
48058         to check whether it's really a directory.
48059         * lib/fopen.c: Include fcntl.h, unistd.h.
48060         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
48061         and fdopen().
48062         * modules/fopen (Depends-on): Add unistd.
48063         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
48064         * tests/test-fopen.c (main): Likewise.
48065         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
48066         * doc/posix-functions/fopen.texi: Likewise.
48067         Reported by Eric Blake.
48068
48069 2008-09-23  Eric Blake  <ebb9@byu.net>
48070
48071         c-stack: avoid compiler optimizations when provoking overflow
48072         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
48073         recursion harder to optimize, to ensure a stack overflow occurs.
48074         * tests/test-c-stack.c (recurse): Likewise.
48075         Borrowed from libsigsegv.
48076
48077         c-stack: work around Irix sigaltstack bug
48078         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
48079         whether sigaltstack uses wrong end of stack_t (copied in part from
48080         libsigsegv).
48081         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
48082         Irix bug, without requiring an over-allocation.
48083         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
48084         bug.
48085
48086         fopen: document mingw bug on directories
48087         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
48088         not allowing a stream visiting a directory, even though reading
48089         from such a stream is not portable.
48090
48091 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
48092
48093         * lib/poll.c: Rewrite.
48094         * modules/poll: Depend on alloca.
48095
48096 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
48097
48098         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
48099         instead define prototypes for a full set of wrappers.  Ensure
48100         that Cygwin does not use the compatibility code, which is only
48101         for MinGW.
48102         * lib/winsock.c: New.
48103         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
48104         * modules/sys_socket: Add lib/winsock.c.
48105
48106         * modules/poll-tests: Add errno and perror.
48107         * tests/test-poll.c: Use ioctl, not ioctlsocket.
48108
48109 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
48110
48111         * tests/test-poll.c: Downgrade minimum needed Winsock version.
48112
48113 2008-09-23  Bruno Haible  <bruno@clisp.org>
48114
48115         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
48116         * doc/glibc-functions/*: Likewise.
48117
48118 2008-09-23  Simon Josefsson  <simon@josefsson.org>
48119
48120         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
48121         success.
48122
48123 2008-09-22  Eric Blake  <ebb9@byu.net>
48124             Bruno Haible  <bruno@clisp.org>
48125
48126         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
48127         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
48128         supply %A but mishandle pseudo-NaN.
48129         Reported by Simon Josefsson.
48130
48131 2008-09-21  Bruno Haible  <bruno@clisp.org>
48132
48133         * tests/test-lock.c (main): Tweak skip message.
48134         * tests/test-tls.c (main): Likewise.
48135
48136 2008-09-21  Bruno Haible  <bruno@clisp.org>
48137
48138         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
48139         whether 'struct sigaction' has sa_sigaction here...
48140         (gl_PREREQ_SIG_HANDLER_H): ... not here.
48141         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
48142
48143 2008-09-21  Bruno Haible  <bruno@clisp.org>
48144
48145         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
48146         section.
48147         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
48148         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
48149         the new section.
48150         (Support for obsolete systems lacking POSIX:2001): New section.
48151         (String handling <string.h>): Move strdup to the new section.
48152         Suggested by Simon Josefsson and Paolo Bonzini.
48153
48154 2008-09-21  Bruno Haible  <bruno@clisp.org>
48155
48156         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
48157         exponents in %e and %g results on 'long double'. Needed for mingw's
48158         improved *printf functions.
48159         * tests/test-vasprintf-posix.c (test_function): Likewise.
48160         * tests/test-snprintf-posix.h (test_function): Likewise.
48161         * tests/test-sprintf-posix.h (test_function): Likewise.
48162         Reported by Eric Blake.
48163
48164 2008-09-21  Bruno Haible  <bruno@clisp.org>
48165
48166         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
48167         * tests/test-sprintf-posix.h (test_function): Likewise.
48168
48169 2008-09-21  Bruno Haible  <bruno@clisp.org>
48170
48171         * modules/getpass (Depends-on): Add strdup-posix.
48172
48173         New module 'strdup-posix'.
48174         * modules/strdup-posix: New file.
48175         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
48176         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
48177         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
48178         REPLACE_STRDUP.
48179         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
48180         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
48181         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
48182         strdup-posix.
48183
48184         * modules/strdup (Depends-on): Remove malloc-posix.
48185
48186 2008-09-20  Bruno Haible  <bruno@clisp.org>
48187
48188         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
48189         Wildenhues.
48190
48191 2008-09-20  Bruno Haible  <bruno@clisp.org>
48192
48193         Ensure that wint_t gets defined on IRIX 5.3.
48194         * lib/wchar.in.h (wint_t): Define if not defined by the system.
48195         * lib/wctype.in.h (wint_t): Likewise.
48196         (__wctype_wint_t): Remove type.
48197         (isw*): Use wint_t instead of __wctype_wint_t.
48198         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
48199         * modules/wchar (Files): Add m4/wint_t.m4.
48200         (Makefile.am): Substitute HAVE_WINT_T.
48201         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
48202         * tests/test-wctype.c: Check that wint_t is defined.
48203         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
48204         * doc/posix-headers/wctype.texi: Likewise.
48205         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48206
48207 2008-09-18  Bruno Haible  <bruno@clisp.org>
48208
48209         * gnulib-tool (func_exit): Update comment.
48210
48211 2008-09-18  Simon Josefsson  <simon@josefsson.org>
48212
48213         * modules/getaddrinfo (Depends-on): Remove strdup, this module
48214         assumes strdup exists and does not depend on strdup to return
48215         ENOMEM on out of memory conditions.
48216
48217 2008-09-18  Bruno Haible  <bruno@clisp.org>
48218
48219         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
48220         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
48221         digits for the exponent.
48222
48223 2008-09-18  Jim Meyering  <meyering@redhat.com>
48224             Bruno Haible  <bruno@clisp.org>
48225
48226         * lib/vasnprintf.c (decimal_point_char): Define also if
48227         NEED_PRINTF_INFINITE_LONG_DOUBLE.
48228
48229 2008-09-16  Bruno Haible  <bruno@clisp.org>
48230         and Eric Blake  <ebb9@byu.net>
48231
48232         vasnprintf: support Irix 5.3
48233         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
48234         that mishandle long double infinity.
48235         Reported by Tom G. Christensen.
48236
48237 2008-09-16  Bruno Haible  <bruno@clisp.org>
48238
48239         * doc/glibc-functions/scandir.texi: Mention the function is missing on
48240         Solaris 9.
48241         * doc/glibc-functions/alphasort.texi: Likewise.
48242         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
48243
48244 2008-09-16  Jim Meyering  <meyering@redhat.com>
48245
48246         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
48247         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
48248         a umask modification leak out of a subshell.  Otherwise, the
48249         opensolaris /bin/sh would be accepted and thus cause unwarranted
48250         failures in the coreutils test suite.
48251
48252 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
48253
48254         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
48255         to succeed.
48256
48257 2008-09-16  Jim Meyering  <meyering@redhat.com>
48258
48259         avoid spurious test failure when library is built without ACL support
48260         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
48261         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
48262         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
48263         * tests/test-copy-acl.sh: Likewise.
48264
48265 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48266
48267         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
48268         based on character occurrence counts.
48269
48270 2008-09-15  Eric Blake  <ebb9@byu.net>
48271
48272         tests: avoid some compiler warnings
48273         * tests/test-memchr.c (main): Pass NULL indirectly.
48274         * tests/test-closein.c (main): Avoid unused variable.
48275
48276 2008-09-15  Bruno Haible  <bruno@clisp.org>
48277
48278         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
48279         are missing on OpenBSD 4.0 individually.
48280         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
48281
48282 2008-09-15  Bruno Haible  <bruno@clisp.org>
48283
48284         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
48285         * doc/posix-functions/strerror.texi: Mention also Cygwin.
48286         * doc/posix-functions/perror.texi: Likewise.
48287         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
48288         is missing.
48289         Reported by Eric Blake.
48290
48291         * lib/errno.in.h: Use replacement values >= 2000.
48292         Reported by Eric Blake.
48293
48294 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48295
48296         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
48297         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
48298         limit.
48299         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
48300         compareseq was aborted.
48301
48302 2008-09-14  Bruno Haible  <bruno@clisp.org>
48303
48304         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
48305         yvec_edit_count.
48306         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
48307         (fstrcmp_bounded): Simplify result computation accordingly.
48308
48309 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48310
48311         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
48312         (fstrcmp): Define in terms of fstrcmp_bounded.
48313         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
48314         lower_bound argument.
48315         Return quickly if the result is certainly < lower_bound.
48316         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
48317
48318 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48319
48320         * lib/diffseq.h (EARLY_ABORT): New macro.
48321         (compareseq): Change return type to bool. Return true when EARLY_ABORT
48322         evaluates to true.
48323
48324 2008-09-14  Bruno Haible  <bruno@clisp.org>
48325
48326         * modules/perror-tests: New file.
48327         * tests/test-perror.sh: New file.
48328         * tests/test-perror.c: New file.
48329
48330         New module 'perror'.
48331         * lib/stdio.in.h (perror): New declaration.
48332         * lib/perror.c: New file.
48333         * m4/perror.m4: New file.
48334         * modules/perror: New file.
48335         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
48336         * doc/posix-functions/perror.texi: Mention the perror module.
48337         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
48338         REPLACE_PERROR.
48339         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
48340         REPLACE_PERROR.
48341
48342 2008-09-14  Bruno Haible  <bruno@clisp.org>
48343
48344         * modules/stdio (Makefile.am): Reorder to match the order in
48345         lib/stdio.in.h.
48346         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48347
48348 2008-09-13  Bruno Haible  <bruno@clisp.org>
48349
48350         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
48351
48352 2008-09-13  Bruno Haible  <bruno@clisp.org>
48353
48354         Extend strerror to cover the added errno values.
48355         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
48356         (rpl_strerror): Provide error messages for the added errno values and
48357         for the WSA* values.
48358         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
48359         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
48360         strerror.
48361         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
48362         * modules/strerror (Depends-on): Add errno.
48363         * doc/posix-functions/strerror.texi: Document the change.
48364         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
48365         and EOVERFLOW.
48366
48367 2008-09-13  Bruno Haible  <bruno@clisp.org>
48368
48369         * modules/EOVERFLOW: Remove file.
48370         * m4/eoverflow.m4: Remove file.
48371         * modules/EOVERFLOW-tests: Remove file.
48372         * tests/test-EOVERFLOW.c: Remove file.
48373         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
48374         * modules/ftell (Depends-on): Likewise.
48375         * modules/getdelim (Depends-on): Likewise.
48376         * modules/getugroups (Depends-on): Likewise.
48377         * modules/poll (Depends-on): Likewise.
48378         * modules/snprintf (Depends-on): Likewise.
48379         * modules/sprintf-posix (Depends-on): Likewise.
48380         * modules/vasnprintf (Depends-on): Likewise.
48381         * modules/vasprintf (Depends-on): Likewise.
48382         * modules/vfprintf-posix (Depends-on): Likewise.
48383         * modules/vsnprintf (Depends-on): Likewise.
48384         * modules/vsprintf-posix (Depends-on): Likewise.
48385         * modules/xvasprintf (Depends-on): Likewise.
48386         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
48387         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
48388         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
48389         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
48390         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48391         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
48392         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
48393         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
48394         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48395         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
48396         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
48397         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
48398         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48399         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
48400         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
48401         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
48402         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48403         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
48404         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
48405         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
48406         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48407         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
48408         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
48409         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
48410         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
48411         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48412         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
48413         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
48414         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
48415         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
48416         * MODULES.html.sh: Remove EOVERFLOW.
48417         * NEWS: Mention the change.
48418
48419 2008-09-13  Bruno Haible  <bruno@clisp.org>
48420
48421         * modules/errno-tests: New file.
48422         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
48423
48424         * lib/errno.in.h: New file.
48425         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
48426         * modules/errno: New file.
48427         * doc/posix-headers/errno.texi: Update documentation.
48428         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
48429
48430 2008-09-13  Bruno Haible  <bruno@clisp.org>
48431
48432         * tests/test-poll.c: Use #if for native Windows, rather than testing
48433         __MSVCRT__.
48434
48435 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48436             Bruno Haible  <bruno@clisp.org>
48437
48438         * lib/glob.c: Don't include <pwd.h> on native Windows.
48439         (WINDOWS32): New macro.
48440         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
48441
48442 2008-09-13  Bruno Haible  <bruno@clisp.org>
48443
48444         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
48445         (ETIMEDOUT): Remove macro.
48446         (glthread_cond_timedwait_multithreaded): New declaration.
48447         (glthread_cond_timedwait): Use it.
48448         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
48449         (glthread_cond_timedwait_multithreaded): New function.
48450
48451 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
48452
48453         * modules/poll-tests: Do not check for io.h.
48454         * tests/test-poll.c: Check for __MSVCRT__ instead.
48455
48456 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
48457
48458         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
48459         * modules/poll-tests: Add inet_pton, stdbool, sockets.
48460         * tests/test-poll.c: Use them.  Use _pipe on Windows.
48461
48462 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
48463
48464         * modules/poll-tests: New.
48465         * tests/test-poll.c: New.
48466
48467 2008-09-12  Eric Blake  <ebb9@byu.net>
48468
48469         frexp: test for NetBSD failure on -0.0
48470         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
48471         not all, bugs from NetBSD 3.0 have been fixed.
48472         * doc/posix-functions/frexp.texi (frexp): Document bug.
48473         Reported by Thomas Klausner.
48474
48475         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
48476         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
48477         literal -0.0.
48478         Reported by Jonathan C. Patschke <jp@centtech.com>.
48479
48480 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48481
48482         * lib/glthread/cond.h: Use dummy implementation also if
48483         USE_WIN32_THREADS.
48484
48485 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48486
48487         * modules/fnmatch-posix (License): Change to LGPLv2+.
48488         * modules/fnmatch-gnu (License): Likewise.
48489
48490 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48491
48492         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
48493
48494 2008-09-11  Jim Meyering  <meyering@redhat.com>
48495
48496         * users.txt: Add gtk-vnc.
48497
48498 2008-09-08  Simon Josefsson  <simon@josefsson.org>
48499
48500         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
48501         rotate amounts.
48502
48503         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
48504         required for 16-bit and 8-bit rotates.
48505         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
48506         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
48507         UINT8_MAX instead of hard-coded constants.
48508         Suggested by Paul Eggert.
48509
48510 2008-09-07  Bruno Haible  <bruno@clisp.org>
48511
48512         * tests/test-striconveh.c (main): Check behaviour when converting from
48513         UTF-7.
48514
48515         Make striconveh work better with stateful encodings.
48516         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
48517         that iconv does not increment the inptr when returning -1/EINVAL.
48518
48519 2008-09-07  Bruno Haible  <bruno@clisp.org>
48520
48521         * build-aux/config.rpath: Update according to libtool-2.2.6.
48522         * build-aux/config.libpath: Likewise.
48523
48524 2008-09-06  Bruno Haible  <bruno@clisp.org>
48525
48526         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
48527         * lib/freadptr.c (freadptr): Likewise.
48528         * lib/freadseek.c (freadptrinc): Likewise.
48529         Reported by Simon Josefsson.
48530
48531 2008-09-06  Bruno Haible  <bruno@clisp.org>
48532
48533         * modules/freadptr (License): Change to LGPLv2+.
48534         * modules/freadseek (License): Likewise.
48535         Suggested by Eric Blake.
48536
48537         * modules/memchr2 (License): Change to LGPLv2+.
48538         Approved by Eric Blake.
48539
48540 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48541             Bruno Haible  <bruno@clisp.org>
48542
48543         Make gnulib-tool work with native 'sed' on AIX.
48544         * gnulib-tool (sed_noop): New variable.
48545         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
48546         func_add_or_update, func_create_testdir): Use it to initialize sed
48547         script variables.
48548         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48549
48550 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
48551             Bruno Haible  <bruno@clisp.org>
48552
48553         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
48554         also works after #include directives.
48555
48556 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
48557
48558         getdate.y: reject an out-of-range timezone value
48559         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
48560         the range [-24...+24].  When specified with only one or two digits,
48561         * tests/test-getdate.c: Tests for the fix.
48562         * doc/getdate.texi: Document this change.
48563
48564 2008-09-03  Bruno Haible  <bruno@clisp.org>
48565
48566         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
48567
48568 2008-09-02  Simon Josefsson  <simon@josefsson.org>
48569
48570         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
48571         <bruce.korb@gmail.com> with ideas from Ben Pfaff
48572         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
48573         Blake <ebb9@byu.net>.
48574
48575         * tests/test-bitrotate.c: Add more test vectors.
48576
48577 2008-09-02  Eric Blake  <ebb9@byu.net>
48578
48579         vasnprintf-posix: handle large precision via %.*d
48580         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
48581         when handling it ourselves.
48582         * tests/test-vasnprintf-posix.c (test_function): Add test.
48583         * tests/test-snprintf-posix.h (test_function): Likewise.
48584         * tests/test-sprintf-posix.h (test_function): Likewise.
48585         * tests/test-vasprintf-posix.c (test_function): Likewise.
48586         Reported by Alain Guibert.
48587
48588 2008-09-01  Eric Blake  <ebb9@byu.net>
48589
48590         c-stack: make configure-time check more robust
48591         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
48592         successful sigaction call.
48593         Reported by Tom G. Christensen.
48594
48595 2008-09-01  Bruno Haible  <bruno@clisp.org>
48596
48597         New module 'findprog-lgpl'.
48598         * modules/findprog-lgpl: New file.
48599         * lib/findprog-lgpl.c: New file.
48600         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
48601         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
48602         to decide whether to use strdup or xstrdup, concatenated_filename or
48603         xconcatenated_filename.
48604
48605 2008-09-01  Bruno Haible  <bruno@clisp.org>
48606
48607         Split module 'concat-filename' into 'concat-filename' (LGPL) and
48608         'xconcat-filename' (GPL).
48609         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
48610         (License): Change to LGPLv2+.
48611         * modules/xconcat-filename: New file.
48612         * lib/concat-filename.h (concatenated_filename): Change specification.
48613         (xconcatenated_filename): New declaration.
48614         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
48615         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
48616         memory situations.
48617         * lib/xconcat-filename.c: New file.
48618         * NEWS: Mention the change.
48619         * lib/findprog.c: Include concat-filename.h, not filename.h.
48620         (find_in_path): Use xconcatenated_filename instead of
48621         concatenated_filename.
48622         * lib/javacomp.c: Include concat-filename.h, not filename.h.
48623         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
48624         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
48625         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
48626         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
48627         instead of concatenated_filename.
48628         * lib/javaexec.c: Include concat-filename.h, not filename.h.
48629         (execute_java_class): Use xconcatenated_filename instead of
48630         concatenated_filename.
48631         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
48632         * modules/javacomp (Depends-on): Likewise.
48633         * modules/javaexec (Depends-on): Likewise.
48634
48635 2008-09-01  Bruno Haible  <bruno@clisp.org>
48636
48637         Split module 'filename' into 'filename' and 'concat-filename'.
48638         * modules/filename: Keep only lib/filename.h.
48639         (License): Change to LGPLv2+.
48640         * modules/concat-filename: New file, extracted from modules/filename.
48641         * lib/filename.h (concatenated_filename): Remove declaration.
48642         * lib/concat-filename.h: New file, extracted from lib/filename.h.
48643         * lib/concat-filename.c: Include concat-filename.h.
48644         * NEWS: Mention the change.
48645
48646 2008-09-01  Simon Josefsson  <simon@josefsson.org>
48647
48648         * lib/bitrotate.h (rotl8, rotr8): Add.
48649
48650         * modules/bitrotate (configure.ac): Need
48651         AC_REQUIRE([AC_C_INLINE]).
48652         (Description): Mention stdint.h.  Reported by Bruno Haible
48653         <bruno@clisp.org>.
48654
48655         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
48656         Paolo Bonzini <bonzini@gnu.org>.
48657
48658 2008-08-31  Bruno Haible  <bruno@clisp.org>
48659
48660         Assume Solaris specific bi-arch conventions on Solaris systems.
48661         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
48662         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
48663         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
48664         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
48665         like acl_libdirstem.
48666         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
48667         acl_libdirstem.
48668         * NEWS: Mention the change.
48669         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
48670
48671 2008-08-31  Jim Meyering  <meyering@redhat.com>
48672
48673         * lib/strftime.h: Add comments describing the two added arguments.
48674
48675         remove duplicate #include directives
48676         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
48677         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
48678
48679 2008-08-31  Bruno Haible  <bruno@clisp.org>
48680
48681         New module 'sigpipe-die'.
48682         * modules/sigpipe-die: New file.
48683         * lib/sigpipe-die.h: New file.
48684         * lib/sigpipe-die.c: New file.
48685         * MODULES.html.sh (Signal handling): Add sigpipe-die.
48686
48687 2008-08-31  Bruno Haible  <bruno@clisp.org>
48688
48689         Don't override previously installed signal handlers.
48690         * lib/fatal-signal.c (saved_sigactions): New variable.
48691         (uninstall_handlers): Reset the signal to the saved handler, not
48692         to SIG_DFL (except when ignored).
48693         (install_handlers): Save the previous handlers.
48694
48695 2008-08-30  Bruno Haible  <bruno@clisp.org>
48696
48697         * gnulib-tool (func_reset_sigpipe): New function.
48698         (func_get_automake_snippet, func_modules_transitive_closure,
48699         func_import): Invoke it before a join command that reads from stdin,
48700         to avoid "echo: write error: Broken pipe" error messages on stderr.
48701         Reported by Sam Steingold <sds@gnu.org>.
48702
48703 2008-08-30  Bruno Haible  <bruno@clisp.org>
48704
48705         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
48706         Code copied from m4/open.m4.
48707         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
48708         access and the filename ends in a slash. Code copied from lib/open.c.
48709         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
48710         * tests/test-fopen.c (main): Check against bug with trailing slash.
48711
48712 2008-08-29  Bruno Haible  <bruno@clisp.org>
48713
48714         Avoid some "gcc -pedantic" warnings.
48715         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
48716         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
48717         * lib/dirent.in.h: Likewise.
48718         * lib/fcntl.in.h: Likewise.
48719         * lib/float.in.h: Likewise.
48720         * lib/iconv.in.h: Likewise.
48721         * lib/inttypes.in.h: Likewise.
48722         * lib/locale.in.h: Likewise.
48723         * lib/math.in.h: Likewise.
48724         * lib/netinet_in.in.h: Likewise.
48725         * lib/search.in.h: Likewise.
48726         * lib/signal.in.h: Likewise.
48727         * lib/stdarg.in.h: Likewise.
48728         * lib/stdint.in.h: Likewise.
48729         * lib/stdio.in.h: Likewise.
48730         * lib/stdlib.in.h: Likewise.
48731         * lib/string.in.h: Likewise.
48732         * lib/strings.in.h: Likewise.
48733         * lib/sys_select.in.h: Likewise.
48734         * lib/sys_socket.in.h: Likewise.
48735         * lib/sys_stat.in.h: Likewise.
48736         * lib/sys_time.in.h: Likewise.
48737         * lib/sysexits.in.h: Likewise.
48738         * lib/time.in.h: Likewise.
48739         * lib/unistd.in.h: Likewise.
48740         * lib/wchar.in.h: Likewise.
48741         * lib/wctype.in.h: Likewise.
48742         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
48743         * modules/fchdir (Makefile.am): Likewise.
48744         * modules/fcntl (Makefile.am): Likewise.
48745         * modules/float (Makefile.am): Likewise.
48746         * modules/iconv_open (Makefile.am): Likewise.
48747         * modules/inttypes (Makefile.am): Likewise.
48748         * modules/locale (Makefile.am): Likewise.
48749         * modules/math (Makefile.am): Likewise.
48750         * modules/netinet_in (Makefile.am): Likewise.
48751         * modules/search (Makefile.am): Likewise.
48752         * modules/signal (Makefile.am): Likewise.
48753         * modules/stdarg (Makefile.am): Likewise.
48754         * modules/stdint (Makefile.am): Likewise.
48755         * modules/stdio (Makefile.am): Likewise.
48756         * modules/stdlib (Makefile.am): Likewise.
48757         * modules/string (Makefile.am): Likewise.
48758         * modules/strings (Makefile.am): Likewise.
48759         * modules/sys_select (Makefile.am): Likewise.
48760         * modules/sys_socket (Makefile.am): Likewise.
48761         * modules/sys_stat (Makefile.am): Likewise.
48762         * modules/sys_time (Makefile.am): Likewise.
48763         * modules/sysexits (Makefile.am): Likewise.
48764         * modules/time (Makefile.am): Likewise.
48765         * modules/unistd (Makefile.am): Likewise.
48766         * modules/wchar (Makefile.am): Likewise.
48767         * modules/wctype (Makefile.am): Likewise.
48768         Reported by Reuben Thomas <rrt@sc3d.org>.
48769
48770 2008-08-29  Bruno Haible  <bruno@clisp.org>
48771
48772         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
48773         any more.
48774
48775 2008-08-29  Simon Josefsson  <simon@josefsson.org>
48776
48777         * MODULES.html.sh (Misc): Add bitrotate.
48778
48779         * modules/bitrotate: New file.
48780
48781         * lib/bitrotate.h: New file.
48782
48783         * modules/bitrotate-tests: New file.
48784
48785         * tests/test-bitrotate.c: New file.
48786
48787         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
48788         on the bitrotate module.
48789
48790         * lib/arctwo.c: Use new bitrotate module.
48791
48792 2008-08-29  Jim Meyering  <meyering@redhat.com>
48793
48794         bootstrap: merge changes from coreutils
48795         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
48796         of copied files.  Remove a kludge, now that this is fixed.
48797         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
48798         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
48799         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
48800
48801 2008-08-29  Bruno Haible  <bruno@clisp.org>
48802
48803         * MODULES.html.sh: Remove --cvs-urls option.
48804
48805 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
48806
48807         maint.mk: adjust to file name change
48808         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
48809
48810 2008-08-28  Jim Meyering  <meyering@redhat.com>
48811
48812         * modules/getndelim2 (License): Relicense to LGPLv2+.
48813         Approved by Richard Stallman for the version of 1995, and by
48814         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
48815
48816 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
48817
48818         * lib/getdelim.c (flockfile, funlockfile): Make all of them
48819         dummy if one is not available.  Do not touch them if
48820         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
48821         (getc_maybe_unlocked): New.
48822         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
48823
48824 2008-08-26  Eric Blake  <ebb9@byu.net>
48825
48826         doc/INSTALL: resync from autoconf
48827         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
48828         (INSTALL_PRELUDE): Delete; this is done more efficiently by
48829         moving...
48830         * install.texi [!autoconf]: ...here.  Resync from autoconf.
48831         * INSTALL: Regenerate.
48832         * INSTALL.ISO: New file.
48833         * INSTALL.UTF-8: Likewise.
48834
48835 2008-08-26  Jim Meyering  <meyering@redhat.com>
48836
48837         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
48838         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
48839         these definitions conditional, so that they may be overridden, too.
48840
48841 2008-08-26  Bruno Haible  <bruno@clisp.org>
48842
48843         Generate INSTALL file variants with prettier quotes.
48844         * doc/Makefile (INSTALL_PRELUDE): New macro.
48845         (INSTALL): Use it.
48846         (INSTALL.ISO, INSTALL.UTF-8): New rules.
48847
48848 2008-08-26  Bruno Haible  <bruno@clisp.org>
48849
48850         Run makeinfo in an English locale.
48851         * doc/Makefile (MAKEINFO): New variable.
48852
48853 2008-08-26  Bruno Haible  <bruno@clisp.org>
48854
48855         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
48856         Suggested by Eric Blake.
48857
48858 2008-08-25  Bruno Haible  <bruno@clisp.org>
48859
48860         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
48861
48862 2008-08-25  Eric Blake  <ebb9@byu.net>
48863
48864         c-stack: test that stack overflow can be caught
48865         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
48866         that platform allows handling stack overflow; at least OS/2 EMX
48867         has sigaltstack, but crashes before transferring control to
48868         handler on stack overflow.
48869         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
48870         check for HAVE_STACK_OVERFLOW_HANDLING.
48871         Reported by Elbert Pol.
48872
48873 2008-08-25  Bruno Haible  <bruno@clisp.org>
48874
48875         * doc/posix-functions/strftime.texi: Fix description of strftime
48876         module.
48877
48878 2008-08-24  Bruno Haible  <bruno@clisp.org>
48879
48880         * tests/uniwidth/test-uc_width2.c: New file.
48881         * tests/uniwidth/test-uc_width2.sh: New file.
48882         * modules/uniwidth/width-tests (Files): Add the new files.
48883         (TESTS): Add uniwidth/test-uc_width2.sh.
48884         (TESTS_ENVIRONMENT): New variable.
48885         (check_PROGRAMS): Add test-uc_width2.
48886         (test_uc_width2_SOURCES): New variable.
48887
48888         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
48889         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
48890         not 0x00AB.
48891         Reported by Alexander V. Lukyanov <lav@netis.ru>.
48892
48893 2008-08-22  Eric Blake  <ebb9@byu.net>
48894
48895         test-lock, test-tls: mention why a test is skipped
48896         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
48897         skipped.
48898         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
48899
48900         count-one-bits: relax license
48901         * modules/count-one-bits (License): Relicense to LGPLv2+.
48902         Suggested by Ludovic Courtès, approved by Ben Pfaff.
48903
48904 2008-08-22  Andreas Schwab  <schwab@suse.de>
48905
48906         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
48907         Remove spurious space in assignment.
48908
48909 2008-08-21  Simon Josefsson  <simon@josefsson.org>
48910
48911         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
48912         Paul Eggert <eggert@CS.UCLA.EDU>.
48913
48914 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
48915
48916         * modules/gettext: Add m4/threadlib.m4.
48917
48918 2008-08-19  Eric Blake  <ebb9@byu.net>
48919
48920         test-c-stack: fix compilation failure on FreeBSD 5.0
48921         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
48922         headers before <sys/resource.h>.
48923         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
48924         the bug.
48925         Reported by Nelson H. F. Beebe.
48926
48927         strverscmp: migrate from "strverscmp.h" to <string.h>
48928         * modules/string (Makefile.am): Add new hooks.
48929         * modules/strverscmp (Files): Remove strverscmp.h.
48930         (Depends-on): Add string.
48931         (configure.ac): Add indicator.
48932         (Include): Mention new header.
48933         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
48934         defaults.
48935         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
48936         results.
48937         * lib/strverscmp.h: Delete.
48938         * lib/string.in.h (strverscmp): Provide declaration, when needed.
48939         * tests/test-strverscmp.c (includes): Adjust client.
48940         * lib/check-version.c (includes): Likewise.
48941         * NEWS: Document the change.
48942
48943         strverscmp: add unit test
48944         * modules/strverscmp-tests: New file.
48945         * tests/test-strverscmp.c: Likewise.
48946
48947 2008-08-19  Simon Josefsson  <simon@josefsson.org>
48948
48949         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
48950         regarding Windows crypto stuff, from Mono.
48951
48952 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
48953
48954         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
48955         if present, for intel RND.  Return error on failures.
48956
48957 2008-08-18  Ben Pfaff  <blp@gnu.org>
48958
48959         gitlog-to-changelog: give better diagnostic for failed pipe-open
48960         * build-aux/gitlog-to-changelog: Improve error message: suggest
48961         that the version of Git may be too old.
48962
48963 2008-08-18  Simon Josefsson  <simon@josefsson.org>
48964
48965         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
48966         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
48967
48968 2008-08-18  Bruno Haible  <bruno@clisp.org>
48969
48970         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
48971         pthread_in_use().
48972
48973 2008-08-18  Bruno Haible  <bruno@clisp.org>
48974
48975         * lib/glthread/threadlib.c: Include <pthread.h>.
48976
48977 2008-08-18  Bruno Haible  <bruno@clisp.org>
48978
48979         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
48980         glthread_recursive_lock_* macros.
48981         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
48982         Fix syntax error.
48983
48984 2008-08-18  Bruno Haible  <bruno@clisp.org>
48985
48986         * lib/glthread/thread.c: Avoid forcing a context switch right after
48987         thread creation.
48988
48989 2008-08-17  Bruno Haible  <bruno@clisp.org>
48990
48991         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
48992         * lib/glthread/thread.h: Provide Win32 specific implementation.
48993         * modules/thread (Files): Add lib/glthread/thread.c.
48994         (Depends-on): Add lock.
48995         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
48996
48997 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48998
48999         New module 'yield'.
49000         * modules/yield: New file.
49001         * lib/glthread/yield.h: New file.
49002         * m4/yield.m4: New file.
49003         * MODULES.html.sh (Multithreading): Add yield.
49004
49005 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49006
49007         New module 'thread'.
49008         * modules/thread: New file.
49009         * lib/glthread/thread.h: New file.
49010         * m4/thread.m4: New file.
49011         * MODULES.html.sh (Multithreading): Add thread.
49012
49013 2008-08-17  Bruno Haible  <bruno@clisp.org>
49014
49015         * lib/glthread/lock.h: Include <stdlib.h> always.
49016         * lib/glthread/tls.h: Likewise.
49017         * lib/glthread/cond.h: Likewise.
49018
49019 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49020
49021         New module 'cond'.
49022         * modules/cond: New file.
49023         * lib/glthread/cond.h: New file.
49024         * lib/glthread/cond.c: New file.
49025         * m4/cond.m4: New file.
49026         * MODULES.html.sh (Multithreading): Add cond.
49027
49028 2008-08-16  Eric Blake  <ebb9@byu.net>
49029
49030         c-stack: fix regression on Irix 5.3 from 2008-06-21
49031         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
49032         sa_sigaction...
49033         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
49034         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
49035         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
49036         * modules/signal (Makefile.am): Use the value.
49037         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
49038         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
49039         * doc/posix-headers/signal.texi (signal.h): Document this
49040         portability issue.
49041         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
49042         Reported by Tom G. Christensen.
49043
49044 2008-08-17  Bruno Haible  <bruno@clisp.org>
49045
49046         New module 'threadlib'.
49047         * modules/threadlib: New file.
49048         * lib/glthread/threadlib.c: New file, extracted from
49049         lib/glthread/lock.c.
49050         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
49051         functions.
49052         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
49053         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
49054         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
49055         macros.
49056         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
49057         (gl_DISABLE_THREADS): Remove macro.
49058         * modules/lock (Files): Remove build-aux/config.rpath.
49059         (Depends-on): Remove havelib. Add threadlib.
49060         (configure.ac-early): Remove section.
49061         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
49062         * modules/tls (Depends-on): Remove lock. Add threadlib.
49063         (Link): New section, copied from threadlib.
49064         * MODULES.html.sh (Multithreading): Add threadlib.
49065
49066 2008-08-14  Bruno Haible  <bruno@clisp.org>
49067
49068         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
49069         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
49070         glthread_rwlock_unlock, glthread_rwlock_destroy,
49071         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
49072         glthread_recursive_lock_destroy): Define as macros always.
49073         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
49074         glthread_lock_lock.
49075         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
49076         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
49077         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
49078         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
49079         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
49080         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
49081         (glthread_recursive_lock_lock_func): Renamed from
49082         glthread_recursive_lock_lock.
49083         (glthread_recursive_lock_unlock_func): Renamed from
49084         glthread_recursive_lock_unlock.
49085         (glthread_recursive_lock_destroy_func): Renamed from
49086         glthread_recursive_lock_destroy.
49087
49088 2008-08-14  Bruno Haible  <bruno@clisp.org>
49089
49090         * lib/glthread/lock.h: Renamed from lib/lock.h.
49091         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
49092         * lib/glthread/tls.h: Renamed from lib/tls.h.
49093         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
49094         * lib/fstrcmp.c: Update includes.
49095         * lib/strsignal.c: Update includes.
49096         * modules/lock (Files, Makefile.am): Update.
49097         (Include): Change to "glthread/lock.h".
49098         * modules/tls (Files, Makefile.am): Update.
49099         (Include): Change to "glthread/tls.h".
49100         * tests/test-lock.c: Update includes.
49101         * tests/test-tls.c: Update includes.
49102         * NEWS: Mention the renamed header files.
49103
49104 2008-08-11  Jim Meyering  <meyering@redhat.com>
49105
49106         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
49107
49108 2008-08-11  Eric Blake  <ebb9@byu.net>
49109
49110         test-c-stack: avoid C99-ism
49111         * tests/test-c-stack.c (main): Fix whitespace, move declaration
49112         before statement.
49113         Reported by Alain Guibert.
49114
49115 2008-08-10  Jim Meyering  <meyering@redhat.com>
49116
49117         ensure that return value of uinttostr et al are not ignored
49118         * lib/inttostr.h (__GNUC_PREREQ): Define.
49119         (__attribute_warn_unused_result__): Define.
49120         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
49121
49122 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
49123
49124         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
49125         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
49126
49127 2008-08-07  Jim Meyering  <meyering@redhat.com>
49128
49129         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
49130
49131         * modules/mkstemp (License): Relicense under LGPLv2+.
49132         * modules/tempname (License): Likewise.
49133
49134 2008-08-06  Bruno Haible  <bruno@clisp.org>
49135
49136         * lib/poll.c (poll): Further micro-optimization.
49137
49138 2008-08-06  Jim Meyering  <meyering@redhat.com>
49139
49140         inet_pton.c: use locale-independent tolower
49141         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
49142         (inet_pton6): Use c_tolower rather than tolower.
49143         * modules/inet_pton (Depends-on): Add c-ctype.
49144
49145 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
49146
49147         * lib/poll.c (poll): Avoid division when timeout is 0, cache
49148         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
49149
49150 2008-08-06  Jim Meyering  <meyering@redhat.com>
49151
49152         * modules/inet_pton (License): Relicense under LGPLv2+.
49153
49154 2008-08-03  Bruno Haible  <bruno@clisp.org>
49155
49156         Additional non-aborting API for lock and tls.
49157         * lib/lock.h: Include <errno.h>.
49158         (glthread_lock_init): New macro/function.
49159         (gl_lock_init): Define as wrapper around glthread_lock_init.
49160         (glthread_lock_lock): New macro/function.
49161         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
49162         (glthread_lock_unlock): New macro/function.
49163         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
49164         (glthread_lock_destroy): New macro/function.
49165         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
49166         (glthread_rwlock_init): New macro/function.
49167         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
49168         (glthread_rwlock_rdlock): New macro/function.
49169         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
49170         (glthread_rwlock_wrlock): New macro/function.
49171         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
49172         (glthread_rwlock_unlock): New macro/function.
49173         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
49174         (glthread_rwlock_destroy): New macro/function.
49175         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
49176         (glthread_recursive_lock_init): New macro/function.
49177         (gl_recursive_lock_init): Define as wrapper around
49178         glthread_recursive_lock_init.
49179         (glthread_recursive_lock_lock): New macro/function.
49180         (gl_recursive_lock_lock): Define as wrapper around
49181         glthread_recursive_lock_lock.
49182         (glthread_recursive_lock_unlock): New macro/function.
49183         (gl_recursive_lock_unlock): Define as wrapper around
49184         glthread_recursive_lock_unlock.
49185         (glthread_recursive_lock_destroy): New macro/function.
49186         (gl_recursive_lock_destroy): Define as wrapper around
49187         glthread_recursive_lock_destroy.
49188         (glthread_once): New macro/function.
49189         (gl_once): Define as wrapper around glthread_once.
49190         Update function declarations.
49191         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
49192         glthread_rwlock_init. Return error code.
49193         (glthread_rwlock_rdlock_multithreaded): Renamed from
49194         glthread_rwlock_rdlock. Return error code.
49195         (glthread_rwlock_wrlock_multithreaded): Renamed from
49196         glthread_rwlock_wrlock. Return error code.
49197         (glthread_rwlock_unlock_multithreaded): Renamed from
49198         glthread_rwlock_unlock. Return error code.
49199         (glthread_rwlock_destroy_multithreaded): Renamed from
49200         glthread_rwlock_destroy. Return error code.
49201         (glthread_recursive_lock_init_multithreaded): Renamed from
49202         glthread_recursive_lock_init. Return error code.
49203         (glthread_recursive_lock_lock_multithreaded): Renamed from
49204         glthread_recursive_lock_lock. Return error code.
49205         (glthread_recursive_lock_unlock_multithreaded): Renamed from
49206         glthread_recursive_lock_unlock. Return error code.
49207         (glthread_recursive_lock_destroy_multithreaded): Renamed from
49208         glthread_recursive_lock_destroy. Return error code.
49209         (glthread_once_call): Make static.
49210         (glthread_once_multithreaded): Renamed from glthread_once.
49211         * lib/tls.h: Include <errno.h>.
49212         (glthread_tls_key_init): New macro/function.
49213         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
49214         (glthread_tls_set): New macro/function.
49215         (gl_tls_set): Define as wrapper around glthread_tls_set.
49216         (glthread_tls_key_destroy): New macro/function.
49217         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
49218         Update function declarations.
49219         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
49220         glthread_tls_get.
49221         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49222
49223 2008-08-04  Eric Blake  <ebb9@byu.net>
49224
49225         gnumakefile: use space, not TAB, outside of targets
49226         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
49227
49228 2008-08-02  Jim Meyering  <meyering@redhat.com>
49229
49230         getdate.y: avoid locale-dependent date parsing failure
49231         In Turkish locales, getdate would fail to recognize keywords
49232         containing a lowercase "i".  The solution is not to rely on
49233         locale-sensitive case-conversion.
49234         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
49235         (lookup_word): Use c_toupper in place of toupper.
49236         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
49237         Reported by Vefa Bicakci <bicave@superonline.com> in
49238         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
49239         * modules/getdate (Depends-on): Add c-ctype.
49240
49241 2008-08-02  Bruno Haible  <bruno@clisp.org>
49242
49243         * gnulib-tool (func_import): When updating or creating a .gitignore
49244         file, prepend each added line with a slash, and ignore leading slashes
49245         from the existing lines.
49246         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
49247
49248 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49249
49250         Portability fix for GNU make 3.79.1.
49251         * top/GNUmakefile: Avoid 'else COND', which older GNU make
49252         versions do not understand.
49253
49254 2008-08-01  Bruno Haible  <bruno@clisp.org>
49255
49256         Work around bug of HP-UX 10.20 cc with -0.0 literal.
49257         * tests/test-isnanf.h (zero): New variable.
49258         (main): Avoid literal -0.0f.
49259         * tests/test-isnand.h (zero): New variable.
49260         (main): Avoid literal -0.0.
49261         * tests/test-isnanl.h (zero): New variable.
49262         (main): Avoid literal -0.0L.
49263         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
49264         (test_float, test_double, test_long_double): Avoid literals -0.0f,
49265         -0.0, -0.0L.
49266         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
49267         (test_signbitd): Avoid literal -0.0.
49268         (test_signbitl): Avoid literal -0.0L.
49269         * tests/test-ceilf1.c (zero): New variable.
49270         (main): Avoid literal -0.0f.
49271         * tests/test-ceill.c (zero): New variable.
49272         (main): Avoid literal -0.0L.
49273         * tests/test-floorf1.c (zero): New variable.
49274         (main): Avoid literal -0.0f.
49275         * tests/test-floorl.c (zero): New variable.
49276         (main): Avoid literal -0.0L.
49277         * tests/test-roundf1.c (zero): New variable.
49278         (main): Avoid literal -0.0f.
49279         * tests/test-round1.c (zero): New variable.
49280         (main): Avoid literal -0.0.
49281         * tests/test-roundl.c (zero): New variable.
49282         (main): Avoid literal -0.0L.
49283         * tests/test-truncf1.c (zero): New variable.
49284         (main): Avoid literal -0.0f.
49285         * tests/test-trunc1.c (zero): New variable.
49286         (main): Avoid literal -0.0.
49287         * tests/test-truncl.c (zero): New variable.
49288         (main): Avoid literal -0.0L.
49289         * tests/test-frexp.c (zero): New variable.
49290         (main): Avoid literal -0.0.
49291         * tests/test-frexpl.c (zero): New variable.
49292         (main): Avoid literal -0.0L.
49293         * tests/test-ldexpl.c (zero): New variable.
49294         (main): Avoid literal -0.0L.
49295         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
49296         (zerod, zerol): New variables.
49297         (test_function): Avoid literals -0.0, -0.0L.
49298         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
49299         (zerod, zerol): New variables.
49300         (test_function): Avoid literals -0.0, -0.0L.
49301         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
49302         (zerod, zerol): New variables.
49303         (test_function): Avoid literals -0.0, -0.0L.
49304         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
49305         (zerod, zerol): New variables.
49306         (test_function): Avoid literals -0.0, -0.0L.
49307         * tests/test-strtod.c (zero): New variable.
49308         (main): Avoid literal -0.0.
49309         Reported by Jonathan C. Patschke <jp@centtech.com>.
49310
49311 2008-07-31  Jim Meyering  <meyering@redhat.com>
49312
49313         sha256.h: correct definition of SHA224_DIGEST_SIZE
49314         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
49315         Reported by Paulie Pena IV <paulie4@gmail.com>.
49316         Define as 224 / 8, rather than as a literal.
49317         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
49318         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
49319         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
49320
49321 2008-07-31  Bruno Haible  <bruno@clisp.org>
49322
49323         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
49324         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
49325         Reported by Jonathan Patschke <jp@centtech.com>.
49326
49327 2008-07-31  Bruno Haible  <bruno@clisp.org>
49328
49329         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
49330         Reported by Paolo Bonzini <bonzini@gnu.org>.
49331
49332 2008-07-30  Eric Blake  <ebb9@byu.net>
49333
49334         test-strtod: allow compilation without -lm
49335         * tests/test-strtod.c (main): Avoid link dependence on fabs.
49336         Reported by Dennis Clarke <blastwave@gmail.com>.
49337
49338 2008-07-28  Jim Meyering  <meyering@redhat.com>
49339
49340         bootstrap: work also when there are no .po files in po/
49341         * build-aux/bootstrap (update_po_files): Complete the change
49342         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
49343
49344 2008-07-27  Jim Meyering  <meyering@redhat.com>
49345
49346         * users.txt: Add zile.
49347
49348 2008-07-26  Ben Pfaff  <blp@gnu.org>
49349
49350         Add missing dependencies on new m4/exponent[fdl].m4 files.
49351         * modules/isnanf-nolibm: Add m4/exponentf.m4.
49352         * modules/isnand-nolibm: Add m4/exponentd.m4.
49353         * modules/isnanl-nolibm: Add m4/exponentl.m4.
49354         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
49355         m4/isnan[fdl].m4, because the macros actually used moved.
49356         Reported by Jim Meyering.
49357
49358 2008-07-14  Ben Pfaff  <blp@gnu.org>
49359
49360         Add isinf module.
49361         * lib/isinf.c: New file.
49362         * lib/math.in.h: Define isinf macro if we have decided to replace
49363         it.
49364         * m4/isinf.m4: New file.
49365         * m4/math_h.m4: Initialize and substitute variables for isinf
49366         module.
49367         * modules/isinf: New file.
49368         * modules/isinf-tests: New file.
49369         * modules/math: Add substitutions for new module.
49370         * tests/test-isinf.c: New file.
49371         * doc/posix-functions/isinf.texi: Mention new module.
49372         * MODULES.html.sh: Mention new module.
49373
49374 2008-07-14  Ben Pfaff  <blp@gnu.org>
49375
49376         Factor out some macros for use by additional modules.
49377         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
49378         exponentf.m4.
49379         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
49380         exponentd.m4.
49381         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
49382         file exponentl.m4.
49383         * m4/exponentf.m4: New file.
49384         * m4/exponentd.m4: New file.
49385         * m4/exponentl.m4: New file.
49386         * modules/isnanf: Use new file m4/exponentf.m4.
49387         * modules/isnand: Use new file m4/exponentd.m4.
49388         * modules/isnanl: Use new file m4/exponentl.m4.
49389
49390 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
49391
49392         mktime.c: normalize tp->tm_isdst value to -1/0/1.
49393         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
49394         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
49395         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
49396
49397         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
49398         readlink on platforms without PATH_MAX.
49399
49400 2008-07-21  Eric Blake  <ebb9@byu.net>
49401
49402         Warn, not fail, on stale version.
49403         * top/GNUmakefile (_curr-ver): Tone down previous patch.
49404
49405         Don't allow installation with stale devel version number.
49406         * top/GNUmakefile (_is-install-target): New macro.
49407         (_curr-ver): Forbid installation with stale version number.
49408
49409 2008-07-20  Bruno Haible  <bruno@clisp.org>
49410
49411         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
49412         TESTS_ENVIRONMENT.
49413         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
49414
49415 2008-07-20  Bruno Haible  <bruno@clisp.org>
49416
49417         * lib/c-stack.h (c_stack_action): Add documentation.
49418         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
49419
49420 2008-07-20  Bruno Haible  <bruno@clisp.org>
49421
49422         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
49423         * modules/readlink (License): Likewise.
49424
49425 2008-07-17  Eric Blake  <ebb9@byu.net>
49426
49427         * modules/c-stack (Link): Fix typo.
49428
49429         Make c-stack use libsigsegv, when available.
49430         * modules/c-stack (Depends-on): Add libsigsegv.
49431         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
49432         needed.
49433         * lib/c-stack.c (SIGSTKSZ): Define fallback.
49434         (segv_handler, overflow_handler, c_stack_action)
49435         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
49436         implementation when libsigsegv is available, but only when using
49437         the library is necessary.
49438         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
49439         comment, explaining why XSI check fails on Linux.
49440         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
49441         * tests/test-c-stack2.sh: Tweak skip message.
49442         * NEWS: Document new link-time requirements.
49443
49444 2008-07-16  Eric Blake  <ebb9@byu.net>
49445
49446         c-stack: Expose false positives when not using libsigsegv.
49447         * modules/c-stack-tests (Files): Expand test.
49448         * tests/test-c-stack.c (main): Add means to conditionally trigger
49449         non-overflow SIGSEGV.
49450         * tests/test-c-stack2.sh: New file.
49451
49452 2008-07-14  Bruno Haible  <bruno@clisp.org>
49453
49454         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
49455         Reported by Eric Blake.
49456
49457 2008-07-14  Sam Steingold  <sds@gnu.org>
49458             Bruno Haible  <bruno@clisp.org>
49459
49460         New module libsigsegv.
49461         * modules/libsigsegv: New file.
49462         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
49463         modifications.
49464         * MODULES.html.sh (Signal handling): New section.
49465
49466 2008-07-14  Bruno Haible  <bruno@clisp.org>
49467
49468         * modules/unictype/ctype-* (Description): Add the word "function".
49469         Improves the resulting doc in MODULES.html.
49470
49471 2008-07-12  Ben Pfaff  <blp@gnu.org>
49472
49473         Add longlong module.
49474         * modules/longlong: New file.
49475
49476 2008-07-12  Bruno Haible  <bruno@clisp.org>
49477
49478         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
49479         to empty.
49480
49481 2008-07-10  Ben Pfaff  <blp@gnu.org>
49482
49483         Add isnan module.
49484         * doc/posix-functions/isnan.texi: Mention new module.
49485         * lib/math.in.h: Define isnan macro if we have decided to replace
49486         it.
49487         * m4/isnan.m4: New file.
49488         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
49489         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
49490         also.
49491         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
49492         redundancy.
49493         * m4/math_h.m4: Initialize and substitute variables for isnan
49494         module.
49495         * modules/isnan: New file.
49496         * modules/isnan-tests: New file.
49497         * modules/math: Add substitutions for new module.
49498         * tests/test-isnan.c: New file.
49499         * MODULES.html.sh: Mention new module.
49500
49501 2008-07-10  Ben Pfaff  <blp@gnu.org>
49502
49503         Add isnanf module.
49504         * lib/isnanf.m4: New file.
49505         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
49506         (gl_HAVE_ISNANF_IN_LIBM): New macro.
49507         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
49508         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
49509         * modules/isnanf: New file.
49510         * modules/isnanf-tests: New file.
49511         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
49512         files.
49513         * tests/test-isnanf-nolibm.c: factored most of its contents into
49514         new file tests/test-isnanf.h.
49515         * tests/test-isnanf.h: New file.
49516         * tests/test-isnanf.c: New file.
49517         * MODULES.html.sh: Mention new module.
49518         * doc/glibc-functions/isnanf.texi: Mention new module.
49519
49520 2008-07-10  Ben Pfaff  <blp@gnu.org>
49521
49522         Add isnand module.
49523         * lib/isnand.h: New file.
49524         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
49525         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
49526         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
49527         functionality also.
49528         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
49529         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
49530         (gl_HAVE_ISNAND_IN_LIBM): New macro.
49531         * modules/isnand: New file.
49532         * modules/isnand-tests: New file.
49533         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
49534         files.
49535         * tests/test-isnand-nolibm.c: factored most of its contents into
49536         new file tests/test-isnand.h.
49537         * tests/test-isnand.h: New file.
49538         * tests/test-isnand.c: New file.
49539         * MODULES.html.sh: Mention new module.
49540
49541 2008-07-10  Ben Pfaff  <blp@gnu.org>
49542
49543         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
49544         * lib/isnand.h: Rename lib/isnand-nolibm.h.
49545         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
49546         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
49547         * modules/isnanf-nolibm: Update references to renamed files.
49548         * modules/isnand-nolibm: Likewise.
49549         * modules/isnanf-nolibm-tests: Likewise.
49550         * modules/isnand-nolibm-tests: Likewise.
49551         * lib/frexp.c: Likewise.
49552         * lib/isfinite.c: Likewise.
49553         * lib/signbitd.c: Likewise.
49554         * lib/signbitf.c: Likewise.
49555         * lib/vasnprintf.c: Likewise.
49556         * tests/test-ceilf1.c: Likewise.
49557         * tests/test-ceilf2.c: Likewise.
49558         * tests/test-floorf1.c: Likewise.
49559         * tests/test-floorf2.c: Likewise.
49560         * tests/test-frexp.c: Likewise.
49561         * tests/test-round1.c: Likewise.
49562         * tests/test-round2.c: Likewise.
49563         * tests/test-roundf1.c: Likewise.
49564         * tests/test-strtod.c: Likewise.
49565         * tests/test-trunc1.c: Likewise.
49566         * tests/test-trunc2.c: Likewise.
49567         * tests/test-truncf1.c: Likewise.
49568         * tests/test-truncf2.c: Likewise.
49569         * NEWS: Mention the renamed header files.
49570
49571 2008-07-11  Jim Meyering  <meyering@redhat.com>
49572
49573         vc-list-files: make the last-resort awk code more portable
49574         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
49575         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
49576         does not support it.
49577
49578 2008-07-10  Eric Blake  <ebb9@byu.net>
49579
49580         Work with tar's bootstrap.
49581         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
49582         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
49583         an m4 comment.
49584
49585 2008-07-09  Jim Meyering  <meyering@redhat.com>
49586
49587         posix-shell.m4: fix typo that made this test malfunction
49588         * m4/posix-shell.m4: Remove capitalization in variable name.
49589
49590 2008-07-08  Bruno Haible  <bruno@clisp.org>
49591
49592         * m4/onceonly.m4: Update comments.
49593         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49594
49595 2008-07-04  Jim Meyering  <meyering@redhat.com>
49596
49597         * users.txt: Add vc-dwim.
49598         (bison, coreutils): Use the gitweb URL.
49599
49600 2008-07-03  Jim Meyering  <meyering@redhat.com>
49601
49602         * users.txt: Add libffcall.  From Sam Steingold.
49603
49604 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
49605
49606         getdate.y: do not ignore TZ with relative day, month or year offset
49607         * lib/getdate.y (get_date): Move the tz-handling block to follow the
49608         relative-date-handling, since otherwise, the latter would clobber the
49609         sole output (an updated Start value) of the tz-handling block.
49610         * tests/test-getdate.c: Tests for the fix
49611
49612 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49613
49614         Recognize 'foo_LIBRARIES += libgnu.a'.
49615         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
49616         makefile snippet has already specified an installation location,
49617         also using '+='.
49618
49619 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
49620
49621         getdate.y: factor out common actions
49622         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
49623         Use them in place of open-coded actions.
49624
49625 2008-07-01  Simon Josefsson  <simon@josefsson.org>
49626
49627         Add self-test for getdate module.
49628         * modules/getdate-tests: New file.
49629         * tests/test-getdate.c: New file.
49630
49631 2008-06-29  Bruno Haible  <bruno@clisp.org>
49632
49633         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
49634         .gitignore.
49635         Reported by Sylvain Beucler <beuc@beuc.net>.
49636
49637 2008-06-29  Bruno Haible  <bruno@clisp.org>
49638
49639         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
49640         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
49641
49642 2008-06-29  Bruno Haible  <bruno@clisp.org>
49643
49644         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
49645         EXTRA_DIST.
49646         Reported by Sylvain Beucler <beuc@beuc.net>.
49647
49648 2008-06-26  Jim Meyering  <meyering@redhat.com>
49649
49650         make several modules depend on the "open" module
49651         This provides slightly increased consistency when opening-for-write
49652         the name of a non-directory spelled with a trailing slash.
49653         * modules/chdir-safer: Likewise.
49654         * modules/chown: Likewise.
49655         * modules/clean-temp: Likewise.
49656         * modules/copy-file: Likewise.
49657         * modules/fchdir: Likewise.
49658         * modules/fcntl-safer: Likewise.
49659         * modules/pipe: Likewise.
49660         * modules/utime: Likewise.
49661         Prompted by Eric Blake and Bruno Haible.
49662
49663 2008-06-24  Andreas Schwab  <schwab@suse.de>
49664
49665         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
49666         literals can be used as initializers for global variables.
49667
49668 2008-06-23  Eric Blake  <ebb9@byu.net>
49669
49670         Make gnulib-cache.m4 easier to diff.
49671         * gnulib-tool (func_import): Allow newlines when reading cached
49672         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
49673
49674 2008-06-23  Bruno Haible  <bruno@clisp.org>
49675
49676         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
49677         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
49678         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
49679         m4/signalblocking.m4.
49680         (gl_PREREQ_SIGACTION): Don't invoke it.
49681         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
49682         gl_PREREQ_SIG_HANDLER_H.
49683         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
49684         Don't check for sigaction here.
49685
49686 2008-06-23  Bruno Haible  <bruno@clisp.org>
49687
49688         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
49689         (install_handlers): Don't set the SA_RESETHAND flag.
49690
49691 2008-06-23  Bruno Haible  <bruno@clisp.org>
49692
49693         * m4/sigaction.m4: Comment fixes.
49694         * lib/signal.in.h: Likewise.
49695
49696 2008-06-23  Eric Blake  <ebb9@byu.net>
49697
49698         Fix typo.
49699         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
49700
49701         Avoid SA_ namespace.
49702         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
49703         Reported by Ralf Wildenhues.
49704
49705         Avoid test failure due to SA_RESTORER.
49706         * tests/test-sigaction.c (SA_MASK): New macro.
49707         (main): Avoid failing due to extension flags being set.
49708         Reported by Jim Meyering.
49709
49710         Revert use of sig-handler.h in sigprocmask.c.
49711         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
49712         it requires the existence of struct sigaction.
49713         * lib/sigprocmask.c (handler_t): Restore typedef.
49714         (rpl_signal, old_handlers): Use local type.
49715
49716 2008-06-22  Bruno Haible  <bruno@clisp.org>
49717
49718         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
49719         conditionally.
49720         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49721
49722 2008-06-22  Bruno Haible  <bruno@clisp.org>
49723
49724         * doc/posix-functions/siginterrupt.texi: Move note.
49725
49726         * lib/signal.in.h (SA_RESTART): New macro.
49727         * lib/sigaction.c: Update comment.
49728
49729         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
49730
49731         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
49732         (gl_PREREQ_SIGPROCMASK): Invoke it.
49733         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
49734
49735         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
49736
49737         * lib/sigprocmask.c: Update a comment.
49738
49739 2008-06-21  Eric Blake  <ebb9@byu.net>
49740
49741         Use sigaction module rather than signal().
49742         * modules/c-stack (Depends-on): Add sigaction.
49743         * modules/fatal-signal (Depends-on): Likewise.
49744         * modules/nanosleep (Depends-on): Likewise.
49745         * modules/sigprocmask (Files): Add sig-handler.h.
49746         * modules/sigaction (Files): Likewise.
49747         * lib/sig-handler.h (get_handler): New file, suggested by Paul
49748         Eggert.
49749         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
49750         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
49751         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
49752         (init_fatal_signals): Likewise.
49753         * lib/nanosleep.c (rpl_nanosleep): Likewise.
49754         (siginterrupt): Delete fallback.
49755         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
49756         instead.
49757         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
49758         siginterrupt.
49759
49760         New module sigaction, for mingw.
49761         * modules/sigaction: New module...
49762         * modules/sigaction-tests: ...and its test.
49763         * m4/sigaction.m4: New file.
49764         * lib/sigaction.c: Likewise.
49765         * tests/test-sigaction.c: Likewise.
49766         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
49767         * modules/signal (Makefile.am): Likewise.
49768         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
49769         needed.
49770         * doc/posix-headers/signal.texi (signal.h): Mention provided
49771         types.
49772         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
49773         that sigaction is preferable.
49774         * doc/posix-functions/sigaction.texi (sigaction): Mention new
49775         module.
49776         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49777         sigaction.
49778
49779         Improve robustness of sigprocmask by overriding signal.
49780         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
49781         is in use.
49782         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
49783         (SIGKILL, SIGSTOP): Provide fallbacks.
49784         (rpl_signal): Implement.
49785         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
49786         signal can be called inside handlers.
49787
49788         Fix nanosleep module on mingw.
49789         * modules/nanosleep (Depends-on): Add sys_select.
49790         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
49791
49792         Fix licensing of sigprocmask.
49793         * modules/raise (License): Relicense as LGPL.
49794
49795 2008-06-21  Bruno Haible  <bruno@clisp.org>
49796
49797         * lib/propername.c (proper_name_utf8): Don't use the transliterated
49798         result if it contains question marks.
49799         Reported by Michael Geng <linux@michaelgeng.de>.
49800
49801 2008-06-19  Bruno Haible  <bruno@clisp.org>
49802
49803         Fix CVS-ism.
49804         * doc/gnulib.texi: Include updated-stamp.texi.
49805         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
49806         (updated-stamp.texi): New rule.
49807         (gnulib.info): Depend on it.
49808         * doc/.gitignore: Add updated-stamp.texi.
49809         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
49810
49811 2008-06-19  Bruno Haible  <bruno@clisp.org>
49812
49813         * doc/Makefile (gnulib.info): Update and simplify dependencies.
49814         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
49815
49816 2008-06-19  Eric Blake  <ebb9@byu.net>
49817
49818         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
49819         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
49820         Reported by Stepan Kasal.
49821
49822 2008-06-18  Bruno Haible  <bruno@clisp.org>
49823
49824         * lib/fatal-signal.c (init_fatal_signals): Add comment.
49825         Reported by Eric Blake.
49826
49827 2008-06-18  Eric Blake  <ebb9@byu.net>
49828
49829         Work around cygwin 1.5.25 strsignal bug.
49830         * tests/test-strsignal.c: Allow for const char *.
49831         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
49832
49833 2008-06-18  Simon Josefsson  <simon@josefsson.org>
49834
49835         * users.txt: Update URL to article and add author/date
49836         information.
49837
49838 2008-06-17  Bruno Haible  <bruno@clisp.org>
49839
49840         New macro gl_DISABLE_THREADS.
49841         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
49842         if the user did not pass --enable-threads or --disable-threads option.
49843         (gl_DISABLE_THREADS): New macro.
49844         Reported by Eric Blake <ebb9@byu.net>.
49845
49846 2008-06-17  Bruno Haible  <bruno@clisp.org>
49847
49848         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
49849         when the macro ignores it.
49850         Based on a patch by Eric Blake <ebb9@byu.net>.
49851
49852 2008-06-17  Bruno Haible  <bruno@clisp.org>
49853
49854         * modules/tls (License): Change to LGPLv2+.
49855         Reported by Eric Blake.
49856
49857 2008-06-17  Eric Blake  <ebb9@byu.net>
49858
49859         Simplify c-stack prerequisites.
49860         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
49861         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
49862         no longer requires <ucontext.h> to exist.  Optimize setrlimit
49863         check.
49864         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
49865         <sys/resource.h>.
49866
49867         Move c-stack test into testsuite.
49868         * modules/c-stack-tests: New file.
49869         * lib/c-stack.c [DEBUG]: Move test program...
49870         * tests/test-c-stack.c: ...into this new file.  Skip rather than
49871         fail test if sigaltstack is lacking.
49872         * tests/test-c-stack.sh: New driver file.
49873
49874 2008-06-16  Eric Blake  <ebb9@byu.net>
49875
49876         Use raise module consistently.
49877         * modules/fatal-signal (Depends-on): Add raise.
49878         * modules/sigprocmask (Depends-on): Likewise.
49879         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
49880         * lib/sigprocmask.c (sigprocmask): Likewise.
49881         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
49882         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
49883
49884         Fix compliance bug in sigpending.
49885         * lib/sigprocmask.c (sigpending): Return pending array via
49886         parameter, not return value.
49887
49888 2008-06-14  Eric Blake  <ebb9@byu.net>
49889
49890         Improve obstack-printf test code.
49891         * tests/test-obstack-printf.c (test_function): Fix comment, and
49892         simplify usage of obstack_* in macros.  Add a test for coverage.
49893         Reported by Bruno Haible.
49894
49895 2008-06-14  Bruno Haible  <bruno@clisp.org>
49896
49897         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
49898         array size as a constant, not as a const variable.
49899         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
49900         AC_USE_SYSTEM_EXTENSIONS.
49901         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
49902         Test whether the obstack_printf function actually exists.
49903         * modules/obstack-printf (Depends-on): Add extensions.
49904         (Include): Remove obstack.h.
49905         * modules/obstack-printf-posix (Depends-on): Add extensions.
49906         (Include): Remove obstack.h.
49907
49908 2008-06-13  Eric Blake  <ebb9@byu.net>
49909
49910         Add obstack-printf and obstack-printf-posix modules.
49911         * modules/obstack-printf: New file.
49912         * modules/obstack-printf-posix: Likewise.
49913         * MODULES.html.sh (Misc): Mention them.
49914         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
49915         Likewise.
49916         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
49917         Likewise.
49918         * modules/stdio (Makefile.am): Accomodate new modules.
49919         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49920         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
49921         Declare.
49922         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
49923         functions.
49924         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
49925         (gl_REPLACE_OBSTACK_PRINTF): New macros
49926         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
49927         * tests/test-obstack-printf.c: New file.
49928         * modules/obstack-printf-tests: Likewise.
49929         * modules/obstack-printf-posix-tests: Likewise.
49930
49931 2008-06-11  Bruno Haible  <bruno@clisp.org>
49932
49933         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
49934         * lib/open.c: Include errno.h.
49935         (open): Fail when attempting to write to a file that has a trailing
49936         slash.
49937         * tests/test-open.c (main): Test against trailing slash bug.
49938         * doc/posix-functions/open.texi: Mention the trailing slash bug.
49939
49940 2008-06-10  Bruno Haible  <bruno@clisp.org>
49941
49942         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
49943         for $? to work inside the trap command, with various /bin/sh-s.
49944         * tests/test-vc-list-files-cvs.sh: Likewise.
49945
49946 2008-06-10  Bruno Haible  <bruno@clisp.org>
49947
49948         * lib/acl-internal.h: Don't include gettext.h here.
49949         * lib/set-mode-acl.c: Include gettext.h here.
49950         * lib/copy-acl.c: Likewise.
49951
49952 2008-06-10  Bruno Haible  <bruno@clisp.org>
49953
49954         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
49955         * lib/wait-process.c (wait_subprocess): Likewise.
49956         * lib/execute.h (execute): Add termsigp argument.
49957         * lib/execute.c (execute): Likewise.
49958         * lib/csharpcomp.c (compile_csharp_using_pnet,
49959         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
49960         * lib/csharpexec.c (execute_csharp_using_pnet,
49961         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
49962         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
49963         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
49964         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
49965         is_jikes_present): Update.
49966         * lib/javaexec.c (execute_java_class): Update.
49967         * lib/javaversion.c (execute_and_read_line): Update.
49968         * NEWS: Document the changes.
49969         Reported by Eric Blake.
49970
49971 2008-06-10  Eric Blake  <ebb9@byu.net>
49972
49973         Add missing include.
49974         * tests/test-strstr.c (includes): Add <signal.h>.
49975         * tests/test-strcasestr.c (includes): Likewise.
49976         * tests/test-memmem.c (includes): Likewise.
49977
49978 2008-06-10  Bruno Haible  <bruno@clisp.org>
49979
49980         * lib/wait-process.c (wait_subprocess): Add an assertion.
49981
49982 2008-06-10  Bruno Haible  <bruno@clisp.org>
49983
49984         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
49985
49986 2008-06-10  Bruno Haible  <bruno@clisp.org>
49987
49988         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
49989         using alarm().
49990         * tests/test-strcasestr.c (main): Likewise.
49991         * tests/test-strstr.c (main): Likewise.
49992
49993 2008-06-09  Bruno Haible  <bruno@clisp.org>
49994
49995         Work around the Solaris 10 ACE ACLs ABI change.
49996         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
49997         declare if ACL_NO_TRIVIAL is present.
49998         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
49999         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
50000         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
50001         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
50002         define if ACL_NO_TRIVIAL is present.
50003         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
50004         and use the current ABI.
50005         (file_has_acl): Use same #if condition as elsewhere.
50006         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
50007         in use, and use the current ABI.
50008         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
50009         Reported by Jim Meyering.
50010
50011 2008-06-09  Eric Blake  <ebb9@byu.net>
50012
50013         Work around environments that (stupidly) ignore SIGALRM.
50014         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
50015         before using alarm().
50016         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50017         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
50018         Reported by Ian Beckwith <ianb@erislabs.net>.
50019
50020         Produce autobuild blurb earlier in log.
50021         * modules/autobuild (configure.ac-early): Move AB_INIT here.
50022
50023 2008-06-09  Jim Meyering  <meyering@redhat.com>
50024         and OndÅ™ej Vašík  <ovasik@redhat.com>
50025
50026         utimens.c: correct kernel bug work-around
50027         OndÅ™ej Vašík found that the invalid return value of 280 indicates
50028         failure, not success, and the kernel bug we're trying to work
50029         around affects not just the utimensat call, but also the fallback
50030         futimens call.
50031         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
50032         not success.
50033         [HAVE_FUTIMENS]: Use the same work-around, here.
50034
50035 2008-06-09  Jim Meyering  <meyering@redhat.com>
50036
50037         add more guards around definition of ACE_-related code
50038         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
50039         ALLOW and ACE_OWNER are also defined.
50040
50041 2008-06-08  Bruno Haible  <bruno@clisp.org>
50042
50043         * lib/acl-internal.h: Add me as co-author.
50044         * lib/file-has-acl.c: Likewise.
50045         * lib/set-mode-acl.c: Likewise.
50046         * lib/copy-acl.c: Likewise.
50047
50048 2008-06-08  Bruno Haible  <bruno@clisp.org>
50049
50050         Add support for AIX ACLs.
50051         * lib/acl-internal.h (acl_nontrivial): New declaration.
50052         * lib/file-has-acl.c (acl_nontrivial): New function.
50053         (file_has_acl): Add implementation using AIX 4 ACL API.
50054         * lib/set-mode-acl.c (qset_acl): Likewise.
50055         * lib/copy-acl.c (qcopy_acl): Likewise.
50056
50057 2008-06-08  Bruno Haible  <bruno@clisp.org>
50058
50059         Add support for HP-UX ACLs.
50060         * lib/acl-internal.h (acl_nontrivial): New declaration.
50061         * lib/file-has-acl.c (acl_nontrivial): New function.
50062         (file_has_acl): Add implementation using HP-UX 11 ACL API.
50063         * lib/set-mode-acl.c (qset_acl): Likewise.
50064         * lib/copy-acl.c (qcopy_acl): Likewise.
50065
50066 2008-06-08  Bruno Haible  <bruno@clisp.org>
50067
50068         Add support for Cygwin ACLs.
50069         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
50070         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
50071         the chmod_or_fchmod call.
50072         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
50073
50074 2008-06-08  Bruno Haible  <bruno@clisp.org>
50075
50076         Fix bug with setuid modes in Solaris 10+ code.
50077         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
50078         succeeded, when the mode contains some special bits.
50079
50080 2008-06-08  Bruno Haible  <bruno@clisp.org>
50081
50082         Add support for Solaris 7..10 ACLs.
50083         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
50084         declarations.
50085         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
50086         functions.
50087         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
50088         * lib/set-mode-acl.c (qset_acl): Likewise.
50089         * lib/copy-acl.c (qcopy_acl): Likewise.
50090
50091 2008-06-08  Bruno Haible  <bruno@clisp.org>
50092
50093         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
50094         declaration.
50095         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
50096         (acl_access_nontrivial): Remove MacOS X case.
50097         (file_has_acl): Use acl_extended_nontrivial.
50098         * lib/copy-acl.c (qcopy_acl): Likewise.
50099
50100 2008-06-08  Bruno Haible  <bruno@clisp.org>
50101
50102         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
50103
50104 2008-06-08  Jim Meyering  <meyering@redhat.com>
50105
50106         * modules/acl (Maintainer): Add Bruno Haible.
50107
50108 2008-06-07  Bruno Haible  <bruno@clisp.org>
50109
50110         Improve support for Tru64 ACLs.
50111         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
50112         ACL on OSF/1.
50113
50114 2008-06-07  Bruno Haible  <bruno@clisp.org>
50115
50116         Add support for MacOS X ACLs.
50117         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
50118         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
50119         * lib/set-mode-acl.c (qset_acl): Likewise.
50120         * lib/copy-acl.c (qcopy_acl): Likewise.
50121
50122 2008-06-07  Bruno Haible  <bruno@clisp.org>
50123
50124         Fix memory leak introduced on 2008-05-22.
50125         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
50126         use.
50127
50128 2008-06-07  Bruno Haible  <bruno@clisp.org>
50129
50130         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
50131         to construct an empty ACL.
50132
50133 2008-06-07  Bruno Haible  <bruno@clisp.org>
50134
50135         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
50136         precisely.
50137         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
50138
50139 2008-06-07  Bruno Haible  <bruno@clisp.org>
50140
50141         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
50142         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
50143
50144 2008-06-07  Bruno Haible  <bruno@clisp.org>
50145
50146         * doc/posix-functions/_setjmp.texi: Explain the use of this function
50147         regardless of POSIX.
50148         * doc/posix-functions/_longjmp.texi: Likewise.
50149         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
50150         SystemV platform in this case.
50151
50152 2008-06-06  Eric Blake  <ebb9@byu.net>
50153
50154         Document abort() bugs.
50155         * doc/posix-functions/abort.texi (abort): Mention anomalies.
50156
50157         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
50158         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
50159         sigsetjmp.
50160         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
50161         siglongjmp, but only as a macro.
50162         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
50163         is obsolete.
50164         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
50165
50166         Tweak documentation to cover cygwin argz bugs.
50167         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
50168         argz bug fix; no code change needed since no cygwin releases
50169         occurred between the last fix and the bug being tested.
50170         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
50171         module and recently fixed cygwin bugs.
50172         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
50173         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
50174         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
50175         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
50176         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
50177         Likewise.
50178         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
50179         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
50180         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
50181         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
50182         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
50183         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
50184         Likewise.
50185
50186         Avoid gcc warning on cygwin.
50187         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
50188         !ACL_NO_TRIVIAL]: Avoid unused variable.
50189
50190 2008-06-05  Eric Blake  <ebb9@byu.net>
50191
50192         Be tolerant of UNKNOWN version in gnulib-tool test dir.
50193         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
50194         git-version-gen fails to come up with a version.
50195         Reported by Simon Josefsson.
50196
50197 2008-06-05  Jim Meyering  <meyering@redhat.com>
50198             Paul Eggert  <eggert@cs.ucla.edu>
50199
50200         utimens.c: work around a probable Linux kernel bug
50201         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
50202         appears to be a kernel bug that causes utimensat to return 280
50203         instead of 0, indicating success.
50204
50205 2008-06-04  Bruno Haible  <bruno@clisp.org>
50206
50207         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
50208         2008-06-01 commit.
50209
50210 2008-06-04  Bruno Haible  <bruno@clisp.org>
50211
50212         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
50213         * lib/file-has-acl.c (acl_access_nontrivial): New function.
50214         (file_has_acl): Use it. Save errno afterwards.
50215         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
50216
50217 2008-06-03  Bruno Haible  <bruno@clisp.org>
50218
50219         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
50220         draft code. Simplify #ifs.
50221         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
50222         Put Solaris code after POSIX-draft code. Fix comments regarding
50223         Solaris 10, HP-UX. Mention Cygwin.
50224         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
50225
50226 2008-06-03  Eric Blake  <ebb9@byu.net>
50227
50228         Provide fallback for older kernels.
50229         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
50230         Provide runtime fallback if kernel lacks support.
50231         Reported by Mike Frysinger.
50232
50233 2008-06-02  Bruno Haible  <bruno@clisp.org>
50234
50235         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
50236         it exists.
50237
50238 2008-06-02  Bruno Haible  <bruno@clisp.org>
50239
50240         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
50241         * lib/copy-acl.c (qcopy_acl): Update comment.
50242
50243 2008-06-02  Bruno Haible  <bruno@clisp.org>
50244
50245         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
50246         like ACL APIs.
50247
50248 2008-06-02  Bruno Haible  <bruno@clisp.org>
50249
50250         * tests/test-file-has-acl.sh: Use different code for Cygwin.
50251         * tests/test-set-mode-acl.sh: Likewise.
50252         * tests/test-copy-acl.sh: Likewise.
50253         * tests/test-copy-file.sh: Likewise.
50254
50255 2008-06-02  Bruno Haible  <bruno@clisp.org>
50256
50257         * tests/test-file-has-acl.sh: Remove unused code.
50258
50259 2008-06-01  Bruno Haible  <bruno@clisp.org>
50260
50261         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
50262         (copy_acl): Just a wrapper around qcopy_acl that emits the error
50263         messages.
50264         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
50265
50266 2008-06-01  Bruno Haible  <bruno@clisp.org>
50267
50268         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
50269         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
50270         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
50271         APIs.
50272         * modules/acl-tests (configure.ac): Remove tests now contained in
50273         m4/acl.m4.
50274
50275 2008-06-02  Jim Meyering  <meyering@redhat.com>
50276
50277         announce-gen: use a better key-server host name
50278         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
50279         it may be more consistently reliable.  Suggested by Werner Koch
50280         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
50281
50282 2008-06-01  Bruno Haible  <bruno@clisp.org>
50283
50284         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
50285         Reported by Voroskoi Andras <voroskoi@gmail.com>.
50286
50287 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
50288
50289         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
50290
50291 2008-06-01  Bruno Haible  <bruno@clisp.org>
50292
50293         New ACL tests.
50294         * tests/test-file-has-acl.sh: New file.
50295         * tests/test-file-has-acl.c: New file.
50296         * tests/test-set-mode-acl.sh: New file.
50297         * tests/test-set-mode-acl.c: New file.
50298         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
50299         * tests/test-copy-acl.c: New file.
50300         * modules/acl-tests: New file, based on modules/copy-file-tests.
50301         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
50302         (Depends-on): Add acl-tests.
50303         (configure.ac): Remove checks.
50304         (Makefile.am): Don't create test-sameacls program here any more.
50305
50306 2008-06-01  Bruno Haible  <bruno@clisp.org>
50307
50308         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
50309         * tests/test-sameacls.c: Include progname.h.
50310         (main): Invoke set_program_name. Portability fixes for MacOS X,
50311         Solaris, HP-UX.
50312
50313 2008-06-01  Bruno Haible  <bruno@clisp.org>
50314
50315         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
50316         function.
50317         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
50318
50319 2008-06-01  Bruno Haible  <bruno@clisp.org>
50320
50321         * modules/rpmatch (Depends-on): Add strdup.
50322
50323 2008-06-01  Bruno Haible  <bruno@clisp.org>
50324
50325         * lib/pipe.c: Include unistd-safer.h.
50326         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
50327         * modules/pipe (Depends-on): Add unistd-safer.
50328
50329 2008-05-30  Simon Josefsson  <simon@josefsson.org>
50330
50331         * modules/autobuild (configure.ac): Call AB_INIT.
50332
50333 2008-05-30  Simon Josefsson  <simon@josefsson.org>
50334
50335         * tests/test-getaddrinfo.c: Don't print debug messages by default.
50336         Suggested by Bruno Haible <bruno@clisp.org>.
50337
50338 2008-05-30  Simon Josefsson  <simon@josefsson.org>
50339
50340         * tests/test-base64.c: Cast size_t to unsigned long when invoking
50341         printf.  Use %lu instead of %d.  Reported by Bruno Haible
50342         <bruno@clisp.org>.
50343
50344 2008-05-29  Eric Blake  <ebb9@byu.net>
50345
50346         Prefer new POSIX 200x interfaces over futimesat.
50347         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
50348         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
50349         when available.
50350         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
50351
50352 2008-05-28  Bruno Haible  <bruno@clisp.org>
50353
50354         * modules/stpcpy (License): Change to LGPLv2+.
50355         Requested by David Lutterkort <dlutter@redhat.com>.
50356
50357 2008-05-27  Bruno Haible  <bruno@clisp.org>
50358
50359         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
50360         current mingw.
50361         Reported by Jose E. Marchesi <jemarch@gnu.org>.
50362
50363 2008-05-27  Bruno Haible  <bruno@clisp.org>
50364
50365         * modules/iconv_open (Link): New section, from module 'iconv'.
50366         * modules/striconv (Link): Likewise.
50367         * modules/striconveh (Link): Likewise.
50368         * modules/xstriconv (Link): Likewise.
50369         * modules/unicodeio (Link): Likewise.
50370         * modules/propername (Link): Likewise.
50371         Reported by Jim Meyering.
50372
50373 2008-05-26  Jim Meyering  <meyering@redhat.com>
50374
50375         sha256: do not artificially restrict buffer length to be < 2^32
50376         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
50377         uint32_t to size_t.
50378         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
50379         to match.
50380
50381         avoid unaligned access errors, e.g., on sparc
50382         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
50383         direct access through a possibly-unaligned uint64* pointer.
50384         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
50385         direct access through a possibly-unaligned uint32* pointer.
50386         Prompted by this patch from Tom "spot" Callaway:
50387         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
50388
50389         sha512.c: fix typo in comment
50390         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
50391
50392 2008-05-25  Bruno Haible  <bruno@clisp.org>
50393
50394         * lib/set-mode-acl.c: Renamed from lib/acl.c.
50395         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
50396         (Makefile.am): Update lib_SOURCES.
50397
50398 2008-05-25  Bruno Haible  <bruno@clisp.org>
50399
50400         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
50401
50402 2008-05-25  Jim Meyering  <meyering@redhat.com>
50403
50404         useless-if-before-free: freed expr may have white-space differences
50405         * build-aux/useless-if-before-free: Recognize cases in which the
50406         freed expression differs from the tested one in embedded white
50407         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
50408         $1 was used, so we can't make any regexp shy.  Improved tests now
50409         detect this.
50410
50411         useless-if-before-free: accept white space in the expression.
50412         * build-aux/useless-if-before-free: For now, any white space
50413         in the expression must be identical in the free argument.
50414
50415         useless-if-before-free: efficiency tweak
50416         * build-aux/useless-if-before-free: Make the expression-matching
50417         regexp "shy".
50418         Make the *outer* regexp shy, not the expr-matching one.
50419
50420         update code-in-comment to accept cast of free arg
50421         * build-aux/useless-if-before-free: Update regexp.
50422
50423 2008-05-25  Bruno Haible  <bruno@clisp.org>
50424
50425         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
50426         * modules/copy-file-tests (Files, Makefile.am): Update.
50427         * tests/test-copy-file.c (func_test_copy): Update.
50428
50429 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
50430
50431         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
50432
50433 2008-05-23  Bruno Haible  <bruno@clisp.org>
50434
50435         Improve support for ACLs on OSF/1.
50436         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
50437         Remove fallback for unknown flavors of ACLs.
50438
50439 2008-05-22  Bruno Haible  <bruno@clisp.org>
50440
50441         Add support for ACLs on OSF/1.
50442         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
50443         replacements.
50444         (acl_free_text): New macro fallback.
50445         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
50446         acl_free.
50447         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
50448         acl_free_text function. Require AC_C_INLINE.
50449
50450 2008-05-22  Bruno Haible  <bruno@clisp.org>
50451
50452         Make copy_acl work on MacOS X 10.5.
50453         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
50454         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
50455         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
50456         If MODE_INSIDE_ACL, don't assume that every system has the same text
50457         representation for ACLs as FreeBSD.
50458         * lib/copy-acl.c (copy_acl): Add support for platforms with
50459         !MODE_INSIDE_ACL.
50460         * lib/file-has-acl.c (file_has_acl): Likewise.
50461         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
50462         FreeBSD, MacOS X, or IRIX, respectively.
50463
50464 2008-05-22  Bruno Haible  <bruno@clisp.org>
50465
50466         * lib/acl.h: Don't include <sys/acl.h>.
50467         (GETACLCNT): Move fallback to lib/acl-internal.h.
50468         * lib/acl-internal.h: Include <sys/acl.h> here.
50469         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
50470
50471 2008-05-22  Bruno Haible  <bruno@clisp.org>
50472
50473         Split off copy_acl function to separate file.
50474         * lib/copy-acl.c: New file, extracted from lib/acl.c.
50475         * lib/acl.c (copy_acl): Moved function to separate file.
50476         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
50477         * modules/acl (Files): Add lib/copy-acl.c.
50478         (Makefiles.am): Augment lib_SOURCES.
50479
50480 2008-05-22  Bruno Haible  <bruno@clisp.org>
50481
50482         * modules/copy-file-tests: New file.
50483         * tests/test-copy-file.sh: New file.
50484         * tests/test-copy-file.c: New file.
50485         * tests/test-copy-file-sameacls.c: New file.
50486
50487 2008-05-22  Eric Blake  <ebb9@byu.net>
50488
50489         Avoid gcc warning.
50490         * tests/test-memcmp.c (main): Pass NULL indirectly.
50491
50492 2008-05-21  Bruno Haible  <bruno@clisp.org>
50493
50494         Add reference doc about ACLs.
50495         * doc/acl-resources.txt: New file.
50496         * doc/acl-cygwin.txt: New file.
50497
50498 2008-05-21  Bruno Haible  <bruno@clisp.org>
50499
50500         Avoid one more warning from gcc.
50501         * lib/vasnprintf.c (IF_LINT): Update comments.
50502         (VASNPRINTF): Use it also for the 'prefix' array initializer.
50503
50504 2008-05-21  Jim Meyering  <meyering@redhat.com>
50505
50506         avoid a warning from gcc
50507         * lib/vasnprintf.c (IF_LINT): Define.
50508         (scale10_round_decimal_long_double):
50509         Use it to avoid a "may be used uninitialized" warning.
50510         (scale10_round_decimal_double): Likewise.
50511
50512 2008-05-21  Simon Josefsson  <simon@josefsson.org>
50513
50514         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
50515         declared.
50516
50517 2008-05-20  Bruno Haible  <bruno@clisp.org>
50518
50519         * tests/test-memcmp.c (main): Test also the sign of the result. Test
50520         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
50521
50522 2008-05-20  Simon Josefsson  <simon@josefsson.org>
50523
50524         * modules/memcmp-tests: New file.
50525         * tests/test-memcmp.c: New file.
50526
50527 2008-05-19  Bruno Haible  <bruno@clisp.org>
50528
50529         * modules/propername (Notice, configure.ac): Put quoted "..." into
50530         --keyword option.
50531         * lib/propername.h: Update comments accordingly.
50532         Reported by Eric Blake.
50533
50534 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
50535
50536         * modules/getpass-gnu (Depends-on): Add fseeko.
50537
50538 2008-05-19  Simon Josefsson  <simon@josefsson.org>
50539
50540         * modules/base64-tests: New file.
50541
50542 2008-05-19  Bo Borgerson <gigabo@gmail.com>
50543
50544         * lib/base64.c (base64_decode_ctx): If a decode context structure
50545         was passed in use it to ignore newlines.  If a context structure
50546         was _not_ passed in, continue to treat newlines as garbage (this
50547         is the historical behavior).  Formerly base64_decode.
50548         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
50549         takes a decode context structure.
50550         * lib/base64.h (base64_decode): Macro for four-argument calls.
50551         (base64_decode_alloc): Likewise.
50552         * lib/base64.c (base64_decode_ctx): If a decode context structure
50553         was passed in use it to ignore newlines.  If a context structure
50554         was _not_ passed in, continue to treat newlines as garbage (this
50555         is the historical behavior).  Formerly base64_decode.
50556         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
50557         takes a decode context structure.
50558         * lib/base64.h (base64_decode): Macro for four-argument calls.
50559         (base64_decode_alloc): Likewise.
50560
50561 2008-05-19  Jim Meyering  <meyering@redhat.com>
50562
50563         avoid a warning from gcc
50564         * lib/trim.c (IF_LINT): Define.
50565         (trim2): Use it to avoid a "may be used uninitialized" warning.
50566
50567         Fix doc typo.
50568         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
50569
50570 2008-05-19  Bruno Haible  <bruno@clisp.org>
50571
50572         * doc/glibc-functions/getpass.texi: Document limits of other
50573         implementations.
50574
50575 2008-05-19  Simon Josefsson  <simon@josefsson.org>
50576             Bruno Haible <bruno@clisp.org>
50577
50578         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
50579
50580 2008-05-18  Bruno Haible  <bruno@clisp.org>
50581
50582         * modules/propername: New file, from GNU gettext.
50583         * lib/propername.h: New file, from GNU gettext.
50584         * lib/propername.c: New file, from GNU gettext.
50585         * MODULES.html.sh (Internationalization functions): Add propername.
50586
50587 2008-05-16  Jim Meyering  <meyering@redhat.com>
50588             Bruno Haible  <bruno@clisp.org>
50589
50590         Avoid some warnings from "gcc -Wshadow".
50591         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
50592
50593 2008-05-15  Eric Blake  <ebb9@byu.net>
50594
50595         Extend previous patch to cygwin 1.7.0.
50596         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
50597         fast implementation in cygwin >= 1.7.0.
50598         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
50599         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50600
50601 2008-05-15  Bruno Haible  <bruno@clisp.org>
50602
50603         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
50604         implementation in glibc >= 2.9.
50605         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
50606         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
50607
50608 2008-05-15  Bruno Haible  <bruno@clisp.org>
50609
50610         * MODULES.html.sh (Internationalization functions): Remove linebreak.
50611         (Unicode string functions): Add unilbrk/*.
50612         Reported by Karl Berry.
50613
50614 2008-05-15  Eric Blake  <ebb9@byu.net>
50615
50616         Fix violation of <stdbool.h> replacement in regex.
50617         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
50618         * lib/regexec.c (re_search_internal): Likewise.
50619         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
50620
50621 2008-05-15  Jim Meyering  <meyering@redhat.com>
50622
50623         avoid distracting test output when git or cvs is not found
50624         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
50625         * tests/test-vc-list-files-git.sh: Likewise.
50626
50627 2008-05-15  Eric Blake  <ebb9@byu.net>
50628
50629         Glibc finally accepted the memmem speedup code, bugzilla #5514.
50630         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
50631         glibc version.
50632         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
50633         * doc/posix-functions/strstr.texi (strstr): Likewise.
50634         * lib/str-two-way.h (MAX): Sychronize with glibc.
50635
50636 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
50637
50638         * lib/regcomp.c (optimize_utf8): Add a note on why we test
50639         opr.ctx_type.
50640         (calc_first): Initialize constraint field.
50641         (duplicate_node_closure): Use it instead of special casing ANCHORS.
50642         Fix grammar.
50643         (duplicate_node): Merge constraint field for all node types.
50644         (calc_eclosure_iter): Look at constraint field for all node types.
50645         * lib/regex_internal.c (create_cd_newstate): Don't look at
50646         opr.ctx_type.
50647
50648 2008-05-14  Bruno Haible  <bruno@clisp.org>
50649
50650         Help GCC to do better code generation.
50651         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
50652         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
50653         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
50654         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
50655         Declare with attribute 'malloc' if supported.
50656
50657 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
50658
50659         use "echo STR|wc -c" rather than unportable "expr length STR"
50660         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
50661         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
50662
50663 2008-05-14  Jim Meyering  <meyering@redhat.com>
50664
50665         use dd ibs=$n count=1 ... rather than less-portable head -c$n
50666         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
50667         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
50668         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
50669         via Collin Lasse.
50670
50671 2008-05-14  Eric Blake  <ebb9@byu.net>
50672
50673         Avoid quadratic growth in gl_LIBSOURCES.
50674         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
50675         Suggested by Bruno Haible.
50676
50677         Test xmemdup0.
50678         * modules/xmemdup0-tests: New file.
50679         * tests/test-xmemdup0.c: Likewise.
50680
50681 2008-05-13  Eric Blake  <ebb9@byu.net>
50682
50683         Split xmemdup0 into its own module.
50684         * modules/xmemdup0: New file.
50685         * lib/xmemdup0.h: Likewise.
50686         * lib/xmemdup0.c: Likewise.
50687         * MODULES.html.sh (Memory management functions): Add xmemdup0.
50688         * lib/xalloc.h (xmemdup0): Remove.
50689         * lib/xmalloc.c (xmemdup0): Likewise.
50690
50691 2008-05-13  Eric Blake  <ebb9@byu.net>
50692             Bruno Haible  <bruno@clisp.org>
50693
50694         Reduce number of forks required during autoconf.
50695         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
50696         and gl_LIBSOURCES_DIR.
50697         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
50698         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
50699         m4_syscmd per file.
50700         <m4_foreach_w>: Move...
50701         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
50702
50703 2008-05-13  Eric Blake  <ebb9@byu.net>
50704
50705         * gnulib-tool: Fix various comment typos.
50706
50707 2008-05-12  Bruno Haible  <bruno@clisp.org>
50708
50709         Tailor the linebreaking algorithm.
50710         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
50711
50712 2008-05-12  Bruno Haible  <bruno@clisp.org>
50713
50714         Update to Unicode 5.0.0.
50715         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
50716         LBP_JV, LBP_JT. Redistribute values.
50717         (unilbrk_table): Change size.
50718         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
50719         Unicode TR#14 rev. 22.
50720         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
50721         LBP_JV, LBP_JT. Redistribute values.
50722         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
50723         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
50724         Update.
50725         * lib/unilbrk/lbrkprop1.h: Regenerated.
50726         * lib/unilbrk/lbrkprop2.h: Regenerated.
50727         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
50728         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
50729         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
50730         Likewise.
50731         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
50732         Likewise.
50733         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
50734         result.
50735         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
50736         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
50737         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
50738         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
50739         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
50740         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
50741
50742 2008-05-11  Bruno Haible  <bruno@clisp.org>
50743
50744         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
50745
50746 2008-05-11  Bruno Haible  <bruno@clisp.org>
50747
50748         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
50749         * modules/unilbrk/gen-lbrk: New file.
50750
50751 2008-05-11  Bruno Haible  <bruno@clisp.org>
50752
50753         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
50754         * m4/sha512.m4 (gl_SHA512): Likewise.
50755
50756 2008-05-11  Jim Meyering  <meyering@redhat.com>
50757
50758         New modules: crypto/sha256, crypto/sha512 (from coreutils)
50759         * modules/crypto/sha256: New file.
50760         * modules/crypto/sha512: Likewise.
50761         * lib/sha256.c: Likewise.
50762         * lib/sha256.h: Likewise.
50763         * lib/sha512.c: Likewise.
50764         * lib/sha512.h: Likewise.
50765         * lib/u64.h: Likewise.
50766         * m4/sha256.m4: Likewise.
50767         * m4/sha512.m4: Likewise.
50768         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
50769
50770 2008-05-10  Bruno Haible  <bruno@clisp.org>
50771
50772         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
50773         (Input/Output <stdio.h>): Add xprintf.
50774         (Signal handling <signal.h>): Add strsignal.
50775         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
50776         (Core language properties): Add func.
50777         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
50778         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
50779         strings.
50780         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
50781         (Input/output): New section.
50782         (File system functions): Add openat-die, stat-macros.
50783         (Networking functions): Add sockets.
50784         (Unicode string functions): Add unictype/*.
50785         (Support for building libraries and executables): Add gperf.
50786         (Support for building documentation): Add agpl-3.0.
50787         (Misc): Add nocrash.
50788
50789 2008-05-10  Bruno Haible  <bruno@clisp.org>
50790
50791         * modules/unictype/gen-ctype: New file.
50792
50793 2008-05-10  Jim Meyering  <meyering@redhat.com>
50794
50795         Make chdir-safer.c more efficient on a system with no symlinks.
50796         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
50797         also if ELOOP is zero.  Suggested by Bruno Haible.
50798
50799         Make chdir-safer.c slightly safer.
50800         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
50801         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
50802
50803         Avoid compile failure on systems without ELOOP (like mingw).
50804         * lib/chdir-safer.c (ELOOP): Define if not already defined.
50805         Reported by Bruno Haible.
50806
50807 2008-05-10  Bruno Haible  <bruno@clisp.org>
50808
50809         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
50810         (is_utf8_encoding): Use a case-insensitive comparison.
50811         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
50812         streq.
50813
50814 2008-05-10  Bruno Haible  <bruno@clisp.org>
50815
50816         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
50817         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
50818         * lib/unilbrk/ulc-common.h (iconv_string_length,
50819         iconv_string_keeping_offsets): Remove declarations.
50820         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
50821         Don't include <iconv.h>, streq.h, xsize.h.
50822         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
50823         conversion.
50824         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
50825         <iconv.h>, streq.h, xsize.h.
50826         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
50827         conversion.
50828         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
50829         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
50830         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
50831         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
50832
50833 2008-05-10  Bruno Haible  <bruno@clisp.org>
50834
50835         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
50836         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
50837
50838         * modules/unilbrk/u32-width-linebreaks-tests: New file.
50839         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
50840
50841         * modules/unilbrk/u16-width-linebreaks-tests: New file.
50842         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
50843
50844         * modules/unilbrk/u8-width-linebreaks-tests: New file.
50845         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
50846
50847         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
50848         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
50849
50850         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
50851         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
50852
50853         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
50854         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
50855
50856         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
50857         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
50858
50859 2008-05-10  Bruno Haible  <bruno@clisp.org>
50860
50861         Split up 'linebreak' module.
50862         * lib/unilbrk.h: New file, based on lib/linebreak.h.
50863         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
50864         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
50865         modifications.
50866         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
50867         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
50868         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
50869         lib/linebreak.c.
50870         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
50871         lib/linebreak.c.
50872         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
50873         lib/linebreak.c.
50874         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
50875         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
50876         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
50877         lib/linebreak.c.
50878         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
50879         lib/linebreak.c.
50880         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
50881         lib/linebreak.c.
50882         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
50883         lib/linebreak.c.
50884         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
50885         lib/linebreak.c.
50886         * modules/unilbrk/base: New file.
50887         * modules/unilbrk/tables: New file.
50888         * modules/unilbrk/u8-possible-linebreaks: New file.
50889         * modules/unilbrk/u16-possible-linebreaks: New file.
50890         * modules/unilbrk/u32-possible-linebreaks: New file.
50891         * modules/unilbrk/ulc-common: New file.
50892         * modules/unilbrk/ulc-possible-linebreaks: New file.
50893         * modules/unilbrk/u8-width-linebreaks: New file.
50894         * modules/unilbrk/u16-width-linebreaks: New file.
50895         * modules/unilbrk/u32-width-linebreaks: New file.
50896         * modules/unilbrk/ulc-width-linebreaks: New file.
50897         * lib/linebreak.h: Remove file.
50898         * lib/linebreak.c: Remove file.
50899         * m4/linebreak.m4: Remove file.
50900         * modules/linebreak: Remove file.
50901         * NEWS: Mention the changes.
50902
50903 2008-05-09  Eric Blake  <ebb9@byu.net>
50904
50905         Add xmemdup0.
50906         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
50907         implementation.
50908         * lib/xmalloc.c (xmemdup0): New C implementation.
50909
50910 2008-05-08  Bruno Haible  <bruno@clisp.org>
50911
50912         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
50913
50914 2008-05-07  Eric Blake  <ebb9@byu.net>
50915
50916         Support cross-compilation of <wctype.h>.
50917         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
50918         AC_CACHE_CHECK.
50919
50920 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
50921
50922         * build-aux/vc-list-files: Add support for bzr.
50923
50924 2008-05-03  Jim Meyering  <meyering@redhat.com>
50925
50926         avoid failed assertion with tight malloc
50927         * tests/test-getndelim2.c: Correct an off-by-one assertion.
50928
50929 2008-05-03  Simon Josefsson  <simon@josefsson.org>
50930
50931         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
50932         are needed from arpa/inet.h.
50933         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
50934         Reported by Bruno Haible.
50935
50936 2008-05-02  Jim Meyering  <meyering@redhat.com>
50937
50938         avoid compilation error on FreeBSD 6
50939         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
50940
50941 2008-05-01  Jim Meyering  <meyering@redhat.com>
50942
50943         useless-if-before-free: correct --help's exit status description
50944         * build-aux/useless-if-before-free (usage): Like grep, exit 0
50945         for one or more matches, etc.  Reported by Bruno Haible.
50946
50947         vc-list-files: make the stand-alone gnulib test work
50948         * modules/vc-list-files-tests (configure.ac):
50949         Define and AC_SUBST abs_aux_dir.
50950         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
50951         $(abs_top_srcdir) to each script and having each of them
50952         duplicate the work of setting PATH, set PATH here, using
50953         the new variable, abs_aux_dir instead.
50954         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
50955         * tests/test-vc-list-files-git.sh: Likewise.
50956         Reported by Bruno Haible.
50957
50958 2008-05-01  Bruno Haible  <bruno@clisp.org>
50959
50960         * lib/getndelim2.c (getndelim2): Fix newsize computation during
50961         reallocation. Rename 'done' to 'found_delimiter'.
50962
50963 2008-05-01  Jim Meyering  <meyering@redhat.com>
50964
50965         vc-list-files: accommodate /bin/sh like the one from Solaris 10
50966         * build-aux/vc-list-files: Use `...`, not $(...).
50967
50968 2008-04-30  Jim Meyering  <meyering@redhat.com>
50969
50970         add tests for vc-list-files
50971         * modules/vc-list-files-tests: New module.
50972         * tests/test-vc-list-files-cvs.sh: New file.
50973         * tests/test-vc-list-files-git.sh: New file.
50974
50975         avoid a warning from gcc
50976         * lib/getndelim2.c (IF_LINT): Define.
50977         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
50978
50979         vc-list-files: work properly with build-aux/cvsu, too
50980         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
50981         to all cvs-based clauses.
50982
50983         vc-list-files: work properly in the CVS+awk case, too
50984         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
50985
50986         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
50987         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
50988         take more than one file argument, so .  Add quotes, just in case $dir
50989         ever contains a shell meta-character.  Prompted by Soren Hansen in
50990         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
50991
50992 2008-04-29  Eric Blake  <ebb9@byu.net>
50993
50994         Optimize getndelim2 to use block operations when possible.
50995         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
50996         freadseek, and memchr2.
50997         * lib/getndelim2.c (getndelim2): Use them for block reads.
50998
50999 2008-04-29  Bruno Haible  <bruno@clisp.org>
51000
51001         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
51002         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51003         * modules/inet_ntop (Depends-on): Add extensions.
51004         * modules/inet_pton (Depends-on): Likewise.
51005         Reported by Simon Josefsson.
51006
51007 2008-04-29  Jim Meyering  <meyering@redhat.com>
51008
51009         When the is more than one match in a block, match all of them.
51010         * build-aux/useless-if-before-free: Iterate through each block
51011         until there are no more matches.
51012
51013         Fix broken useless-if-before-free script.
51014         * build-aux/useless-if-before-free: Fix typo: missing "?" after
51015         the expression to match cast of argument to free-like function.
51016
51017 2008-04-29  Eric Blake  <ebb9@byu.net>
51018
51019         Use new header.
51020         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
51021
51022 2008-04-29  Jim Meyering  <meyering@redhat.com>
51023
51024         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
51025         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
51026         by gnulib to exist and to declare e.g., inet_ntop.
51027         Don't include "inet_ntop.h", now removed.
51028
51029         * m4/arpa_inet_h.m4: Remove trailing blanks.
51030
51031 2008-04-29  Eric Blake  <ebb9@byu.net>
51032
51033         Silence valgrind on safe reads beyond potential array bounds.
51034         * lib/rawmemchr.valgrind: New file.
51035         * lib/strchrnul.valgrind: Likewise.
51036         * modules/rawmemchr (Files): Distribute new file.
51037         * modules/strchrnul (Files): Likewise.
51038         Suggested by Bruno Haible.
51039
51040 2008-04-29  Bruno Haible  <bruno@clisp.org>
51041
51042         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
51043         (inet_ntop, inet_pton): Change portability warning's wording.
51044         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
51045         Invoke gl_CHECK_NEXT_HEADERS.
51046         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
51047         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
51048         set ARPA_INET_H.
51049         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
51050         * modules/arpa_inet (Description): No longer only for systems that
51051         lack it.
51052         (Depends-on): Add include_next.
51053         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
51054         HAVE_ARPA_INET_H.
51055
51056 2008-04-29  Jim Meyering  <meyering@redhat.com>
51057
51058         * modules/mkdir (License): Re-license as LGPLv2+.
51059
51060 2008-04-29  Bruno Haible  <bruno@clisp.org>
51061
51062         * modules/rawmemchr (Maintainer): Set to Eric.
51063         * modules/strchrnul (Maintainer): Likewise.
51064
51065 2008-04-29  Simon Josefsson  <simon@josefsson.org>
51066
51067         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
51068         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
51069
51070         * modules/arpa_inet (arpa/inet.h): Use them.
51071
51072 2008-04-28  Eric Blake  <ebb9@byu.net>
51073
51074         Test getndelim2.
51075         * modules/getndelim2-tests: New file.
51076         * tests/test-getndelim2.c: Likewise.
51077         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
51078         stream.
51079         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
51080
51081         * MODULES.html.sh: Document new module.
51082
51083 2008-04-20  Bruno Haible  <bruno@clisp.org>
51084
51085         * lib/c-stack.c (die): Use raise.
51086         * modules/c-stack (Depends-on): Add raise.
51087
51088 2008-04-28  Bruno Haible  <bruno@clisp.org>
51089
51090         Expect rpmatch to be declared.
51091         * lib/yesno.c (rpmatch): Remove declaration.
51092
51093         Declare rpmatch.
51094         * lib/stdlib.in.h (rpmatch): New declaration.
51095         * lib/rpmatch.c: Include <stdlib.h> first.
51096         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
51097         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
51098         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
51099         HAVE_RPMATCH.
51100         * modules/rpmatch (Depends-on): Add stdlib, extensions.
51101         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
51102         (Include): Set to <stdlib.h>.
51103         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
51104         HAVE_RPMATCH.
51105         * NEWS: Document the change.
51106
51107 2008-04-28  Bruno Haible  <bruno@clisp.org>
51108
51109         Change rpmatch to use nl_langinfo when appropriate.
51110         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
51111         (N_): New macro.
51112         (localized_pattern): New function/macro.
51113         (try): Remove match, nomatch arguments. Copy the pattern into safe
51114         memory before caching it.
51115         (rpmatch): Use localized_pattern. Add translator comments.
51116         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
51117         Suggested by Eric Blake.
51118         * modules/rpmatch (Depends-on): Add stdbool.
51119
51120 2008-04-28  Eric Blake  <ebb9@byu.net>
51121
51122         Add rawmemchr module, matching glibc.
51123         * modules/string (Makefile.am): New indicator.
51124         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
51125         * lib/string.in.h (rawmemchr): Declare when appropriate.
51126         * modules/rawmemchr: New file.
51127         * m4/rawmemchr.m4: Likewise.
51128         * lib/rawmemchr.c: Likewise.
51129         * modules/rawmemchr-tests: Likewise.
51130         * tests/test-rawmemchr.c: Likewise.
51131         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
51132         module.
51133         * modules/strchrnul (Depends-on): Add rawmemchr.
51134         * lib/strchrnul.c (strchrnul): Optimize a corner case.
51135
51136         Whitespace cleanup.
51137         * tests/test-strchrnul.c: Reindent.
51138         * lib/strchrnul.c: Likewise.
51139
51140         Optimize and test strchrnul.
51141         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
51142         * modules/strchrnul-tests: New file.
51143         * tests/test-strchrnul.c: Likewise.
51144
51145         Remove intprops dependency.
51146         * modules/memchr (Depends-on): Remove intprops.
51147         * modules/memrchr (Depends-on): Likewise.
51148         * modules/memchr2 (Depends-on): Likewise.
51149         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
51150         * lib/memrchr.c (__memrchr): Likewise.
51151         * lib/memrchr2.c (memchr2): Likewise.
51152         Reported by Simon Josefsson.
51153
51154 2008-04-28  Simon Josefsson  <simon@josefsson.org>
51155
51156         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
51157         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51158
51159 2008-04-28  Simon Josefsson  <simon@josefsson.org>
51160
51161         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
51162
51163         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
51164
51165         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
51166
51167         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
51168         declarations.
51169         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
51170
51171         * m4/inet_pton.m4: Don't check for header files.
51172
51173         * m4/inet_ntop.m4: Don't check for header files.
51174
51175 2008-04-28  Simon Josefsson  <simon@josefsson.org>
51176
51177         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
51178         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
51179         trigger for cygwin).
51180         Reported by Bruno Haible  <bruno@clisp.org>.
51181
51182 2008-04-28  Bruno Haible  <bruno@clisp.org>
51183
51184         * doc/posix-functions/strdup.texi: Mention mingw problem.
51185
51186 2008-04-27  Bruno Haible  <bruno@clisp.org>
51187
51188         * modules/stat-time-tests (Depends-on): Add sleep.
51189         * tests/test-stat-time.c (force_unlink): New function.
51190         (cleanup): Use it.
51191         (test_mtime): Remove the ctime related tests.
51192         (test_ctime): New function, containing the ctime related tests.
51193         (main): Call test_ctime, except on native Windows platforms.
51194
51195 2008-04-27  Bruno Haible  <bruno@clisp.org>
51196
51197         * lib/rpmatch.c (rpmatch): Add some comments.
51198         Reported by James Youngman <jay@gnu.org>.
51199
51200 2008-04-27  Bruno Haible  <bruno@clisp.org>
51201
51202         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
51203         quiet NaNs.
51204
51205 2008-04-27  Bruno Haible  <bruno@clisp.org>
51206
51207         Make test-yesno.sh work on mingw.
51208         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
51209         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
51210         (main): Set stdin to binary mode.
51211         * modules/yesno-tests (Depends-on): Add binary-io.
51212
51213 2008-04-27  Bruno Haible  <bruno@clisp.org>
51214
51215         Fix 'isfinite' on x86, x86_64, ia64 platforms.
51216         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
51217         argument that lie outside the IEEE 854 domain.
51218         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
51219         (gl_ISFINITE): Use it.
51220         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
51221
51222 2008-04-27  Bruno Haible  <bruno@clisp.org>
51223
51224         Allow local renaming in config.h.
51225         * lib/memrchr.c (memrchr): Don't undefine outside libc.
51226
51227 2008-04-27  Bruno Haible  <bruno@clisp.org>
51228
51229         * lib/memchr.c (__memchr): Change type of 'i'.
51230         * lib/memchr2.c (memchr2): Likewise.
51231
51232 2008-04-26  Eric Blake  <ebb9@byu.net>
51233         and Bruno Haible  <bruno@clisp.org>
51234
51235         Optimize and test memrchr.
51236         * modules/memrchr (Depends-on): Add intprops.
51237         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
51238         * modules/memrchr-tests: New file.
51239         * tests/test-memrchr.c: New file.
51240
51241 2008-04-26  Bruno Haible  <bruno@clisp.org>
51242
51243         Add tentative support for DragonFly BSD.
51244         * lib/stdio-impl.h: Add macros for DragonFly BSD.
51245         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
51246         fp.
51247         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
51248         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
51249         * lib/fpurge.c (fpurge): Likewise.
51250         * lib/freadable.c (freaadable): Likewise.
51251         * lib/freadahead.c (freadahead): Likewise.
51252         * lib/freading.c (freading): Likewise.
51253         * lib/freadptr.c (freadptr): Likewise.
51254         * lib/freadseek.c (freadptrinc): Likewise.
51255         * lib/fseeko.c (fseeko): Likewise.
51256         * lib/fseterr.c (fseterr): Likewise.
51257         * lib/fwritable.c (fwritable): Likewise.
51258         * lib/fwriting.c (fwriting): Likewise.
51259
51260 2008-04-26  Bruno Haible  <bruno@clisp.org>
51261
51262         * lib/stdio-impl.h: New file.
51263         * lib/fbufmode.c: Include stdio-impl.h.
51264         (fbufmode): Use fp_, remove redundant #defines.
51265         * lib/fflush.c: Include stdio-impl.h.
51266         (clear_ungetc_buffer): Remove redundant #defines.
51267         * lib/fpurge.c: Include stdio-impl.h.
51268         (fpurge): Remove redundant #defines.
51269         * lib/freadable.c: Include stdio-impl.h.
51270         (freadable): Remove redundant #defines.
51271         * lib/freadahead.c: Include stdio-impl.h.
51272         (freadahead): Remove redundant #defines.
51273         * lib/freading.c: Include stdio-impl.h.
51274         (freading): Remove redundant #defines.
51275         * lib/freadptr.c: Include stdio-impl.h.
51276         (freadptr): Remove redundant #defines.
51277         * lib/freadseek.c: Include stdio-impl.h.
51278         (freadptrinc): Remove redundant #defines.
51279         * lib/fseeko.c: Include stdio-impl.h.
51280         (rpl_fseeko): Remove redundant #defines.
51281         * lib/fseterr.c: Include stdio-impl.h.
51282         (fseterr): Remove redundant #defines.
51283         * lib/fwritable.c: Include stdio-impl.h.
51284         (fwritable: Remove redundant #defines.
51285         * lib/fwriting.c: Include stdio-impl.h.
51286         (fwriting): Remove redundant #defines.
51287         * modules/fbufmode (Files): Add lib/stdio-impl.h.
51288         * modules/fflush (Files): Likewise.
51289         * modules/fpurge (Files): Likewise.
51290         * modules/freadable (Files): Likewise.
51291         * modules/freadahead (Files): Likewise.
51292         * modules/freading (Files): Likewise.
51293         * modules/freadptr (Files): Likewise.
51294         * modules/freadseek (Files): Likewise.
51295         * modules/fseeko (Files): Likewise.
51296         * modules/fseterr (Files): Likewise.
51297         * modules/fwritable (Files): Likewise.
51298         * modules/fwriting (Files): Likewise.
51299
51300 2008-04-26  Bruno Haible  <bruno@clisp.org>
51301
51302         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
51303         restore_seek_optimization, update_fpos_cache): New functions, extracted
51304         from rpl_fflush.
51305         (rpl_fflush): Use them.
51306         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
51307         (gl_REPLACE_FFLUSH): Use it.
51308
51309 2008-04-26  Bruno Haible  <bruno@clisp.org>
51310
51311         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
51312         on Solaris.
51313         * tests/test-xstrtoimax.sh: Likewise.
51314         * tests/test-xstrtoumax.sh: Likewise.
51315         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51316
51317 2008-04-26  Bruno Haible  <bruno@clisp.org>
51318
51319         * modules/memchr-tests: New file.
51320         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
51321
51322 2008-04-26  Eric Blake  <ebb9@byu.net>
51323             Bruno Haible  <bruno@clisp.org>
51324
51325         * lib/memchr.c: Include intprops.h.
51326         (__memchr): Optimize parallel detection of matching bytes. Rename local
51327         variables. Add explanatory comments.
51328
51329 2008-04-26  Bruno Haible  <bruno@clisp.org>
51330
51331         Fix module 'memchr', broken since 2000-10-28.
51332         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
51333
51334 2008-04-26  Bruno Haible  <bruno@clisp.org>
51335
51336         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
51337         comments.
51338
51339 2008-04-25  Eric Blake  <ebb9@byu.net>
51340
51341         Use native fstatat on cygwin 1.7.0.
51342         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
51343         first.
51344
51345 2008-04-23  Eric Blake  <ebb9@byu.net>
51346
51347         Improve memchr2 performance.
51348         * lib/memchr2.c (memchr2): Further optimize parallel detection of
51349         NUL bytes.
51350         * modules/memchr2 (Depends-on): Use intprops.h.
51351
51352 2008-04-23  Simon Josefsson  <simon@josefsson.org>
51353
51354         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
51355         an inline function instead of a CPP macro.  Patch by Ben Pfaff
51356         <blp@cs.stanford.edu>.
51357
51358 2008-04-23  Simon Josefsson  <simon@josefsson.org>
51359
51360         * lib/arpa_inet.in.h: New file.
51361
51362         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
51363         (Makefile.am): Sed in substitute header file.
51364
51365         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
51366         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
51367
51368         * modules/inet_ntop (configure.ac): Use
51369         gl_ARPA_INET_MODULE_INDICATOR.
51370
51371         * modules/inet_pton (configure.ac): Use
51372         gl_ARPA_INET_MODULE_INDICATOR.
51373
51374 2008-04-22  Jim Meyering  <meyering@redhat.com>
51375
51376         * modules/verify (License): Re-license as LGPLv2+.
51377
51378 2008-04-22  Simon Josefsson  <simon@josefsson.org>
51379
51380         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
51381         parameter to void* as per POSIX standard (MinGW uses char*).
51382
51383 2008-04-21  Bruno Haible  <bruno@clisp.org>
51384
51385         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
51386         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
51387         Define to replacements if REPLACE_ISWCNTRL is 1.
51388         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
51389         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
51390         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
51391         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
51392         what it fixes.
51393         * doc/posix-functions/iswalpha.texi: Likewise.
51394         * doc/posix-functions/iswblank.texi: Likewise.
51395         * doc/posix-functions/iswcntrl.texi: Likewise.
51396         * doc/posix-functions/iswdigit.texi: Likewise.
51397         * doc/posix-functions/iswgraph.texi: Likewise.
51398         * doc/posix-functions/iswlower.texi: Likewise.
51399         * doc/posix-functions/iswprint.texi: Likewise.
51400         * doc/posix-functions/iswpunct.texi: Likewise.
51401         * doc/posix-functions/iswspace.texi: Likewise.
51402         * doc/posix-functions/iswupper.texi: Likewise.
51403         * doc/posix-functions/iswxdigit.texi: Likewise.
51404         Reported by Alain Guibert.
51405
51406 2008-04-21  Bruno Haible  <bruno@clisp.org>
51407
51408         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
51409         Patch by Alain Guibert.
51410
51411 2008-04-21  Bruno Haible  <bruno@clisp.org>
51412
51413         Fix test failures on mingw.
51414         * tests/test-xstrtol.c (print_no_progname): New function.
51415         (main): Install it in error_print_progname hook.
51416         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
51417         * tests/test-xstrtoimax.sh: Likewise.
51418         * tests/test-xstrtoumax.sh: Likewise.
51419
51420 2008-04-21  Bruno Haible  <bruno@clisp.org>
51421
51422         Fix test failure on mingw.
51423         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
51424
51425 2008-04-21  Bruno Haible  <bruno@clisp.org>
51426
51427         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
51428         Actually assign a value.
51429
51430 2008-04-20  Bruno Haible  <bruno@clisp.org>
51431
51432         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
51433         take 2.
51434         * lib/canonicalize.c (canonicalize_file_name): Elide if the
51435         'canonicalize-lgpl' module is also used.
51436         * lib/canonicalize-lgpl.c: Undo last change.
51437         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
51438
51439 2008-04-20  Bruno Haible  <bruno@clisp.org>
51440
51441         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
51442         config.h. Provide _mkdir based fallback for mingw.
51443         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
51444         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
51445         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
51446         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
51447         rather than defining mkdir in config.h.
51448         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
51449         (gl_SYS_STAT_H_DEFAULTS): New macro.
51450         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
51451         HAVE_IO_H any more.
51452         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
51453         HAVE_DECL_MKDIR and HAVE_IO_H.
51454
51455 2008-04-20  Bruno Haible  <bruno@clisp.org>
51456
51457         * lib/isapipe.c: Port to native Windows platforms.
51458
51459 2008-04-20  Bruno Haible  <bruno@clisp.org>
51460
51461         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
51462
51463 2008-04-21  Eric Blake  <ebb9@byu.net>
51464
51465         Work around preprocessors that don't handle UINTMAX_MAX.
51466         * lib/memchr2.c (memchr2): Avoid embedded #if.
51467         Reported by Alain Guibert, fix suggested by Bruno Haible.
51468
51469 2008-04-21  Simon Josefsson  <simon@josefsson.org>
51470
51471         * doc/posix-functions/strftime.texi (strftime): Explain better
51472         Windows incompatibility.  Suggested by Micah Cowan
51473         <micah@cowan.name>.
51474
51475 2008-04-20  Bruno Haible  <bruno@clisp.org>
51476
51477         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
51478         unistr/u8-mblen.
51479
51480 2008-04-20  Bruno Haible  <bruno@clisp.org>
51481
51482         Fix test failure on platforms with non-GNU iconv.
51483         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
51484         (U_TO_U8): Use it, rather than u16_to_u8.
51485         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
51486         units at the end of the input string.
51487         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
51488
51489 2008-04-20  Bruno Haible  <bruno@clisp.org>
51490
51491         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
51492         when the resulting length is 0.
51493         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
51494
51495 2008-04-20  Bruno Haible  <bruno@clisp.org>
51496
51497         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
51498         works.
51499         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
51500
51501 2008-04-20  Bruno Haible  <bruno@clisp.org>
51502
51503         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
51504         * modules/tsearch-tests (configure.ac): Test for initstate function.
51505
51506 2008-04-20  Bruno Haible  <bruno@clisp.org>
51507
51508         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
51509         for nlink_t if missing.
51510         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
51511
51512 2008-04-19  Bruno Haible  <bruno@clisp.org>
51513
51514         Work around snprintf bug on Linux libc5.
51515         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
51516         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
51517         gl_SNPRINTF_SIZE1.
51518         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51519         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
51520         that test failed.
51521         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
51522         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
51523         * modules/snprintf (Files): Add m4/printf.m4.
51524         * modules/vsnprintf (Files): Likewise.
51525         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
51526         * doc/posix-functions/vsnprintf.texi: Likewise.
51527
51528 2008-04-19  Bruno Haible  <bruno@clisp.org>
51529
51530         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
51531         from 0.0058 to less than 10^-7.
51532
51533 2008-04-19  Bruno Haible  <bruno@clisp.org>
51534
51535         Fix rounding when a precision is given.
51536         * lib/vasnprintf.c (is_borderline): New function.
51537         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
51538         9...9x.
51539         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
51540         %e, %g.
51541         * tests/test-vasprintf-posix.c (test_function): Likewise.
51542         * tests/test-snprintf-posix.h (test_function): Likewise.
51543         * tests/test-sprintf-posix.h (test_function): Likewise.
51544         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
51545         * tests/test-printf-posix.h (test_function): Likewise.
51546         * tests/test-printf-posix.output: Update.
51547         Reported by John Darrington <john@darrington.wattle.id.au> via
51548         Ben Pfaff <blp@cs.stanford.edu>.
51549
51550 2008-04-18  Simon Josefsson  <simon@josefsson.org>
51551
51552         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
51553         Suggested by Bruno Haible <bruno@clisp.org>.
51554
51555 2008-04-17  Bruno Haible  <bruno@clisp.org>
51556
51557         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
51558         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
51559         implementation.
51560         Patch by Bruce Merry <bmerry@gmail.com>.
51561
51562 2008-04-17  Simon Josefsson  <simon@josefsson.org>
51563
51564         * doc/posix-functions/strftime.texi (strftime): Mention that %e
51565         doesn't work under Windows.
51566
51567 2008-04-16  Bruno Haible  <bruno@clisp.org>
51568
51569         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
51570         New macros.
51571         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
51572         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
51573         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
51574         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
51575         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
51576         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
51577         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
51578         macros.
51579         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
51580         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
51581         Northern Sotho, Uighur.
51582
51583 2008-04-16  Bruno Haible  <bruno@clisp.org>
51584
51585         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
51586         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
51587         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
51588         Reported by Daniel Bergström <daniel@octocode.com>.
51589
51590 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
51591             Bruno Haible  <bruno@clisp.org>
51592
51593         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
51594         function.
51595         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
51596         New functions, mostly extracted from gl_locale_name_default.
51597         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
51598
51599 2008-04-16  Eric Blake  <ebb9@byu.net>
51600
51601         Adjust strtod detection to catch glibc 2.7 bug.
51602         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
51603         Reported by John Gatewood Ham.
51604
51605 2008-04-16  Bruno Haible  <bruno@clisp.org>
51606
51607         Add tentative support for Linux libc5.
51608         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
51609         * lib/fpurge.c (fpurge): Likewise.
51610         * lib/freadable.c (freadable): Likewise.
51611         * lib/freadahead.c (freadahead): Likewise.
51612         * lib/freading.c (freading): Likewise.
51613         * lib/freadptr.c (freadptr): Likewise.
51614         * lib/freadseek.c (freadptrinc): Likewise.
51615         * lib/fseeko.c (rpl_fseeko): Likewise.
51616         * lib/fseterr.c (fseterr): Likewise.
51617         * lib/fwritable.c (fwritable): Likewise.
51618         * lib/fwriting.c (fwriting): Likewise.
51619         Reported by Alain Guibert <alguibert+bts@free.fr>.
51620
51621 2008-04-15  Bruno Haible  <bruno@clisp.org>
51622
51623         * modules/mathl (configure.ac): Define module indicator.
51624
51625 2008-04-15  Bruno Haible  <bruno@clisp.org>
51626
51627         * lib/logl.c (logl): Remove unused variables.
51628
51629 2008-04-15  Bruno Haible  <bruno@clisp.org>
51630
51631         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
51632         fails.
51633
51634 2008-04-15  Bruno Haible  <bruno@clisp.org>
51635
51636         * lib/trim.c (trim2): Fix argument of isspace() macro.
51637
51638 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
51639
51640         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
51641         to 0.
51642         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
51643
51644 2008-04-14  Bruno Haible  <bruno@clisp.org>
51645
51646         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
51647         AC_LANG_PROGRAM argument.
51648         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
51649         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
51650         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
51651         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
51652         * m4/math_h.m4 (gl_MATH_H): Likewise.
51653         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
51654         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
51655         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
51656         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
51657         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
51658         * m4/regex.m4 (gl_REGEX): Likewise.
51659         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
51660         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
51661         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
51662         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
51663         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
51664         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
51665         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
51666         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
51667
51668 2008-04-14  Jim Meyering  <meyering@redhat.com>
51669
51670         test-strtod: fix typos: s/abs/fabs/
51671         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
51672
51673 2008-04-13  Bruno Haible  <bruno@clisp.org>
51674
51675         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
51676         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
51677         module is also used and while not building the reloc-wrapper.
51678
51679 2008-04-13  Bruno Haible  <bruno@clisp.org>
51680
51681         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
51682
51683 2008-04-13  Bruno Haible  <bruno@clisp.org>
51684
51685         Fix AIX compilation failure introduced on 2008-04-02.
51686         * tests/test-frexp.c (exp): Undefine before redefining.
51687         * tests/test-frexpl.c (exp): Likewise.
51688
51689 2008-04-13  Bruno Haible  <bruno@clisp.org>
51690
51691         Work around a HP-UX stdio bug.
51692         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
51693         * tests/test-ftello.c (main): Likewise.
51694         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
51695         * doc/posix-functions/ftello.texi: Likewise.
51696
51697 2008-04-13  Bruno Haible  <bruno@clisp.org>
51698
51699         Make test-signbit pass on HP-UX/hppa.
51700         * tests/test-signbit.c (minus_zerol): New variable.
51701         (test_signbitl): Use it.
51702
51703 2008-04-13  Bruno Haible  <bruno@clisp.org>
51704
51705         Make truncl work on OSF/1 4.0.
51706         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
51707         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
51708         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
51709         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
51710         HAVE_DECL_TRUNCL.
51711         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
51712         HAVE_DECL_TRUNCL.
51713         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
51714
51715 2008-04-13  Bruno Haible  <bruno@clisp.org>
51716
51717         * lib/unictype.h: Remove trailing comma from enumeration definitions.
51718
51719 2008-04-13  Bruno Haible  <bruno@clisp.org>
51720
51721         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
51722         expression, so as to avoid HP-UX 11 cc compiler bug.
51723
51724 2008-04-13  Bruno Haible  <bruno@clisp.org>
51725
51726         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
51727
51728 2008-04-13  Bruno Haible  <bruno@clisp.org>
51729
51730         * lib/git-merge-changelog.c: Remove empty declaration outside of
51731         functions.
51732
51733 2008-04-13  Bruno Haible  <bruno@clisp.org>
51734
51735         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
51736
51737 2008-04-13  Bruno Haible  <bruno@clisp.org>
51738
51739         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
51740         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
51741         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
51742         also if it exists but lacks definitions of the SHUT_* macros.
51743         * modules/sys_socket (Description): Update.
51744         Reported by Elbert Pol <e.pol@chello.nl>.
51745
51746 2008-04-13  Bruno Haible  <bruno@clisp.org>
51747
51748         * lib/localcharset.c (OS2): Don't redefine if already defined.
51749         Reported by Elbert Pol <e.pol@chello.nl>.
51750
51751 2008-04-13  Bruno Haible  <bruno@clisp.org>
51752
51753         * lib/binary-io.h [__EMX__]: Include <io.h>.
51754         Reported by Elbert Pol <e.pol@chello.nl>.
51755
51756 2008-04-12  Bruno Haible  <bruno@clisp.org>
51757
51758         * lib/fpucw.h: Enable the definitions also for x86_64.
51759         Needed for NetBSD/x86_64.
51760         Reported by Thomas Klausner <tk@giga.or.at>.
51761
51762 2008-04-12  Bruno Haible  <bruno@clisp.org>
51763
51764         * tests/test-strtod.c: Include isnand.h.
51765         (main): Use isnand instead of isnan.
51766         Reported by Jim Meyering.
51767
51768 2008-04-12  Bruno Haible  <bruno@clisp.org>
51769
51770         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
51771         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
51772
51773 2008-04-12  Jim Meyering  <meyering@redhat.com>
51774
51775         * m4/math_h.m4 (gl_MATH_H): Fix typos.
51776
51777 2008-04-12  Bruno Haible  <bruno@clisp.org>
51778
51779         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
51780         Reported by Elbert Pol <e.pol@chello.nl>.
51781
51782 2008-04-12  Eric Blake  <ebb9@byu.net>
51783
51784         Work around Solaris 10 math.h bug.
51785         * m4/math_h.m4 (gl_MATH_H): Check for bug.
51786         (gl_MATH_H_DEFAULTS): Set up default.
51787         * modules/math (Makefile.am): Replace new indicators.
51788         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
51789         * tests/test-math.c (main): Test this.
51790         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
51791         * doc/posix-headers/math.texi (math.h): Mention bug.
51792         Reported by Nelson H. F. Beebe and Jim Meyering.
51793
51794 2008-04-11  Bruno Haible  <bruno@clisp.org>
51795
51796         Adapt to future versions of Apple GCC.
51797         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
51798         Reported by Peter O'Gorman <peter@pogma.com>.
51799
51800 2008-04-11  Bruno Haible  <bruno@clisp.org>
51801
51802         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
51803
51804 2008-04-11  Bruno Haible  <bruno@clisp.org>
51805
51806         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
51807
51808         * modules/getaddrinfo-tests (Makefile.am): Define
51809         test_getaddrinfo_LDADD.
51810
51811 2008-04-11  Bruno Haible  <bruno@clisp.org>
51812
51813         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
51814         (init): Fix syntax error.
51815         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
51816         is declared.
51817
51818 2008-04-11  Bruno Haible  <bruno@clisp.org>
51819
51820         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
51821         * modules/glob (Depends-on): Add stdbool.
51822
51823 2008-04-11  Bruno Haible  <bruno@clisp.org>
51824
51825         * lib/trim.c: Include <string.h>.
51826
51827 2008-04-11  Eric Blake  <ebb9@byu.net>
51828
51829         Avoid compile failure on OS/2.
51830         * lib/regex_internal.h (internal_function): Disable optimization
51831         on OS/2 (__EMX__), where it caused compiler error.
51832         Reported by Elbert Pol.
51833
51834 2008-04-11  Bruno Haible  <bruno@clisp.org>
51835
51836         Flush the standard error stream before aborting. Needed on mingw.
51837         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
51838         * tests/test-array_list.c (ASSERT): Likewise.
51839         * tests/test-array_oset.c (ASSERT): Likewise.
51840         * tests/test-avltree_list.c (ASSERT): Likewise.
51841         * tests/test-avltree_oset.c (ASSERT): Likewise.
51842         * tests/test-avltreehash_list.c (ASSERT): Likewise.
51843         * tests/test-binary-io.c (ASSERT): Likewise.
51844         * tests/test-byteswap.c (ASSERT): Likewise.
51845         * tests/test-c-ctype.c (ASSERT): Likewise.
51846         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
51847         * tests/test-c-strcasestr.c (ASSERT): Likewise.
51848         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
51849         * tests/test-c-strstr.c (ASSERT): Likewise.
51850         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
51851         * tests/test-canonicalize.c (ASSERT): Likewise.
51852         * tests/test-carray_list.c (ASSERT): Likewise.
51853         * tests/test-ceilf1.c (ASSERT): Likewise.
51854         * tests/test-ceilf2.c (ASSERT): Likewise.
51855         * tests/test-ceill.c (ASSERT): Likewise.
51856         * tests/test-count-one-bits.c (ASSERT): Likewise.
51857         * tests/test-fbufmode.c (ASSERT): Likewise.
51858         * tests/test-fflush2.c (ASSERT): Likewise.
51859         * tests/test-floorf1.c (ASSERT): Likewise.
51860         * tests/test-floorf2.c (ASSERT): Likewise.
51861         * tests/test-floorl.c (ASSERT): Likewise.
51862         * tests/test-fopen.c (ASSERT): Likewise.
51863         * tests/test-fpending.c (ASSERT): Likewise.
51864         * tests/test-fprintf-posix.c (ASSERT): Likewise.
51865         * tests/test-fpurge.c (ASSERT): Likewise.
51866         * tests/test-freadable.c (ASSERT): Likewise.
51867         * tests/test-freadahead.c (ASSERT): Likewise.
51868         * tests/test-freading.c (ASSERT): Likewise.
51869         * tests/test-freadptr.c (ASSERT): Likewise.
51870         * tests/test-freadptr2.c (ASSERT): Likewise.
51871         * tests/test-freadseek.c (ASSERT): Likewise.
51872         * tests/test-freopen.c (ASSERT): Likewise.
51873         * tests/test-frexp.c (ASSERT): Likewise.
51874         * tests/test-frexpl.c (ASSERT): Likewise.
51875         * tests/test-fseek.c (ASSERT): Likewise.
51876         * tests/test-fseeko.c (ASSERT): Likewise.
51877         * tests/test-fstrcmp.c (ASSERT): Likewise.
51878         * tests/test-ftell.c (ASSERT): Likewise.
51879         * tests/test-ftello.c (ASSERT): Likewise.
51880         * tests/test-func.c (ASSERT): Likewise.
51881         * tests/test-fwritable.c (ASSERT): Likewise.
51882         * tests/test-fwriting.c (ASSERT): Likewise.
51883         * tests/test-getdelim.c (ASSERT): Likewise.
51884         * tests/test-getline.c (ASSERT): Likewise.
51885         * tests/test-i-ring.c (ASSERT): Likewise.
51886         * tests/test-iconv-utf.c (ASSERT): Likewise.
51887         * tests/test-iconv.c (ASSERT): Likewise.
51888         * tests/test-isfinite.c (ASSERT): Likewise.
51889         * tests/test-isnand.c (ASSERT): Likewise.
51890         * tests/test-isnanf.c (ASSERT): Likewise.
51891         * tests/test-isnanl.h (ASSERT): Likewise.
51892         * tests/test-ldexpl.c (ASSERT): Likewise.
51893         * tests/test-linked_list.c (ASSERT): Likewise.
51894         * tests/test-linkedhash_list.c (ASSERT): Likewise.
51895         * tests/test-localename.c (ASSERT): Likewise.
51896         * tests/test-lseek.c (ASSERT): Likewise.
51897         * tests/test-mbscasecmp.c (ASSERT): Likewise.
51898         * tests/test-mbscasestr1.c (ASSERT): Likewise.
51899         * tests/test-mbscasestr2.c (ASSERT): Likewise.
51900         * tests/test-mbscasestr3.c (ASSERT): Likewise.
51901         * tests/test-mbscasestr4.c (ASSERT): Likewise.
51902         * tests/test-mbschr.c (ASSERT): Likewise.
51903         * tests/test-mbscspn.c (ASSERT): Likewise.
51904         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
51905         * tests/test-mbspbrk.c (ASSERT): Likewise.
51906         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
51907         * tests/test-mbsrchr.c (ASSERT): Likewise.
51908         * tests/test-mbsspn.c (ASSERT): Likewise.
51909         * tests/test-mbsstr1.c (ASSERT): Likewise.
51910         * tests/test-mbsstr2.c (ASSERT): Likewise.
51911         * tests/test-mbsstr3.c (ASSERT): Likewise.
51912         * tests/test-memchr2.c (ASSERT): Likewise.
51913         * tests/test-memmem.c (ASSERT): Likewise.
51914         * tests/test-open.c (ASSERT): Likewise.
51915         * tests/test-printf-frexp.c (ASSERT): Likewise.
51916         * tests/test-printf-frexpl.c (ASSERT): Likewise.
51917         * tests/test-printf-posix.c (ASSERT): Likewise.
51918         * tests/test-quotearg.c (ASSERT): Likewise.
51919         * tests/test-rbtree_list.c (ASSERT): Likewise.
51920         * tests/test-rbtree_oset.c (ASSERT): Likewise.
51921         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
51922         * tests/test-round1.c (ASSERT): Likewise.
51923         * tests/test-roundf1.c (ASSERT): Likewise.
51924         * tests/test-roundl.c (ASSERT): Likewise.
51925         * tests/test-signbit.c (ASSERT): Likewise.
51926         * tests/test-sleep.c (ASSERT): Likewise.
51927         * tests/test-snprintf-posix.c (ASSERT): Likewise.
51928         * tests/test-snprintf.c (ASSERT): Likewise.
51929         * tests/test-sprintf-posix.c (ASSERT): Likewise.
51930         * tests/test-stat-time.c (ASSERT): Likewise.
51931         * tests/test-strcasestr.c (ASSERT): Likewise.
51932         * tests/test-strerror.c (ASSERT): Likewise.
51933         * tests/test-striconv.c (ASSERT): Likewise.
51934         * tests/test-striconveh.c (ASSERT): Likewise.
51935         * tests/test-striconveha.c (ASSERT): Likewise.
51936         * tests/test-strsignal.c (ASSERT): Likewise.
51937         * tests/test-strstr.c (ASSERT): Likewise.
51938         * tests/test-strtod.c (ASSERT): Likewise.
51939         * tests/test-trunc1.c (ASSERT): Likewise.
51940         * tests/test-trunc2.c (ASSERT): Likewise.
51941         * tests/test-truncf1.c (ASSERT): Likewise.
51942         * tests/test-truncf2.c (ASSERT): Likewise.
51943         * tests/test-truncl.c (ASSERT): Likewise.
51944         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
51945         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
51946         * tests/test-vasnprintf.c (ASSERT): Likewise.
51947         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
51948         * tests/test-vasprintf.c (ASSERT): Likewise.
51949         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
51950         * tests/test-vprintf-posix.c (ASSERT): Likewise.
51951         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
51952         * tests/test-vsnprintf.c (ASSERT): Likewise.
51953         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
51954         * tests/test-wcwidth.c (ASSERT): Likewise.
51955         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
51956         * tests/test-xprintf-posix.c (ASSERT): Likewise.
51957         * tests/test-xvasprintf.c (ASSERT): Likewise.
51958         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
51959         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
51960         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
51961         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
51962         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
51963         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
51964         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
51965         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
51966         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
51967         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
51968         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
51969         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
51970         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
51971         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
51972         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
51973         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
51974         * tests/unictype/test-block_list.c (ASSERT): Likewise.
51975         * tests/unictype/test-block_of.c (ASSERT): Likewise.
51976         * tests/unictype/test-block_test.c (ASSERT): Likewise.
51977         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
51978         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
51979         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
51980         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
51981         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
51982         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
51983         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
51984         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
51985         * tests/unictype/test-combining.c (ASSERT): Likewise.
51986         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
51987         * tests/unictype/test-digit.c (ASSERT): Likewise.
51988         * tests/unictype/test-mirror.c (ASSERT): Likewise.
51989         * tests/unictype/test-numeric.c (ASSERT): Likewise.
51990         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
51991         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
51992         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
51993         * tests/unictype/test-scripts.c (ASSERT): Likewise.
51994         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
51995         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
51996         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
51997         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
51998         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
51999         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
52000         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
52001         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
52002         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
52003         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
52004         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
52005         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
52006         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
52007         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
52008         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
52009         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
52010         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
52011         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
52012         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
52013         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
52014         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
52015         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
52016         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
52017         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
52018         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
52019         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
52020         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
52021         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
52022         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
52023         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
52024         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
52025         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
52026         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
52027         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
52028         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
52029         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
52030         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
52031         Reported by Eric Blake.
52032
52033 2008-04-11  Bruno Haible  <bruno@clisp.org>
52034
52035         * lib/wchar.in.h: Tweak comment.
52036
52037 2008-04-11  Bruno Haible  <bruno@clisp.org>
52038
52039         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
52040         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
52041         gl_COMMON.
52042         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
52043
52044 2008-04-11  Bruno Haible  <bruno@clisp.org>
52045
52046         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
52047
52048 2008-04-11  Simon Josefsson  <simon@josefsson.org>
52049
52050         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
52051         of attempting to use non-existing /dev/*random.  Based on patch
52052         from Adam Strzelecki <ono@java.pl> in
52053         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
52054
52055 2008-04-08  Bruno Haible  <bruno@clisp.org>
52056
52057         Add tentative support for emx+gcc.
52058         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
52059         * lib/fpurge.c (fpurge): Likewise.
52060         * lib/freadable.c (freadable): Likewise.
52061         * lib/freadahead.c (freadahead): Likewise.
52062         * lib/freading.c (freading): Likewise.
52063         * lib/freadptr.c (freadptr): Likewise.
52064         * lib/freadseek.c (freadptrinc): Likewise.
52065         * lib/fseeko.c (rpl_fseeko): Likewise.
52066         * lib/fseterr.c (fseterr): Likewise.
52067         * lib/fwritable.c (fwritable): Likewise.
52068         * lib/fwriting.c (fwriting): Likewise.
52069         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
52070
52071 2008-04-09  Eric Blake  <ebb9@byu.net>
52072
52073         Avoid some autoconf warnings.
52074         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
52075         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
52076         * m4/afs.m4 (gl_AFS): Likewise.
52077         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
52078         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
52079         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
52080         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
52081         (gl_INTEGER_TYPE_SUFFIX): Likewise.
52082         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
52083         (AC_CHECK_DECLS_ONCE): Likewise.
52084         Rename file...
52085         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
52086         gnulib-tool requires autoconf 2.59 or better.
52087         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
52088
52089 2008-04-08  Eric Blake  <ebb9@byu.net>
52090
52091         Use 'git describe --match' if present (added in git 1.5.5).
52092         * build-aux/git-version-gen: Limit result to tags that match 'v*'
52093         if possible.
52094
52095 2008-04-08  Bruno Haible  <bruno@clisp.org>
52096
52097         Add tentative support for OpenServer.
52098         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
52099         _ptr, _cnt.
52100         * lib/fpurge.c (fpurge): Likewise.
52101         * lib/freadable.c (freadable): Likewise.
52102         * lib/freadahead.c (freadahead): Likewise.
52103         * lib/freading.c (freading): Likewise.
52104         * lib/freadptr.c (freadptr): Likewise.
52105         * lib/freadseek.c (freadptrinc): Likewise.
52106         * lib/fseeko.c (rpl_fseeko): Likewise.
52107         * lib/fseterr.c (fseterr): Likewise.
52108         * lib/fwritable.c (fwritable): Likewise.
52109         * lib/fwriting.c (fwriting): Likewise.
52110         Reported by Roger Cornelius <rac@tenzing.org> and
52111         Brian K. White <brian@aljex.com>.
52112
52113 2008-04-06  Jim Meyering  <meyering@redhat.com>
52114
52115         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
52116
52117 2008-04-06  Bruno Haible  <bruno@clisp.org>
52118
52119         Avoid possible error with non-ASCII bytes in UTF-8 locales.
52120         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
52121         * tests/test-printf-posix.sh: Likewise.
52122         * tests/test-vfprintf-posix.sh: Likewise.
52123         * tests/test-vprintf-posix.sh: Likewise.
52124         * tests/test-xprintf-posix.sh: Likewise.
52125
52126 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52127
52128         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
52129         hide error from 'ls', needed on OS/2.
52130         Report by Elbert Pol <elbert.pol@gmail.com>.
52131
52132 2008-04-04  Eric Blake  <ebb9@byu.net>
52133
52134         Make test-fseeko.c failures meaningful.
52135         * tests/test-fseeko.c: Print line number on failure.
52136         * tests/test-fseek.c: Likewise.
52137         Reported by Nelson H. F. Beebe.
52138
52139         Improve strtod bug detection check.
52140         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
52141         required for Solaris 10.
52142         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
52143
52144 2008-04-04  Bruno Haible  <bruno@clisp.org>
52145
52146         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
52147         by m4/setenv.m4.
52148
52149 2008-04-03  Eric Blake  <ebb9@byu.net>
52150
52151         Ensure sane .version contents.
52152         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
52153         version string.
52154         * build-aux/git-version-gen: Improve documentation.
52155
52156         Make GNU make output nicer.
52157         * top/GNUmakefile [!_have-Makefile]: Add dependency on
52158         MAKECMDGOALS to enforce message for all command line targets.  Set
52159         srcdir for use in maint.mk.
52160
52161         Another maintainer tweak.
52162         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
52163         a target that regenerates version.
52164
52165 2008-04-03  Jim Meyering  <meyering@redhat.com>
52166
52167         vc-list-files: don't cause coreutils "make po-check" failure
52168         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
52169
52170 2008-04-03  Eric Blake  <ebb9@byu.net>
52171
52172         Allow VPATH usage of vc-list-files.
52173         * build-aux/vc-list-files (scriptversion): Add timestamp.
52174         (options): Add --help, --version, -C.
52175         (CVS): Support installed cvsu.
52176
52177 2008-04-02  Bruno Haible  <bruno@clisp.org>
52178
52179         Avoid some "statement with no effect" warnings from gcc.
52180         * tests/test-wctype.c (main): Explicitly ignore unused values.
52181         Reported by Jim Meyering.
52182
52183 2008-04-02  Jim Meyering  <meyering@redhat.com>
52184
52185         Avoid some warnings from "gcc -Wshadow".
52186         * tests/test-frexp.c (exp): Define to a different identifier.
52187         * tests/test-frexpl.c (exp): Likewise.
52188
52189 2008-04-03  Jim Meyering  <meyering@redhat.com>
52190
52191         bootstrap: remove dangling *.[ch] symlinks from lib
52192         * build-aux/bootstrap [dangling symlink removal]: Move find's
52193         -depth option to precede all others, to avoid a warning.
52194         Remove *.[ch] files too, and from "$source_base" (usually lib/).
52195
52196 2008-04-02  Bruno Haible  <bruno@clisp.org>
52197
52198         Avoid some warnings from "gcc -Wshadow".
52199         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
52200         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
52201         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
52202         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
52203         Reported by Jim Meyering.
52204
52205 2008-04-01  Bruno Haible  <bruno@clisp.org>
52206
52207         Fix test to work on IRIX 6.5 with cc.
52208         * tests/test-math.c (numeric_equal): New function.
52209         (main): Use it.
52210
52211 2008-04-01  Bruno Haible  <bruno@clisp.org>
52212
52213         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
52214
52215 2008-04-01  Bruno Haible  <bruno@clisp.org>
52216
52217         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
52218         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
52219         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
52220         (Depends-on): Remove math.
52221
52222         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
52223         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
52224         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
52225         (Depends-on): Remove math.
52226
52227         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
52228         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
52229         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
52230         (Depends-on): Remove math.
52231         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
52232         (Depends-on): Remove math.
52233
52234         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
52235         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
52236         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
52237         (Depends-on): Remove math.
52238         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
52239         (Depends-on): Remove math.
52240
52241         * tests/test-round1.c: Include nan.h.
52242         (main): Use NaNd instead of NAN.
52243         * modules/round-tests (Files): Add tests/nan.h.
52244
52245         * tests/test-trunc1.c: Include nan.h.
52246         (main): Use NaNd instead of NAN.
52247         * modules/trunc-tests (Files): Add tests/nan.h.
52248
52249         * tests/test-roundf1.c: Include nan.h.
52250         (main): Use NaNf instead of NAN.
52251         * modules/roundf-tests (Files): Add tests/nan.h.
52252
52253         * tests/test-truncf1.c: Include nan.h.
52254         (main): Use NaNf instead of NAN.
52255         * modules/truncf-tests (Files): Add tests/nan.h.
52256
52257         * tests/test-ceilf1.c: Include nan.h.
52258         (main): Use NaNf instead of NAN.
52259         * modules/ceilf-tests (Files): Add tests/nan.h.
52260
52261         * tests/test-floorf1.c: Include nan.h.
52262         (main): Use NaNf instead of NAN.
52263         * modules/floorf-tests (Files): Add tests/nan.h.
52264
52265         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
52266         (main): Use NaNf instead of NAN.
52267         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
52268
52269         * tests/test-isnand.c: Include nan.h instead of <math.h>.
52270         (main): Use NaNd instead of NAN.
52271         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
52272
52273         * tests/test-frexp.c: Include nan.h.
52274         (main): Use NaNd instead of NAN.
52275         * modules/frexp-tests (Files): Add tests/nan.h.
52276
52277         * lib/isnan.c: Don't include <math.h>.
52278         (FUNC): Don't use NAN macro.
52279         * modules/isnand-nolibm (Depends-on): Remove math.
52280         * modules/isnanf-nolibm (Depends-on): Remove math.
52281         * modules/isnanl (Depends-on): Remove math.
52282         * modules/isnanl-nolibm (Depends-on): Remove math.
52283
52284         * tests/nan.h: New file.
52285
52286 2008-04-01  Eric Blake  <ebb9@byu.net>
52287
52288         Fix typos.
52289         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
52290         values to be the right type.
52291
52292         For now, cater to gnulib strtod inaccuracies.
52293         * tests/test-strtod.c (main): Allow 1-ulp error on expected
52294         fractional results.  While not as nice from a QoI perspective, it
52295         is a quicker patch than correctly implementing decimal to binary
52296         rounding.
52297
52298 2008-03-31  Eric Blake  <ebb9@byu.net>
52299
52300         Guarantee a definition of NAN.
52301         * lib/math.in.h (NAN): Define if missing.
52302         * tests/test-math.c (main): Test it.
52303         * doc/posix-headers/math.texi (math.h): Document this.
52304         * lib/isnan.c (rpl_isnand): Use it.
52305         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
52306         * tests/test-floorf1.c (NaN): Likewise.
52307         * tests/test-frexp.c (NaN): Likewise.
52308         * tests/test-isnand.c (NaN): Likewise.
52309         * tests/test-isnanf.c (NaN): Likewise.
52310         * tests/test-round1.c (NaN): Likewise.
52311         * tests/test-roundf1.c (NaN): Likewise.
52312         * tests/test-snprintf-posix.h (NaN): Likewise.
52313         * tests/test-sprintf-posix.h (NaN): Likewise.
52314         * tests/test-trunc1.c (NaN): Likewise.
52315         * tests/test-truncf1.c (NaN): Likewise.
52316         * tests/test-vasnprintf-posix.c (NaN): Likewise.
52317         * tests/test-vasprintf-posix.c (NaN): Likewise.
52318         * modules/isnand-nolibm (Depends-on): Add math.
52319         * modules/isnanf-nolibm (Depends-on): Likewise.
52320         * modules/isnanl (Depends-on): Likewise.
52321         * modules/isnanl-nolibm (Depends-on): Likewise.
52322         * modules/snprintf-posix-tests (Depends-on): Likewise.
52323         * modules/sprintf-posix-tests (Depends-on): Likewise.
52324         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
52325         * modules/vsprintf-posix-tests (Depends-on): Likewise.
52326         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
52327         * modules/vasprintf-posix-tests (Depends-on): Likewise.
52328
52329 2008-03-31  Bruno Haible  <bruno@clisp.org>
52330
52331         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
52332         * doc/posix-functions/strtod.texi: Likewise.
52333
52334 2008-03-31  Bruno Haible  <bruno@clisp.org>
52335
52336         * tests/test-strtod.c (main): Don't use C99 syntax.
52337
52338 2008-03-31  Bruno Haible  <bruno@clisp.org>
52339
52340         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
52341         Reported by Eric Blake.
52342
52343 2008-03-31  Jim Meyering  <meyering@redhat.com>
52344
52345         Don't compare actual signbit return values.
52346         * tests/test-strtod.c (main): Rather, compare only their
52347         zero/non-zero nature.
52348
52349 2008-03-31  Eric Blake  <ebb9@byu.net>
52350
52351         More strtod documentation.
52352         * doc/posix-functions/strtod.texi (strtod): Interpret more test
52353         failures as distinct bugs.
52354
52355 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
52356
52357         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
52358         Problem reported by Erik Benada in
52359         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
52360
52361 2008-03-30  Bruno Haible  <bruno@clisp.org>
52362
52363         * tests/test-strtod.c: Add comments about which assertion fails on which
52364         platform.
52365         * doc/posix-functions/strtod.texi: Add info about many more platforms.
52366
52367 2008-03-30  Eric Blake  <ebb9@byu.net>
52368
52369         Test signbit behavior on zeros.
52370         * tests/test-signbit.c (test_signbitf): Add tests for zero.
52371         (test_signbitd, test_signbitl): Likewise.
52372
52373         More strtod touchups.
52374         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
52375         sign of negative underflow, for now.  Use .5, not .1.
52376         * doc/posix-functions/strtod.texi (strtod): Mention these
52377         limitations.
52378         Reported by Jim Meyering.
52379
52380 2008-03-30  Bruno Haible  <bruno@clisp.org>
52381
52382         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
52383         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
52384
52385 2008-03-30  Bruno Haible  <bruno@clisp.org>
52386
52387         Avoid failure when attempting to return empty iconv results on some
52388         platforms.
52389         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
52390         allocation, don't report ENOMEM when the resulting string is empty.
52391
52392 2008-03-30  Bruno Haible  <bruno@clisp.org>
52393
52394         Fix buffer overrun.
52395         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
52396         Don't consider the width for tmp_length. Check count against tmp_length
52397         before doing the padding. Ensure enough allocation during padding.
52398
52399 2008-03-30  Eric Blake  <ebb9@byu.net>
52400
52401         strtod touchups.
52402         * lib/strtod.c (strtod): Avoid compiler warnings.
52403         Reported by Jim Meyering.
52404
52405 2008-03-30  Bruno Haible  <bruno@clisp.org>
52406
52407         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
52408         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
52409         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
52410         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
52411         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
52412         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
52413         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
52414         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
52415
52416         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
52417         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
52418         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
52419         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
52420         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
52421         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
52422         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
52423         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
52424
52425         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
52426         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
52427         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
52428         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
52429         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
52430         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
52431         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
52432         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
52433
52434         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
52435         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
52436
52437         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
52438         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
52439
52440         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
52441         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
52442
52443         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
52444         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
52445         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
52446
52447         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
52448         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
52449         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
52450
52451         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
52452         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
52453         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
52454
52455         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
52456         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
52457         * modules/vasprintf (Depends-on): Add EOVERFLOW.
52458
52459         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
52460         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
52461         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
52462         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
52463         (Depends-on): Add EOVERFLOW.
52464         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
52465         (Depends-on): Add EOVERFLOW.
52466         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
52467         (Depends-on): Add EOVERFLOW.
52468         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
52469         (Depends-on): Add EOVERFLOW.
52470         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
52471         (Depends-on): Add EOVERFLOW.
52472         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
52473         (Depends-on): Add EOVERFLOW.
52474         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
52475         (Depends-on): Add EOVERFLOW.
52476         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
52477         (Depends-on): Add EOVERFLOW.
52478
52479         * lib/sprintf.c (EOVERFLOW): Remove fallback.
52480         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
52481         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
52482
52483         * lib/snprintf.c (EOVERFLOW): Remove fallback.
52484         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
52485         * modules/snprintf (Depends-on): Add EOVERFLOW.
52486
52487         * lib/poll.c (EOVERFLOW): Remove fallback.
52488         * modules/poll (Depends-on): Add EOVERFLOW.
52489
52490         * lib/getugroups.c (EOVERFLOW): Remove fallback.
52491         * modules/getugroups (Depends-on): Add EOVERFLOW.
52492
52493         * lib/getdelim.c (EOVERFLOW): Remove fallback.
52494         * modules/getdelim (Depends-on): Add EOVERFLOW.
52495
52496         * lib/ftell.c (EOVERFLOW): Remove fallback.
52497         * modules/ftell (Depends-on): Add EOVERFLOW.
52498
52499         * lib/fprintf.c (EOVERFLOW): Remove fallback.
52500         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
52501         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
52502
52503         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
52504
52505         * modules/EOVERFLOW-tests: New file.
52506         * tests/test-EOVERFLOW.c: New file.
52507
52508         * modules/EOVERFLOW: New file.
52509         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
52510
52511 2008-03-30  Bruno Haible  <bruno@clisp.org>
52512
52513         Fix bug introduced on 2007-06-10.
52514         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
52515         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
52516
52517 2008-03-30  Bruno Haible  <bruno@clisp.org>
52518
52519         Improve freadseek's efficiency after ungetc.
52520         * lib/freadseek.c: Include freadahead.h.
52521         (freadptrinc): New function, extracted from freadseek.
52522         (freadseek): Use it in a loop. Use freadahead to determine the number
52523         of loop iterations.
52524         * modules/freadseek (Depends-on): Add freadahead.
52525         (configure.ac): Require AC_C_INLINE.
52526
52527 2008-03-30  Bruno Haible  <bruno@clisp.org>
52528
52529         * lib/freadseek.c (freadseek): Don't ignore the return value of
52530         freadptr.
52531
52532 2008-03-29  Eric Blake  <ebb9@byu.net>
52533
52534         Add hex float support.
52535         * modules/strtod (Depends-on): Add c-ctype.
52536         (Link): Mention POW_LIB.
52537         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
52538         whitespace between 'e' and exponent.
52539         * tests/test-strtod.c (main): Enable hex float tests.
52540         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
52541         now provides.
52542
52543         Document various strtod bugs, with some fixes.
52544         * doc/posix-functions/strtod.texi (strtod): Document bugs with
52545         "-0x", "inf", "nan", and hex constants.
52546         * doc/posix-functions/atof.texi (atof): Likewise.
52547         * modules/stdlib (Makefile.am): Support strtod.
52548         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
52549         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
52550         detect additional strtod bugs.
52551         * lib/stdlib.in.h (rpl_strtod): Add declarations.
52552         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
52553         bool where appropriate.  Parse 'inf' and 'nan'.
52554         * tests/test-strtod.c: New file.
52555         * modules/strtod (Depends-on): Add stdbool, stdlib.
52556         (configure.ac): Turn on module indicator.
52557         * modules/strtod-tests: New module.
52558
52559 2008-03-29  Eric Blake  <ebb9@byu.net>
52560
52561         Fix ftell on mingw.
52562         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
52563         * modules/ftell-tests (Depends-on): Add binary-io.
52564         * modules/ftello-tests (Depends-on): Likewise.
52565         * tests/test-ftell.c (main): Enhance test to cover behavior after
52566         ungetc.  Enforce binary mode.
52567         * tests/test-ftello.c (main): Likewise.
52568
52569         Pass test-freadseek on cygwin.
52570         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
52571         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
52572         ungetc buffer.
52573
52574         * tests/test-fflush2.c (main): Fix typo.
52575
52576 2008-03-29  Bruno Haible  <bruno@clisp.org>
52577
52578         * tests/test-fflush2.c (main): Temporarily disable the contents of
52579         this test.
52580         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
52581         Reported by Eric Blake.
52582
52583 2008-03-28  Simon Josefsson  <simon@josefsson.org>
52584
52585         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
52586         (GC_SHA224_DIGEST_SIZE): Add.
52587
52588         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
52589         (gc_hash_digest_length): Likewise.
52590         (gc_hash_buffer): Likewise.
52591
52592 2008-03-25  Bruno Haible  <bruno@clisp.org>
52593
52594         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
52595         detail which gettext release to use.
52596         Reported by Simon Josefsson.
52597
52598 2008-03-26  Jim Meyering  <meyering@redhat.com>
52599
52600         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
52601         * modules/gnumakefile (clean-GNUmakefile): Also, use
52602         test ... && ... || : syntax rather than if-then ... fi.
52603
52604         gnumakefile: Don't double-quote-expand $(VPATH) value.
52605         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
52606
52607 2008-03-24  Eric Blake  <ebb9@byu.net>
52608
52609         Alter GNUmakefile to install into top directory.
52610         * modules/maintainer-makefile: Split, and add dependency...
52611         * modules/gnumakefile: to this new module.
52612         * build-aux/GNUmakefile: Move...
52613         * top/GNUmakefile: ...here.
52614         * build-aux/maint.mk: Move...
52615         * top/maint.mk: ...here.
52616         * MODULES.html.sh (Support for maintaining...): Document new
52617         module.
52618
52619 2008-03-23  Bruno Haible  <bruno@clisp.org>
52620
52621         * gnulib-tool: New options --vc-files, --no-vc-files.
52622         (func_usage): Document them.
52623         (vc_files): New variable.
52624         (func_import): Consider vc_files.
52625         (func_create_testdir): Set vc_files to empty.
52626         Suggested by Jim Meyering and Karl Berry.
52627
52628 2008-03-23  Bruno Haible  <bruno@clisp.org>
52629
52630         Fix regex compilation error on HP-UX 11.
52631         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
52632         * modules/regex (Files): Add m4/mbstate_t.m4.
52633         Reported by Ton Voon <ton.voon@altinity.com>.
52634
52635 2008-03-23  Bruno Haible  <bruno@clisp.org>
52636
52637         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
52638
52639 2008-03-23  Eric Blake  <ebb9@byu.net>
52640             Bruno Haible  <bruno@clisp.org>
52641
52642         Install files from top/ in the destination directory.
52643         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
52644         augmentation also for the files from top/.
52645         (func_import, func_create_testdir): Rewrite file names:
52646         top/filename -> filename.
52647
52648 2008-03-23  Bruno Haible  <bruno@clisp.org>
52649
52650         Tweak "gnulib --version" output.
52651         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
52652
52653 2008-03-23  Bruno Haible  <bruno@clisp.org>
52654
52655         Tweak "gnulib --version" output.
52656         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
52657         rather than contents of ChangeLog, when possible.
52658
52659 2008-03-21  Eric Blake  <ebb9@byu.net>
52660
52661         More --version tweaks.
52662         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
52663         date of last ChangeLog entry.
52664
52665 2008-03-21  Jim Meyering  <meyering@redhat.com>
52666
52667         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
52668
52669 2008-03-20  Eric Blake  <ebb9@byu.net>
52670
52671         VPATH fix.
52672         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
52673
52674 2008-03-20  Simon Josefsson  <simon@josefsson.org>
52675
52676         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
52677         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
52678
52679 2008-03-20  Eric Blake  <ebb9@byu.net>
52680
52681         Sync GNUmakefile with coreutils.
52682         * build-aux/GNUmakefile (have-Makefile): Rename...
52683         (_have-Makefile): ...to this, for namespace consideration.
52684         (GNUmakefile.cfg): Include, if present.
52685         (_autoreconf): Define a default.
52686         (_is-dist-target): New rule for rebuilds to pick up intra-release
52687         version.
52688         (maint-cfg.mk): Rename...
52689         (cfg.mk): ...to this.
52690
52691 2008-03-18  Jim Meyering  <meyering@redhat.com>
52692
52693         New script and module: mktempd
52694         * MODULES.html.sh (maint+release support): Add mktempd.
52695         * build-aux/mktempd: New file.
52696         * modules/mktempd: New file.
52697
52698 2008-03-15  Jim Meyering  <meyering@redhat.com>
52699
52700         Undo last change.
52701         * lib/sha1.c, lib/md5.c: 63 != ~63.
52702         Reported by Andreas Schwab.
52703
52704         sha1.c, md5.c: Hoist a redundant expression.
52705         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
52706         "ctx->buflen" only once, before calling *_process_block.
52707         * lib/md5.c (md5_process_bytes): Likewise.
52708
52709 2008-03-14  Eric Blake  <ebb9@byu.net>
52710
52711         Bump copyright year in files generated by gnulib-tool.
52712         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
52713         gnulib-tool, rather than hard-coding it.
52714
52715         Fix 'gnulib-tool --version' output to work with git.
52716         * gnulib-tool (func_gnulib_dir): New function, extracted from...
52717         (startup): ...here.
52718         (func_version): Use it to invoke git-version-gen, rather than
52719         relying on CVS keyword expansion.  Modernize wording.
52720         (cvsdatestamp, last_checkin_date, version): Kill unused
52721         variables.
52722
52723 2008-03-12  Jim Meyering  <meyering@redhat.com>
52724
52725         Recognize optional cast of the argument to free.
52726         * build-aux/useless-if-before-free: Update regexps.
52727
52728         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
52729
52730 2008-03-11  Bruno Haible  <bruno@clisp.org>
52731
52732         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
52733         by a single package.
52734         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
52735         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
52736         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
52737         Reported by Sam Steingold <sds@gnu.org>.
52738
52739 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
52740
52741         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
52742         repositories.
52743
52744 2008-03-11  Bruno Haible  <bruno@clisp.org>
52745
52746         Avoid conflicts between local macro definitions.
52747         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
52748         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
52749
52750 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
52751             Bruno Haible  <bruno@clisp.org>
52752
52753         Make va_copy work with some version of xlc on AIX 5.1.
52754         * lib/stdarg.in.h: New file.
52755         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
52756         On AIX, use a <stdarg.h> file substitute.
52757         * modules/stdarg (Files): Add lib/stdarg.in.h.
52758         (Depends-on): Add include_next.
52759         (Makefile.am): Build a stdarg.h substitute if requested.
52760         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
52761
52762 2008-03-10  Bruno Haible  <bruno@clisp.org>
52763
52764         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
52765         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
52766         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
52767
52768 2008-03-10  Bruno Haible  <bruno@clisp.org>
52769
52770         * modules/stdlib (Depends-on): Add include_next, remove
52771         absolute-header.
52772
52773 2008-03-09  Bruno Haible  <bruno@clisp.org>
52774
52775         * lib/freadahead.h (freadahead): Document more precisely.
52776         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
52777         the sum of both buffer sizes.
52778         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
52779         * NEWS: Document the change.
52780
52781 2008-03-09  Bruno Haible  <bruno@clisp.org>
52782
52783         Extend freadptr to return also the buffer size.
52784         * lib/freadptr.h (freadptr): Add sizep argument.
52785         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
52786         (freadptr): Add sizep argument. Determine buffer size like freadahead
52787         does.
52788         * tests/test-freadptr.c: Don't include freadahead.h.
52789         (main): Adapt for new calling convention of freadptr.
52790         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
52791         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
52792         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
52793         tests/test-freadptr2.sh.
52794         (Depends): Remove freadahead.
52795         (TESTS): Add test-freadptr2.sh.
52796         (check_PROGRAMS): Add test-freadptr2.
52797
52798 2008-03-09  Bruno Haible  <bruno@clisp.org>
52799
52800         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
52801         Report and solution by Simon Josefsson.
52802
52803 2008-03-06  Bruno Haible  <bruno@clisp.org>
52804
52805         Make fflush after ungetc work on BSD platforms.
52806         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
52807         * tests/test-fflush2.c: New file.
52808         * tests/test-fflush2.sh: New file.
52809         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
52810         tests/test-fflush2.c.
52811         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
52812         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
52813
52814 2008-03-06  Eric Blake  <ebb9@byu.net>
52815
52816         Likewise for ftello.
52817         * modules/ftello (Dependencies): Add extensions.
52818         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
52819
52820 2008-03-06  Bruno Haible  <bruno@clisp.org>
52821
52822         * modules/fseeko (Dependencies): Add extensions.
52823         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
52824         Needed on glibc systems.
52825
52826 2008-03-06  Bruno Haible  <bruno@clisp.org>
52827
52828         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
52829         email address.
52830         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52831
52832 2008-03-06  Bruno Haible  <bruno@clisp.org>
52833
52834         * users.txt: Add libgnupdf.
52835
52836 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
52837
52838         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
52839         (Header File Substitutes, Function Substitutes,
52840         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
52841         (Build robot for gnulib): Fix typo.
52842
52843 2008-03-06  Bruno Haible  <bruno@clisp.org>
52844
52845         * doc/gnulib-tool.texi (VCS Issues): Small updates.
52846         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52847
52848 2008-03-06  Bruno Haible  <bruno@clisp.org>
52849
52850         * doc/func.texi: New file, extracted from doc/gnulib.texi.
52851         * doc/gnulib.texi: Include it.
52852
52853 2008-03-06  Simon Josefsson  <simon@josefsson.org>
52854
52855         * modules/func (License): Change license to unlimited; there was
52856         no LGPL parts in the module anyway.
52857
52858 2008-03-06  Simon Josefsson  <simon@josefsson.org>
52859
52860         * modules/__func__: Renamed to modules/func.
52861         * modules/__func__-tests: Renamed to modules/func-tests.
52862         * tests/test-__func__.c: Renamed to tests/test-func.c.
52863         * m4/__func__.m4: Renamed to m4/func.m4.
52864         * doc/gnulib.texi (__func__): Section renamed to func.
52865         Suggested by Eric Blake <ebb9@byu.net>.
52866
52867 2008-03-06  Simon Josefsson  <simon@josefsson.org>
52868
52869         * doc/gnulib.texi (__func__): Use C99 terminology when talking
52870         about __func__.  Make example self-contained.  Suggested by Eric
52871         Blake <ebb9@byu.net>.
52872
52873         * tests/test-__func__.c (main): Avoid extraneous () around __func.
52874         Suggested by Eric Blake <ebb9@byu.net>.
52875
52876 2008-03-06  Simon Josefsson  <simon@josefsson.org>
52877
52878         * modules/__func__: New file.
52879         * modules/__func__-tests: New file.
52880         * tests/test-__func__.c: New file.
52881         * m4/__func__.m4: New file.
52882         * doc/gnulib.texi (__func__): Document __func__ module.
52883
52884 2008-03-05  Simon Josefsson  <simon@josefsson.org>
52885
52886         * modules/byteswap (License): Re-license as LGPLv2+.
52887
52888 2008-03-05  Simon Josefsson  <simon@josefsson.org>
52889
52890         * doc/Makefile: Add pdf target.
52891
52892 2008-03-05  Simon Josefsson  <simon@josefsson.org>
52893
52894         * modules/inline (License): Use 'unlimited', since there are only
52895         *.m4 files in this module.
52896
52897 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
52898             Bruno Haible  <bruno@clisp.org>
52899
52900         Add support for HP C 7.1 on OpenVMS 8.3.
52901         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
52902
52903 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
52904
52905         Update VMS specifics.
52906         * lib/getopt.c [VMS]: Remove include of unixlib.h.
52907
52908 2008-03-02  Jim Meyering  <meyering@redhat.com>
52909
52910         Remove the last dependency on the "free" module.
52911         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
52912         Reported by Bob Proulx.
52913
52914         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
52915
52916         Remove useless "if" tests before free.  Deprecate "free" module.
52917         * doc/posix-functions/free.texi: Mention that this
52918         module is no longer useful.
52919         * modules/free (Notice): Say this module is obsolete.
52920         * modules/readutmp (Depends-on): Remove free.
52921         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
52922         * lib/putenv.c (putenv): Likewise.
52923         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
52924         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
52925         * tests/test-c-strcasestr.c (main): Likewise.
52926         * tests/test-c-strstr.c (main): Likewise.
52927         * tests/test-mbscasestr1.c (main): Likewise.
52928         * tests/test-mbscasestr2.c (main): Likewise.
52929         * tests/test-mbsstr1.c (main): Likewise.
52930         * tests/test-mbsstr2.c (main): Likewise.
52931         * tests/test-memmem.c (main): Likewise.
52932         * tests/test-strcasestr.c (main): Likewise.
52933         * tests/test-striconv.c (main): Likewise.
52934         * tests/test-striconveh.c (main): Likewise.
52935         * tests/test-striconveha.c (main): Likewise.
52936         * tests/test-strstr.c (main): Likewise.
52937
52938         * build-aux/git-version-gen: Adjust a comment and the Usage string.
52939
52940         bootstrap: sync from coreutils again
52941         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
52942
52943 2008-03-01  Jim Meyering  <meyering@redhat.com>
52944
52945         bootstrap: sync from coreutils
52946         * build-aux/bootstrap (update_po_files): Copy a .po file into place
52947         also when the target doesn't exist.
52948
52949 2008-03-01  Eric Blake  <ebb9@byu.net>
52950
52951         Fix bugs in last patch.
52952         * lib/memchr2.c (memchr2): Fix typo.
52953         * tests/test-memchr2.c: Test previous bug, and don't use GNU
52954         extension.
52955         Reported by Bruce Korb.
52956
52957         New module 'memchr2'.
52958         * modules/memchr2: New file.
52959         * modules/memchr2-tests: Likewise.
52960         * lib/memchr2.h: Likewise.
52961         * lib/memchr2.c: Likewise, based on memchr.c.
52962         * tests/test-memchr2.c: New test.
52963         * MODULES.html.sh (String handling): Add memchr2.
52964
52965 2008-02-29  Bruno Haible  <bruno@clisp.org>
52966
52967         * modules/freadseek-tests: New file.
52968         * tests/test-freadseek.sh: New file.
52969         * tests/test-freadseek.c: New file.
52970
52971         New module 'freadseek'.
52972         * modules/freadseek: New file.
52973         * lib/freadseek.h: New file.
52974         * lib/freadseek.c: New file.
52975         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
52976
52977 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
52978
52979         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
52980         wydawca.
52981
52982         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
52983         program_invocation_name and program_invocation_short_name are
52984         present.
52985
52986 2008-02-28  Bruno Haible  <bruno@clisp.org>
52987
52988         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
52989         * tests/test-freadptr.sh: Also test non-seekable stdin.
52990
52991 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
52992
52993         * build-aux/bootstrap (source_base, m4_base)
52994         (doc_base, tests_base): New variables.
52995         (gnulib_tool_options): Do not hardcode base directories, use
52996         the above variables instead.
52997
52998 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
52999
53000         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
53001
53002 2008-02-28  Bruno Haible  <bruno@clisp.org>
53003
53004         * modules/freadptr-tests: New file.
53005         * tests/test-freadptr.sh: New file.
53006         * tests/test-freadptr.c: New file.
53007
53008         New module 'freadptr'.
53009         * modules/freadptr: New file.
53010         * lib/freadptr.h: New file.
53011         * lib/freadptr.c: New file.
53012         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
53013
53014 2008-02-26  Karl Berry  <karl@freefriends.org>
53015
53016         Sync from Libtool:
53017         * libltdl/argz.c (argz_add, argz_count): New functions.
53018         * libltdl/argz.in.h: Declare them.
53019         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
53020
53021 2008-02-22  Bruno Haible  <bruno@clisp.org>
53022
53023         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
53024         is a pointer type.  Needed for HP-UX 10.
53025         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
53026         * doc/posix-functions/gmtime_r.texi: Likewise.
53027         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
53028
53029 2008-02-24  Bruno Haible  <bruno@clisp.org>
53030
53031         * modules/environ-tests: New file.
53032         * tests/test-environ.c: New file.
53033
53034         New module 'environ'.
53035         * modules/environ: New file.
53036         * lib/unistd.in.h (environ): New declaration.
53037         * m4/environ.m4: New file.
53038         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
53039         after use.
53040         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
53041         HAVE_DECL_ENVIRON.
53042         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
53043         HAVE_DECL_ENVIRON.
53044         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
53045         wrong claim that 'environ' is missing on some systems.
53046         * modules/execute (Depends-on): Add environ.
53047         * lib/execute.c (environ): Remove fallback declaration.
53048         * modules/pipe (Depends-on): Add environ.
53049         * lib/pipe.c (environ): Remove fallback declaration.
53050         * modules/setenv (Depends-on): Add environ.
53051         * lib/setenv.c (environ): Remove fallback declaration.
53052         * modules/unsetenv (Depends-on): Add environ.
53053         * lib/unsetenv.c (environ): Remove fallback declaration.
53054         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
53055         m4/environ.m4.
53056         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
53057         (gl_PREREQ_UNSETENV): Likewise.
53058
53059 2008-02-24  Bruno Haible  <bruno@clisp.org>
53060
53061         * doc/posix-functions/environ.texi: Document the MacOS X problem.
53062
53063 2008-02-20  Bob Proulx  <bob@proulx.com>
53064
53065         Enable use of older two part flavor 'git describe'.
53066         * build-aux/git-version-gen: If using the older two part flavor of
53067         git version then recreate the third part now present in the
53068         newer three part flavor of git describe.
53069
53070 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
53071
53072         * lib/fts.c (fts_build): Typo correction to comment.
53073
53074 2008-02-17  Bruno Haible  <bruno@clisp.org>
53075
53076         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
53077         generating no-op conflicts.
53078
53079 2008-02-17  Bruno Haible  <bruno@clisp.org>
53080
53081         Speed up by 10%.
53082         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
53083         result_entries, rather than an index-based loop.
53084
53085 2008-02-17  Bruno Haible  <bruno@clisp.org>
53086
53087         Speed up by 25%.
53088         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
53089         'hashcode_cached'.
53090         (entry_create): New function.
53091         (entry_hashcode): Use the cached hashcode if possible.
53092         (read_changelog_file, try_split_merged_entry): Use entry_create.
53093
53094 2008-02-17  Bruno Haible  <bruno@clisp.org>
53095
53096         Speed up from O(n^2) to O(n) for long ChangeLog files.
53097         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
53098         (read_changelog_file): Change implementation of entries_reversed list
53099         to rbtreehash.
53100         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
53101
53102 2008-02-17  Bruno Haible  <bruno@clisp.org>
53103
53104         New option --split-merged-entry.
53105         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
53106         (find_paragraph_end, try_split_merged_entry): New functions.
53107         (long_options): Add option --split-merged-entry.
53108         (usage): Document option --split-merged-entry.
53109         (main): Implement option --split-merged-entry.
53110         Reported by Eric Blake.
53111
53112 2008-02-17  Bruno Haible  <bruno@clisp.org>
53113
53114         * lib/git-merge-changelog.c: Include c-strstr.h.
53115         (main): Support the "git pull --rebase" situation.
53116         * modules/git-merge-changelog (Depends-on): Add c-strstr.
53117         Reported by Eric Blake.
53118
53119 2008-02-16  Eric Blake  <ebb9@byu.net>
53120
53121         Avoid doubling \ in common case of "c-maybe" quoting style.
53122         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
53123         eliding outer quotes.
53124         * lib/quotearg.h: Document this.
53125         * tests/test-quotearg.c (result_strings, inputs, results_g)
53126         (flag_results, locale_results): Test it by adding a new string to
53127         each test group.
53128         (compare_strings): Test new string.
53129
53130 2008-02-13  Eric Blake  <ebb9@byu.net>
53131
53132         Avoid trigraph quoting in default output.
53133         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
53134         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
53135         unless explicitly requested.
53136         * tests/test-quotearg.c (flag_results, main): Add additional tests.
53137
53138 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
53139
53140         Don't rely on signed integer overflowing to negative value.
53141         * lib/getugroups.c (getugroups): Include <limits.h>.
53142         Instead, compare against INT_MAX, and increment only if the test passes.
53143
53144 2008-02-13  Jim Meyering  <meyering@redhat.com>
53145         and Eric Blake  <ebb9@byu.net>
53146
53147         Avoid shadowing warning and compile errors on Linux.
53148         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
53149         forwarding macros on Linux.
53150         (dcgettext): Define a stub, for Linux.
53151         (results_g, main): Avoid warnings.
53152
53153 2008-02-12  Eric Blake  <ebb9@byu.net>
53154
53155         Silence warning in last patch.
53156         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
53157
53158         Quotearg part 4: add tests, fix c-maybe colon quoting.
53159         * lib/quotearg.h: Improve documentation.
53160         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
53161         escapes when adding outer quotes.  When quoting trigraphs, use
53162         valid C notation.  When quoting NUL, omit extra characters if next
53163         character is not digit.  Alter prototype.
53164         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
53165         callers.
53166         * modules/quotearg-tests: New module.
53167         * tests/test-quotearg.c: New test.
53168
53169 2008-02-07  Eric Blake  <ebb9@byu.net>
53170
53171         Quotearg part 3: add flag to control outer quote elision.
53172         * lib/quotearg.h (c_maybe_quoting_style): New style.
53173         (enum quoting_flags): Better documentation of flags.
53174         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
53175         c-maybe style.
53176         (quotearg_buffer_restyled): Handle new flag to elide outer
53177         quotes.
53178
53179         Quotearg part 2: add flag that can control NUL elision.
53180         * lib/quotearg.h (set_quoting_flags): New prototype.
53181         * lib/quotearg.c (struct quoting_options): Add flag field.
53182         (set_quoting_flags): New function.
53183         (quotearg_buffer_restyled): Add flags parameter.
53184         (quotearg_alloc_mem): Set the flag if length cannot be returned.
53185         (quotearg_n_options): Set the flag, since length cannot be
53186         returned.
53187         (quoting_options_from_style): Default flags correctly.
53188
53189         Quotearg part 1: more wrappers, restore quotearg_char state.
53190         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
53191         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
53192         (quotearg_colon_mem): New wrappers.
53193         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
53194         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
53195         functions.
53196         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
53197         (quotearg_colon_mem): New functions.
53198
53199 2008-02-11  Bruno Haible  <bruno@clisp.org>
53200
53201         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
53202         library in the current directory: it does not work with parallel make.
53203         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53204
53205 2008-02-11  Bruno Haible  <bruno@clisp.org>
53206
53207         * .gitattributes: New file.
53208
53209 2008-02-11  Jim Meyering  <meyering@redhat.com>
53210
53211         useless-if-before-free: Fix reversed exit values.
53212         * build-aux/useless-if-before-free: Use correct values
53213         for EXIT_MATCH and EXIT_NO_MATCH.
53214
53215         * build-aux/useless-if-before-free: Close stdout carefully.
53216
53217 2008-02-10  Bruno Haible  <bruno@clisp.org>
53218
53219         New module 'git-merge-changelog'.
53220         * modules/git-merge-changelog: New file.
53221         * lib/git-merge-changelog.c: New file.
53222
53223 2008-02-10  Jim Meyering  <meyering@redhat.com>
53224
53225         useless-if-before-free: New option: --list (-l).
53226
53227         useless-if-before-free: Don't exit immediately upon open failure.
53228         * build-aux/useless-if-before-free: Exit 2 for errors.
53229         Upon failure to open a file, don't exit immediately.
53230         Rather, just warn and continue with any remaining files.
53231
53232 2008-02-10  Bruno Haible  <bruno@clisp.org>
53233
53234         New abstract list operation 'node_set_value'.
53235         * lib/gl_list.h (gl_list_node_set_value): New function.
53236         (struct gl_list_implementation): New field node_set_value.
53237         * lib/gl_list.c (gl_list_node_set_value): New function.
53238         * lib/gl_array_list.c (gl_array_node_set_value): New function.
53239         (gl_array_list_implementation): Update.
53240         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
53241         (gl_carray_list_implementation): Update.
53242         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
53243         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
53244         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
53245         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
53246         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
53247         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
53248         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
53249         Update.
53250         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
53251         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
53252         (gl_sublist_list_implementation): Update.
53253
53254 2008-02-10  Bruno Haible  <bruno@clisp.org>
53255
53256         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
53257         Needed when ELEMENT is #defined to 'some_type *'.
53258
53259 2008-02-10  Jim Meyering  <meyering@redhat.com>
53260
53261         New script and module: useless-if-before-free
53262         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
53263         * build-aux/useless-if-before-free: New file.
53264         * modules/useless-if-before-free: New file.
53265
53266         * build-aux/gitlog-to-changelog: Use committer date, not author date.
53267
53268         xstrtol_error: Fix typo.
53269         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
53270         s/exit_failure/exit_status/.
53271
53272 2008-02-09  Jim Meyering  <meyering@redhat.com>
53273
53274         New script and module: gitlog-to-changelog
53275         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
53276         * modules/gitlog-to-changelog: New file.
53277         * build-aux/gitlog-to-changelog: New file.
53278
53279 2008-02-08  Jim Meyering  <meyering@redhat.com>
53280
53281         Avoid two "parameter unused" warnings.
53282         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
53283         Mark "st" as used.
53284
53285         Use "git COMMAND", not "git-COMMAND".
53286         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
53287         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
53288         * build-aux/git-version-gen: Use "git status", not "git-status".
53289
53290 2008-02-07  Bruno Haible  <bruno@clisp.org>
53291
53292         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
53293         Avoids a crash on Windows Vista.
53294         Reported by Adam Strzelecki <ono@java.pl> via
53295         Simon Josefsson <simon@josefsson.org>.
53296
53297 2008-02-06  Bruno Haible  <bruno@clisp.org>
53298
53299         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
53300         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
53301         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
53302         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
53303         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
53304         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
53305         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
53306         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
53307         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
53308         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
53309         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
53310         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
53311         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
53312         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
53313         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
53314         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
53315         left-adjust flag.
53316         * tests/test-snprintf-posix.h (test_function): Likewise.
53317         * tests/test-sprintf-posix.h (test_function): Likewise.
53318         * tests/test-vasprintf-posix.c (test_function): Likewise.
53319         * doc/posix-functions/fprintf.texi: Update.
53320         * doc/posix-functions/printf.texi: Update.
53321         * doc/posix-functions/snprintf.texi: Update.
53322         * doc/posix-functions/sprintf.texi: Update.
53323         * doc/posix-functions/vfprintf.texi: Update.
53324         * doc/posix-functions/vprintf.texi: Update.
53325         * doc/posix-functions/vsnprintf.texi: Update.
53326         * doc/posix-functions/vsprintf.texi: Update.
53327         Reported by Peter Fales <psfales@alcatel-lucent.com>.
53328
53329 2008-02-06  Bruno Haible  <bruno@clisp.org>
53330
53331         Fix bug introduced on 2008-01-26.
53332         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
53333
53334 2008-02-06  Bruno Haible  <bruno@clisp.org>
53335
53336         Fix bug introduced on 2007-06-10.
53337         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
53338         !NEED_PRINTF_FLAG_ZERO.
53339
53340 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
53341
53342         getloadavg: use libperfstat on AIX5
53343         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
53344
53345 2008-02-03  Bruno Haible  <bruno@clisp.org>
53346
53347         * lib/diffseq.h: Add comments about required #includes.
53348         Reported by Michael Biggs <gnulib@doubleplum.net>.
53349
53350 2008-02-01  Bruno Haible  <bruno@clisp.org>
53351
53352         * users.txt: Add gnuit.
53353
53354 2008-01-31  Bruno Haible  <bruno@clisp.org>
53355
53356         * lib/md4.c (set_uint32): Mark as inline.
53357         * lib/md5.c (set_uint32): Likewise.
53358         * lib/sha1.c (set_uint32): Likewise.
53359         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
53360         * m4/md5.m4 (gl_MD5): Likewise.
53361         * m4/sha1.m4 (gl_SHA1): Likewise.
53362
53363 2008-01-31  Jim Meyering  <meyering@redhat.com>
53364
53365         Use "sizeof VAR", rather than a literal "4".
53366         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
53367         * lib/md4.c (md4_read_ctx): Likewise.
53368         * lib/sha1.c (sha1_read_ctx): Likewise.
53369
53370 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53371
53372         * tests/test-sha1.c: New file, based on test-md5.c.
53373
53374         * modules/crypto/sha1-tests: New file.
53375
53376 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53377
53378         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
53379
53380 2008-01-31  Jim Meyering  <meyering@redhat.com>
53381
53382         Prefer "sizeof v" over the equivalent "4".
53383         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
53384         * lib/md5.c (set_uint32): Likewise.
53385         * lib/sha1.c (set_uint32): Likewise.
53386
53387 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53388
53389         * lib/sha1.c (set_uint32): Mark function as static.
53390
53391 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53392
53393         md2: clarify comments to say that alignment is not required.
53394         * lib/md2.h: Remove warning about alignment in comment.
53395         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
53396         never been required.
53397
53398 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53399
53400         md4: adapt alignment constraint fix from sha1.
53401         * lib/md4.c (set_uint32): New function, from sha1.c
53402         (md4_read_ctx): Use it.
53403         (md4_finish_ctx): Doc fix.
53404         * lib/md4.h: Doc fix.
53405
53406 2008-01-31  Simon Josefsson  <simon@josefsson.org>
53407
53408         md5: adapt alignment constraint fix from sha1.
53409         * lib/md5.c (set_uint32): New function, from sha1.c
53410         (md5_read_ctx): Use it.
53411         (md5_finish_ctx): Doc fix.
53412         * lib/md5.h: Doc fix.
53413
53414 2008-01-30  Peter Palfrader  <weasel@debian.org>
53415
53416         sha1: remove the result buffer alignment constraint
53417         * lib/sha1.c (set_uint32): New function.
53418         (sha1_read_ctx): Rewrite to remove the result buffer alignment
53419         constraint.
53420         (sha1_finish_ctx): Remove comment warning about alignment constraint.
53421         * lib/sha1.h: Likewise.
53422
53423 2008-01-30  Andreas Schwab  <schwab@suse.de>
53424             Bruno Haible  <bruno@clisp.org>
53425
53426         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
53427         correct definition of LDBL_MIN_EXP.
53428
53429 2008-01-30  Karl Berry  <karl@gnu.org>
53430
53431         * config/srclist-update: try to preserve x bit on updates.
53432         * config/srclistvars.sh: update for karl.
53433
53434 2008-01-29  Jim Meyering  <meyering@redhat.com>
53435
53436         vasnprintf.c: Avoid warning about unused label
53437         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
53438         "overflow" label definition and associated code with the
53439         same cpp condition that guards the sole use of that label.
53440
53441 2008-01-26  Bruno Haible  <bruno@clisp.org>
53442
53443         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
53444         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
53445         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
53446         * lib/isnanl-nolibm.h (isnanl): Likewise.
53447         Reported by Paul Eggert <eggert@cs.ucla.edu>.
53448
53449 2008-01-26  Bruno Haible  <bruno@clisp.org>
53450
53451         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
53452         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
53453
53454 2008-01-26  Bruno Haible  <bruno@clisp.org>
53455
53456         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
53457         GCC >= 4.0 built-in.
53458         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
53459
53460 2008-01-26  Bruno Haible  <bruno@clisp.org>
53461
53462         Rename isnan, applicable to 'double' only, to isnand.
53463         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
53464         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
53465         (configure.ac): Update.
53466         (Include): Replace "isnan.h" with "isnand.h".
53467         * m4/isnand.m4: Renamed from m4/isnan.m4.
53468         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
53469         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
53470         instead of isnan.c.
53471         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
53472         instead of HAVE_ISNAN_IN_LIBC.
53473         (isnand): Renamed from isnan.
53474         * lib/isnand.c: New file.
53475         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
53476         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
53477         (Makefile.am): Update.
53478         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
53479         Include isnand.h instead of isnan.h.
53480         (main): Test isnand instead of isnan.
53481         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
53482         isnan-nolibm.
53483         * modules/frexp (Depends-on): Likewise.
53484         * modules/frexp-tests (Depends-on): Likewise.
53485         * modules/frexp-nolibm (Depends-on): Likewise.
53486         * modules/frexp-nolibm-tests (Depends-on): Likewise.
53487         * modules/isfinite (Depends-on): Likewise.
53488         * modules/round-tests (Depends-on): Likewise.
53489         * modules/signbit (Depends-on): Likewise.
53490         * modules/signbit-tests (Depends-on): Likewise.
53491         * modules/snprintf-posix (Depends-on): Likewise.
53492         * modules/sprintf-posix (Depends-on): Likewise.
53493         * modules/trunc-tests (Depends-on): Likewise.
53494         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
53495         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
53496         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
53497         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
53498         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
53499         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
53500         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
53501         * modules/vasnprintf-posix (Depends-on): Likewise.
53502         * modules/vasprintf-posix (Depends-on): Likewise.
53503         * modules/vfprintf-posix (Depends-on): Likewise.
53504         * modules/vsnprintf-posix (Depends-on): Likewise.
53505         * modules/vsprintf-posix (Depends-on): Likewise.
53506         * lib/frexp.c: Include isnand.h instead of isnan.h.
53507         (ISNAN): Set to isnand instead of isnan.
53508         * lib/isfinite.c: Include isnand.h instead of isnan.h.
53509         (gl_isfinited): Use isnand instead of isnan.
53510         * lib/signbitd.c: Include isnand.h instead of isnan.h.
53511         (gl_signbitd): Use isnand instead of isnan.
53512         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
53513         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
53514         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
53515         (main): Use isnand instead of isnan.
53516         * tests/test-round1.c: Include isnand.h.
53517         (main): Use isnand instead of isnan.
53518         * tests/test-round2.c: Include isnand.h instead of isnan.h.
53519         (ISNAN): Set to isnand instead of isnan.
53520         * tests/test-trunc1.c: Include isnand.h.
53521         (main): Use isnand instead of isnan.
53522         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
53523         (equal): Use isnand instead of isnan.
53524         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
53525         isnand-nolibm.
53526         * NEWS: Mention the change.
53527
53528 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
53529             Bruno Haible  <bruno@clisp.org>
53530
53531         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
53532         the GCC builtins for signbits are present and set
53533         REPLACE_SIGNBIT_USING_GCC if so.
53534         * lib/math.in.h (signbit): Define using GCC builtins if
53535         REPLACE_SIGNBIT_USING_GCC is set.
53536         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
53537         REPLACE_SIGNBIT_USING_GCC.
53538         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
53539
53540 2008-01-25  Jim Meyering  <meyering@redhat.com>
53541
53542         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
53543         * lib/poll.c: Include <config.h>, not "config.h".
53544         * tests/test-getaddrinfo.c: Likewise.
53545
53546 2008-01-25  Simon Josefsson  <simon@josefsson.org>
53547
53548         * modules/sockets-tests: New file.
53549
53550 2008-01-24  Simon Josefsson  <simon@josefsson.org>
53551
53552         * modules/sockets: New module, can be used to call WSA_Startup and
53553         WSA_Cleanup when needed.
53554
53555         * lib/sockets.h, lib/sockets.c: New files.
53556
53557         * m4/sockets.m4: New file.
53558
53559         * tests/test-sockets.c: New file.
53560
53561 2008-01-19  Bruno Haible  <bruno@clisp.org>
53562
53563         * doc/posix-headers: Renamed from doc/headers.
53564         * doc/posix-functions: Renamed from doc/functions.
53565         * doc/gnulib.texi: Update.
53566
53567 2008-01-19  Bruno Haible  <bruno@clisp.org>
53568
53569         * doc/glibc-functions/strcasestr.texi: Include contents of
53570         doc/functions/strcasestr.texi, fixing the list of platforms.
53571         * doc/functions/strcasestr.texi: Remove file.
53572
53573 2008-01-19  Bruno Haible  <bruno@clisp.org>
53574
53575         * doc/glibc-functions/memmem.texi: Include contents of
53576         doc/functions/memmem.texi.
53577         * doc/functions/memmem.texi: Remove file.
53578
53579 2008-01-18  Bruno Haible  <bruno@clisp.org>
53580
53581         * doc/glibc-functions/*.texi: New files.
53582         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
53583         to use the new files.
53584
53585 2008-01-17  Bruno Haible  <bruno@clisp.org>
53586
53587         * tests/test-gethostname.c (main): Fix printf statement.
53588
53589 2008-01-17  Simon Josefsson  <simon@josefsson.org>
53590
53591         * modules/gethostname-tests: New file.
53592
53593         * tests/test-gethostname.c: New file.
53594
53595 2008-01-17  Simon Josefsson  <simon@josefsson.org>
53596
53597         * lib/gethostname.c: Include string.h unconditionally, strncpy is
53598         used by the UNAME case.  Reported by Bruno Haible
53599         <bruno@clisp.org>.
53600
53601 2008-01-17  Eric Blake  <ebb9@byu.net>
53602
53603         Convert c-strcasestr to be more efficient.
53604         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
53605         (Depends-on): Add c-strcase, remove malloca, strnlen.
53606         * tests/test-c-strcasestr.c (main): Enhance test.
53607         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
53608
53609 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
53610
53611         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
53612         Use it in creating po/Makevars.
53613
53614 2008-01-15  Simon Josefsson  <simon@josefsson.org>
53615
53616         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
53617         Applications that requires it should initialize libgcrypt
53618         manually.
53619
53620 2008-01-16  Simon Josefsson  <simon@josefsson.org>
53621
53622         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
53623
53624 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
53625
53626         Fix problem with getdate on mingw32 reported by Simon Josefsson
53627         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
53628         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
53629         tzname", when deciding whether to declare tzname.
53630         * lib/strftime.c (tzname): Likewise.
53631
53632 2008-01-15  Bruno Haible  <bruno@clisp.org>
53633
53634         Work around a MacOS X 10.5 bug in frexpl().
53635         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
53636         * doc/functions/frexpl.texi: Document the bug.
53637         Reported by Elias Pipping <pipping@gentoo.org>.
53638
53639 2008-01-14  Eric Blake  <ebb9@byu.net>
53640
53641         Touch up previous patch.
53642         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
53643         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
53644
53645         Convert strcasestr module to use Two-Way algorithm.
53646         * modules/strcasestr-simple: New module, based on the old
53647         strcasestr, but with Two-Way rather than KMP.
53648         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
53649         * lib/string.in.h (rpl_strcasestr): Declare.
53650         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
53651         performance.
53652         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
53653         * modules/string (Makefile.am): Support strcasestr.
53654         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
53655         * modules/strcasestr-tests (Depends-on): Check for alarm.
53656         * tests/test-strcasestr.c: Augment test.
53657         * lib/str-two-way.h: Clean up stray macro.
53658         * NEWS: Document new module.
53659         * MODULES.html.sh (string handling): Likewise.
53660         * doc/functions/strcasestr.texi: New file.
53661         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
53662         here, since it is not a POSIX function.
53663
53664 2008-01-14  Colin Watson  <cjwatson@debian.org>
53665             Bruno Haible  <bruno@clisp.org>
53666
53667         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
53668         works fine; if not, set REPLACE_STRSIGNAL.
53669         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
53670         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53671         REPLACE_STRSIGNAL.
53672         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
53673         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
53674         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
53675
53676 2008-01-14  Bruno Haible  <bruno@clisp.org>
53677
53678         * modules/strsignal (Include): Change to <string.h>.
53679
53680 2008-01-14  Colin Watson  <cjwatson@debian.org>
53681
53682         * modules/argp (Notice): Add a notice recommending to change
53683         XGETTEXT_OPTIONS.
53684         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
53685
53686 2008-01-13  Colin Watson  <cjwatson@debian.org>
53687
53688         * modules/strsignal-tests: New file.
53689         * tests/test-strsignal.c: New file.
53690
53691         * lib/strsignal.c: New file, from glibc with modifications.
53692         * lib/siglist.h: New file, from glibc with modifications.
53693         * lib/string.in.h (strsignal): New declaration.
53694         * m4/strsignal.m4: New file.
53695         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53696         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
53697         * modules/strsignal: New file.
53698         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
53699         HAVE_DECL_STRSIGNAL.
53700
53701 2008-01-13  Bruno Haible  <bruno@clisp.org>
53702
53703         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
53704         locale encoding is not ASCII. Needed for OpenBSD 4.0.
53705         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
53706         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
53707
53708 2008-01-13  Bruno Haible  <bruno@clisp.org>
53709
53710         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
53711         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
53712         * lib/argp.h (__attribute__): Likewise.
53713         * lib/c-stack.c (__attribute__): Likewise.
53714         * lib/error.h (__attribute__): Likewise.
53715         * lib/fts.c (__attribute__): Likewise.
53716         * lib/openat.h (__attribute__): Likewise.
53717         * lib/stdio.in.h (__attribute__): Likewise.
53718         * lib/string.in.h (__attribute__): Likewise.
53719         * lib/utimens.c (__attribute__): Likewise.
53720         * lib/vasnprintf.h (__attribute__): Likewise.
53721         * lib/xalloc.h (__attribute__): Likewise.
53722         * lib/xprintf.h (__attribute__): Likewise.
53723         * lib/xstrtol.h (__attribute__): Likewise.
53724         * lib/xvasprintf.h (__attribute__): Likewise.
53725
53726 2008-01-12  Bruno Haible  <bruno@clisp.org>
53727
53728         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
53729         * doc/glibc-headers/a.out.texi: New file.
53730         * doc/glibc-headers/aliases.texi: New file.
53731         * doc/glibc-headers/alloca.texi: New file.
53732         * doc/glibc-headers/ar.texi: New file.
53733         * doc/glibc-headers/argp.texi: New file.
53734         * doc/glibc-headers/argz.texi: New file.
53735         * doc/glibc-headers/byteswap.texi: New file.
53736         * doc/glibc-headers/crypt.texi: New file.
53737         * doc/glibc-headers/endian.texi: New file.
53738         * doc/glibc-headers/envz.texi: New file.
53739         * doc/glibc-headers/err.texi: New file.
53740         * doc/glibc-headers/error.texi: New file.
53741         * doc/glibc-headers/execinfo.texi: New file.
53742         * doc/glibc-headers/fpu_control.texi: New file.
53743         * doc/glibc-headers/fstab.texi: New file.
53744         * doc/glibc-headers/fts.texi: New file.
53745         * doc/glibc-headers/getopt.texi: New file.
53746         * doc/glibc-headers/ieee754.texi: New file.
53747         * doc/glibc-headers/ifaddrs.texi: New file.
53748         * doc/glibc-headers/libintl.texi: New file.
53749         * doc/glibc-headers/mcheck.texi: New file.
53750         * doc/glibc-headers/mntent.texi: New file.
53751         * doc/glibc-headers/obstack.texi: New file.
53752         * doc/glibc-headers/paths.texi: New file.
53753         * doc/glibc-headers/printf.texi: New file.
53754         * doc/glibc-headers/pty.texi: New file.
53755         * doc/glibc-headers/resolv.texi: New file.
53756         * doc/glibc-headers/shadow.texi: New file.
53757         * doc/glibc-headers/sysexits.texi: New file.
53758         * doc/glibc-headers/ttyent.texi: New file.
53759
53760 2008-01-12  Jim Meyering  <meyering@redhat.com>
53761
53762         announce-gen: emit Gnulib's git-based version string.
53763         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
53764         New option --gnulib-version=V, where V is expected to be
53765         the output of running git describe in the gnulib directory.
53766         (get_tool_versions): Request feedback on xdelta.  I suspect it's
53767         not useful, and plan to stop publishing an xdelta file with each
53768         coreutils release.
53769
53770         * build-aux/announce-gen: Also check for lzma-compressed files.
53771
53772 2008-01-11  Bruno Haible  <bruno@clisp.org>
53773
53774         * tests/test-memmem.c (main): Increase maximum allowed time.
53775         * tests/test-strstr.c (main): Likewise.
53776
53777 2008-01-11  Bruno Haible  <bruno@clisp.org>
53778
53779         * doc/functions/memmem.texi: Add more precisions about platforms.
53780         * doc/functions/strstr.texi: Likewise.
53781
53782 2008-01-10  Eric Blake  <ebb9@byu.net>
53783
53784         * m4/strstr.m4: Delete cruft from copy-n-paste.
53785         Reported by Bruno Haible.
53786
53787 2008-01-10  Bruno Haible  <bruno@clisp.org>
53788
53789         Make c-strstr rely on strstr.
53790         * lib/c-strstr.c: Don't include str-kmp.h.
53791         (c_strstr): Define in terms of strstr.
53792         * modules/c-strstr (Files): Remove lib/str-kmp.h.
53793         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
53794
53795 2008-01-10  Bruno Haible  <bruno@clisp.org>
53796
53797         * doc/gnulib.texi (String Functions in C Locale): New section.
53798         * doc/c-ctype.texi: New file.
53799         * doc/c-strcase.texi: New file.
53800         * doc/c-strcaseeq.texi: New file.
53801         * doc/c-strcasestr.texi: New file.
53802         * doc/c-strstr.texi: New file.
53803         * doc/c-strtod.texi: New file.
53804         * doc/c-strtold.texi: New file.
53805
53806 2008-01-10  Eric Blake  <ebb9@byu.net>
53807
53808         * lib/relocatable.h: Fix a comment.
53809
53810 2008-01-10  Eric Blake  <ebb9@byu.net>
53811
53812         Share two-way algorithm.
53813         * lib/str-two-way.h: New file, merged from...
53814         * lib/memmem.c: ...here...
53815         * lib/strstr.c: ...and here.
53816         * modules/memmem (Files): Use it.
53817         * modules/strstr (Files): Likewise.
53818
53819         Avoid quadratic strstr implementations.
53820         * lib/strstr.c: New file.
53821         * m4/strstr.m4: Likewise.
53822         * modules/strstr: Likewise.
53823         * modules/strstr-tests: Likewise.
53824         * tests/test-strstr.c: Likewise.
53825         * lib/string.in.h (rpl_strstr): Declare.
53826         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
53827         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
53828         * modules/string (Makefile.am): Likewise.
53829         * MODULES.html.sh (string handling): Mention new module.
53830         * doc/functions/strstr.texi (strstr): Document the bug.
53831
53832 2008-01-10  Bruno Haible  <bruno@clisp.org>
53833
53834         * lib/relocatable.h (relocate): State whether result is freshly
53835         allocated or not.
53836         * lib/relocatable.c (relocate): Return a freshly allocated string
53837         instead of a pointer to a privately held string.
53838         Reported by Sylvain Beucler <beuc@gnu.org>.
53839
53840 2008-01-10  Colin Watson  <cjwatson@debian.org>
53841
53842         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
53843         s/S_ISNLK/S_ISLNK/.
53844
53845 2008-01-09  Bruno Haible  <bruno@clisp.org>
53846
53847         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
53848         and other files.
53849         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
53850         if it's only a guess.
53851         * modules/memmem: Simplify by depending on memmem-simple.
53852
53853 2008-01-09  Bruno Haible  <bruno@clisp.org>
53854
53855         Work around OpenBSD 4.0 tdelete() bug.
53856         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
53857         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
53858         macros and don't redefine the enum values.
53859         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
53860         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
53861         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
53862
53863 2008-01-09  Bruno Haible  <bruno@clisp.org>
53864
53865         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
53866         (main): Don't perform the tests if setlocale did not install a UTF-8
53867         locale. Needed on OpenBSD 4.0.
53868         * modules/wcwidth-tests (Depends-on): Add localcharset.
53869
53870 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
53871
53872         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
53873         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
53874         * NEWS: announce this.
53875         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
53876
53877 2008-01-09  Simon Josefsson  <simon@josefsson.org>
53878         and Eric Blake  <ebb9@byu.net>
53879
53880         Add memmem-simple module.
53881         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
53882         (gl_FUNC_MEMMEM): Separate performance from presence checks.
53883         * modules/memmem-simple: New file.
53884         * modules/memmem (Description): Tweak.
53885         * MODULES.html.sh (string handling): Mention new module.
53886         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
53887         addressed by memmem-simple.
53888         * NEWS: Document the difference.
53889
53890 2008-01-09  Eric Blake  <ebb9@byu.net>
53891
53892         Give gcc some memmem optimization hints.
53893         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
53894         (strcasestr): Declare as pure.
53895         * modules/memmem (Maintainer): Claim my implementation.
53896
53897 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53898
53899         Support AIX 6.1 and higher.
53900         * build-aux/config.libpath: Likewise.
53901         * build-aux/config.rpath: Likewise.
53902
53903 2008-01-08  Jim Meyering  <meyering@redhat.com>
53904             Bruno Haible  <bruno@clisp.org>
53905
53906         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
53907         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
53908         Reported by Peter Fales in
53909         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
53910
53911 2008-01-08  Bruno Haible  <bruno@clisp.org>
53912
53913         * modules/unictype/category-of (Depends-on): Add
53914         unictype/category-none.
53915         * modules/unictype/category-and-tests (Depends-on): Add
53916         unictype/category-{L,N,Lu,Nd}.
53917         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
53918         * modules/unictype/category-or-tests (Depends-on): Add
53919         unictype/category-{L,N}.
53920         * modules/unictype/category-name-tests (Depends-on): Add
53921         unictype/category-{Z,Nl}.
53922         Reported by Simon Josefsson.
53923
53924 2008-01-08  Bruno Haible  <bruno@clisp.org>
53925
53926         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
53927         convention better.
53928         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
53929         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
53930         Reported by Peter Miller <millerp@canb.auug.org.au>.
53931
53932 2008-01-08  Eric Blake  <ebb9@byu.net>
53933
53934         Rewrite memmem to guarantee linear complexity without malloc.
53935         * lib/memmem.c (memmem): Use Two-Way rather than
53936         Knuth-Morris-Pratt, to allow O(1) space usage.
53937         (critical_factorization, two_way_short_needle)
53938         (two_way_long_needle): New functions.
53939         (knuth_morris_pratt): Delete.
53940         * modules/memmem (Depends-on): No longer need malloca or stdbool.
53941         Add stdint.
53942         * tests/test-memmem.c (main): Add tests for periodic needle and
53943         sublinear performance.
53944         * doc/functions/memmem.texi (memmem): Document other deficiencies
53945         in cygwin and older glibc.
53946
53947 2008-01-08  Bruno Haible  <bruno@clisp.org>
53948
53949         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
53950         augmentation.
53951
53952 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
53953
53954         Add a configure time option: --disable-acl.
53955         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
53956         AC_ARG_ENABLE(acl).
53957
53958 2008-01-06  Simon Josefsson  <simon@josefsson.org>
53959
53960         * tests/test-localename.c: Don't include obsolete "setenv.h".
53961
53962         * modules/localename-tests (Depends-on): Need unsetenv.
53963
53964 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53965
53966         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
53967
53968 2008-01-06  Colin Watson  <cjwatson@debian.org>
53969
53970         * users.txt: Add man-db.
53971
53972 2008-01-07  Bruno Haible  <bruno@clisp.org>
53973
53974         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
53975         previous section name.
53976
53977 2008-01-07  Bruno Haible  <bruno@clisp.org>
53978
53979         * lib/progname.c (set_program_name): Don't strip off a leading
53980         "lt-" prefix outside a .libs directory.
53981         Suggested by Paul Eggert.
53982
53983 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
53984             Bruno Haible  <bruno@clisp.org>
53985
53986         Improve memory cleanup in 'relocatable' module.
53987         * lib/relocatable.h (compute_curr_prefix): Change return type to
53988         'char *'.
53989         * lib/relocatable.c (compute_curr_prefix): Change return type to
53990         'char *'. Free curr_installdir after use.
53991         (relocate): Free curr_prefix_better after use.
53992         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
53993
53994 2008-01-01  Bruno Haible  <bruno@clisp.org>
53995
53996         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
53997         failure on older glibc systems.
53998         Reported by Peter Fales <psfales@alcatel-lucent.com>.
53999
54000 2008-01-05  Eric Blake  <ebb9@byu.net>
54001
54002         Avoid quadratic system memmem.
54003         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
54004         Reported by Ralf Wildenhues.
54005
54006         Fix memmem test for mingw.
54007         * modules/memmem-tests (configure.ac): Check for alarm.
54008         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
54009         it.
54010         * doc/functions/memmem.texi: New file.
54011         * doc/gnulib.texi (Function Substitutes): Add memmem.
54012         Reported by Bruno Haible.
54013
54014 2008-01-04  Bruno Haible  <bruno@clisp.org>
54015
54016         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
54017         Require gl_HEADER_STRINGS_H_DEFAULTS, not
54018         gl_HEADER_STRING_H_DEFAULTS.
54019
54020 2008-01-04  Eric Blake  <ebb9@byu.net>
54021
54022         Shorten duration of memmem test.
54023         * tests/test-memmem.c (main): Use alarm to declare failure if test
54024         is taking too long.
54025         Reported by Ralf Wildenhues.
54026
54027 2007-12-21  Simon Josefsson  <simon@josefsson.org>
54028
54029         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
54030         string, needed by strerror.
54031
54032 2008-01-03  Colin Watson  <cjwatson@debian.org>
54033             Bruno Haible  <bruno@clisp.org>
54034
54035         * doc/gnulib-tool.texi (Localization): New section.
54036
54037 2008-01-02  Bruno Haible  <bruno@clisp.org>
54038
54039         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
54040         variables to 'unsigned char *' type.
54041         Reported by Paul Eggert.
54042
54043 2008-01-02  Jim Meyering  <jim@meyering.net>
54044
54045         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
54046
54047 2007-12-31  Jim Meyering  <jim@meyering.net>
54048
54049         Avoid use of private FTS type name.
54050         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
54051
54052 2007-12-30  Karl Berry  <karl@gnu.org>
54053
54054         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
54055         work around defect in Texinfo and/or the standalone Info browser.
54056
54057 2007-12-30  Bruno Haible  <bruno@clisp.org>
54058
54059         Unify 5 copies of the KMP code.
54060         * lib/str-kmp.h: New file.
54061         * lib/c-strcasestr.c: Include str-kmp.h.
54062         (knuth_morris_pratt): Remove function.
54063         (c_strcasestr): Update.
54064         * lib/c-strstr.c: Include str-kmp.h.
54065         (knuth_morris_pratt): Remove function.
54066         (c_strcasestr): Update.
54067         * lib/mbscasestr.c: Include str-kmp.h.
54068         (knuth_morris_pratt_unibyte): Remove function.
54069         * lib/mbsstr.c: Include str-kmp.h.
54070         (knuth_morris_pratt_unibyte): Remove function.
54071         * lib/strcasestr.c: Include str-kmp.h.
54072         (knuth_morris_pratt): Remove function.
54073         (strcasestr): Update.
54074         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
54075         * modules/c-strstr (Files): Likewise.
54076         * modules/mbscasestr (Files): Likewise.
54077         * modules/mbsstr (Files): Likewise.
54078         * modules/strcasestr (Files): Likewise.
54079         Suggested by Paul Eggert.
54080
54081 2007-12-30  Bruno Haible  <bruno@clisp.org>
54082
54083         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
54084         defined.
54085
54086 2007-12-30  Bruno Haible  <bruno@clisp.org>
54087
54088         * lib/xmalloca.h: Include xalloc.h.
54089         (xnmalloca): New macro.
54090
54091 2007-12-30  Bruno Haible  <bruno@clisp.org>
54092
54093         * lib/malloca.h (nmalloca): New macro.
54094         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
54095         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
54096         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
54097         knuth_morris_pratt_multibyte): Likewise.
54098         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
54099         knuth_morris_pratt_multibyte): Likewise.
54100         * lib/memmem.c (knuth_morris_pratt): Likewise.
54101         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
54102
54103 2007-12-25  Bruno Haible  <bruno@clisp.org>
54104
54105         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
54106         * lib/glob.c: Don't include openat.h.
54107         (link_exists2_p): Add back the code that deals with the
54108         !GLOB_ALTDIRFUNC case.
54109         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
54110         let it do the filename concatenation.
54111         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
54112         * modules/glob (Depends-on): Remove openat.
54113
54114 2007-12-31  Bruno Haible  <bruno@clisp.org>
54115
54116         * modules/dirfd (License): Change to LGPLv2+.
54117         Approved by Jim Meyering.
54118
54119 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
54120
54121         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
54122         when multiplying M by sizeof (size_t).
54123
54124 2007-12-10  Martin Lambers  <marlam@marlam.de>
54125
54126         Override getpagesize on mingw.
54127         * lib/getpagesize.c: New file.
54128         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
54129         * modules/getpagesize (Files): Add lib/getpagesize.c.
54130         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
54131         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54132         REPLACE_GETPAGESIZE.
54133         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
54134
54135 2007-12-25  Bruno Haible  <bruno@clisp.org>
54136
54137         * modules/localcharset (Notice): New field.
54138         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
54139         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
54140
54141 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
54142             Bruno Haible  <bruno@clisp.org>
54143
54144         Avoid using the syntax symbol() in formatted documentation.
54145         * MODULES.html.sh (func_module): When replacing symbol() with a
54146         hyperlink, remove the parentheses. Show an error if some remain.
54147         Recognize and render the '...' syntax.
54148         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
54149         Rework. Add paragraph about GCC's inlining.
54150         * doc/alloca.texi: Likewise.
54151         * doc/error.texi: Remove parentheses from symbol reference.
54152         * doc/gnulib-intro.texi: Likewise.
54153         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
54154         * modules/fnmatch (Description): Reword to say "the ... function".
54155         * modules/full-read (Description): Likewise.
54156         * modules/full-write (Description): Likewise.
54157         * modules/safe-read (Description): Likewise.
54158         * modules/safe-write (Description): Likewise.
54159         * modules/strchrnul (Description): Likewise.
54160         * modules/trim (Description): Likewise.
54161         * modules/error (Description): Remove parentheses from symbol
54162         references.
54163         * modules/verror (Description): Likewise.
54164         Reported by Karl Berry.
54165
54166 2007-12-25  Bruno Haible  <bruno@clisp.org>
54167
54168         Fixup after 2007-10-16 commit.
54169         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
54170
54171 2007-12-24  Bruno Haible  <bruno@clisp.org>
54172
54173         Make --enable-relocatable work with DESTDIR.
54174         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
54175         to compute installdir from destprog.
54176         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
54177         also set the RELOC_DESTDIR variable.
54178         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
54179
54180 2007-12-24  Bruno Haible  <bruno@clisp.org>
54181
54182         Fix link error due to xalloc_die().
54183         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
54184         of xreadlink.
54185         * lib/relocwrapper.c: Update comments.
54186         * build-aux/install-reloc: Remove xreadlink.c from file list.
54187         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
54188         xreadlink.c.
54189         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
54190
54191 2007-12-24  Bruno Haible  <bruno@clisp.org>
54192
54193         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
54194         * lib/setenv.h: Remove file.
54195         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
54196         lib/setenv.h.
54197         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
54198         (Depends-on): Add stdlib.
54199         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
54200         gl_FUNC_UNSETENV.
54201         (Include): Replace setenv.h with <stdlib.h>.
54202         * modules/unsetenv: New file.
54203         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
54204         * lib/unsetenv.c: Include <stdlib.h> first.
54205         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
54206         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
54207         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
54208         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
54209         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
54210         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
54211         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
54212         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
54213         * doc/functions/unsetenv.texi: Update.
54214         * modules/xsetenv (Depends-on): Add unsetenv.
54215         * modules/getdate (Depends-on): Likewise.
54216         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
54217         * lib/xsetenv.c: Don't include setenv.h.
54218         * lib/getdate.y: Likewise.
54219         * lib/relocwrapper.c: Likewise.
54220         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
54221         (Depends-on): Add stdlib.
54222         * NEWS: Mention the changes.
54223         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
54224
54225 2007-12-23  Bruno Haible  <bruno@clisp.org>
54226
54227         * lib/memmem.c (memmem): Use lowercase variable names. Tab
54228         indentation.
54229
54230 2007-12-23  Bruno Haible  <bruno@clisp.org>
54231
54232         * lib/c-strcasestr.c: Add more comments.
54233         * lib/c-strstr.c: Likewise.
54234         * lib/mbscasestr.c: Likewise.
54235         * lib/mbsstr.c: Likewise.
54236         * lib/strcasestr.c: Likewise.
54237         * lib/memmem.c: Likewise.
54238
54239 2007-12-23  Bruno Haible  <bruno@clisp.org>
54240
54241         * tests/test-memmem.c: Include <string.h> first.
54242
54243 2007-12-22  Bruno Haible  <bruno@clisp.org>
54244
54245         * gnulib-tool (func_create_testdir): Change $auxdir while generating
54246         the contents of $testsbase.
54247         Reported by Ralf Wildenhues.
54248
54249 2007-12-22  Bruno Haible  <bruno@clisp.org>
54250
54251         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
54252         two variables local_ldadd_before, local_ldadd_last.
54253
54254 2007-12-20  Eric Blake  <ebb9@byu.net>
54255
54256         Work around circular library issue when cross-compiling.
54257         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
54258         that progname.o does not need to pull in rpl_memcmp.
54259
54260 2007-12-19  Eric Blake  <ebb9@byu.net>
54261
54262         Fix memmem to avoid O(n^2) worst-case complexity.
54263         * lib/memmem.c (knuth_morris_pratt): New function.
54264         (memmem): Use it if first few naive iterations fail.
54265         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
54266         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
54267         * modules/memchr (License): Likewise.
54268         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
54269         malloca.
54270         * tests/test-memmem.c: Rewrite, borrowing ideas from
54271         test-mbsstr1.c; the old version wouldn't even compile!
54272         * modules/memmem-tests: New file.
54273         * lib/string.in.h (rpl_memmem): Add declaration.
54274         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
54275         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
54276         REPLACE_MEMMEM.
54277
54278 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54279
54280         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
54281         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
54282         before any system include files, and undef after them all.  This
54283         should fix a problem on VMS reported by John E. Malmberg in
54284         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
54285
54286 2007-12-17  Eric Blake  <ebb9@byu.net>
54287
54288         Revert addition of verify, for BSD/OS.
54289         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
54290         can't handle large files, for the sake of obsolete platforms.
54291         * modules/fseeko (Depends-on): Remove verify.
54292         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
54293         * doc/functions/ftello.texi (ftello): Likewise.
54294         * doc/functions/fgetpos.texi (fgetpos): Likewise.
54295         Reported by Larry Jones.
54296
54297 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
54298
54299         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
54300         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
54301
54302 2007-12-17  Jim Meyering  <meyering@redhat.com>
54303
54304         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
54305         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
54306         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
54307         * modules/getcwd (Depends-on): Add openat.
54308         Reported by Petr Salinger.
54309
54310 2007-12-17  Bruno Haible  <bruno@clisp.org>
54311
54312         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
54313         avoid a segmentation fault of the configure test on x86_64 systems.
54314
54315 2007-12-15  Jim Meyering  <meyering@redhat.com>
54316
54317         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
54318
54319 2007-12-13  Eric Blake  <ebb9@byu.net>
54320
54321         Another fseek test.
54322         * tests/test-fseek.c (main): Also test ungetc handling.
54323         * tests/test-fseeko.c (main): Likewise.
54324         * modules/fseeko (Depends-on): Add verify.
54325         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
54326         large.
54327         Reported by Larry Jones.
54328
54329         Fix fseeko on mingw.
54330         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
54331         seek.
54332
54333         Beef up fseek tests.
54334         * tests/test-fseek.c (main): Also test eof handling.
54335         * tests/test-fseeko.c (main): Likewise.
54336         Reported by Larry Jones.
54337
54338 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
54339
54340         Fix fseeko on BSD-based platforms.
54341         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
54342         successful seek.
54343
54344 2007-12-12  Eric Blake  <ebb9@byu.net>
54345
54346         Allow circular dependency of separate libtests.a
54347         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
54348         when use_libtests.
54349
54350 2007-12-11  Eric Blake  <ebb9@byu.net>
54351
54352         Fix bug with -0.0L in previous patch.
54353         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
54354         * tests/test-isnan.c (main): Also test on zeroes.
54355         * tests/test-isnanf.c (main): Likewise.
54356         * tests/test-isnanl.h (main): Likewise.
54357
54358         Detect pseudo-denormals on x86 even when cross-compiling.
54359         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
54360         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
54361         invalid bit patterns that happen to satisfy ==.
54362
54363         Avoid link failures with separate libtests.a.
54364         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
54365         last, to satisfy circular dependencies.
54366
54367 2007-12-11  Eric Blake  <ebb9@byu.net>
54368         and Bruno Haible  <bruno@clisp.org>
54369
54370         Fix OpenBSD 4.0 <float.h> handling of long double.
54371         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
54372         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
54373         * doc/headers/float.texi (float.h): Document OpenBSD bug.
54374
54375 2007-12-11  Jim Meyering  <meyering@redhat.com>
54376
54377         * users.txt: Add libvirt.
54378
54379         Support versions of autoconf prior to 2.59c.
54380         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
54381         if it is not already defined.
54382
54383 2007-12-09  Bruno Haible  <bruno@clisp.org>
54384
54385         Let 'gnulib-tool --import' collect sources needed for the tests in
54386         tests/ rather than in lib/.
54387         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
54388         argument. If true, add rules to generate libtests.a, and put libtests.a
54389         into $(LDADD). Consider source files in subdirectories and set
54390         uses_subdirs.
54391         (func_emit_initmacro_start, func_emit_initmacro_end,
54392         func_emit_initmacro_done): Pass all arguments explicitly.
54393         (func_import): Determine two module lists main_modules,
54394         testsrelated_modules. Determine use_libtests. Determine two variables
54395         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
54396         instead of just sed_transform_lib_file. Determine two variables
54397         main_files and testsrelated_files. Compute 'files' as the union of
54398         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
54399         func_add_or_update. In the generated gnulib-comp.m4, collect the
54400         object files for tests/ in different variables than those for lib/.
54401         Substitute LIBTESTS_LIBDEPS.
54402         (func_create_testdir): Combine the uses_subdirs results from
54403         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
54404
54405 2007-12-09  Bruno Haible  <bruno@clisp.org>
54406
54407         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
54408         the build-aux directory.
54409
54410 2007-12-09  Bruno Haible  <bruno@clisp.org>
54411
54412         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
54413         introduced on 2006-09-09.
54414
54415 2007-12-07  Jim Meyering  <meyering@redhat.com>
54416
54417         Let these macros work also with autoconf-2.59.
54418         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
54419         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
54420         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
54421
54422 2007-12-06  Jim Meyering  <meyering@redhat.com>
54423
54424         Avoid a configure-time syntax error in gl_FUNC_ACL.
54425         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
54426         function in each branch, before testing the cache variable.
54427
54428 2007-12-04  Eric Blake  <ebb9@byu.net>
54429
54430         Make scripts executable.
54431         * build-aux/config.guess: Add execute permissions.
54432         * build-aux/config.sub: Likewise.
54433         * build-aux/gendocs.sh: Likewise.
54434
54435         Fix frexp on mingw.
54436         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
54437         cross-compiling.
54438         * doc/functions/frexp.texi (frexp): Document the bug.
54439
54440         Make cygwin fseeko check more reliable.
54441         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
54442         version numbers, rather than unrelated feature check.
54443         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
54444         * doc/functions/ftello.texi (ftello): Likewise.
54445         Reported by Bruno Haible.
54446
54447         * m4/strerror.m4: Bump version number.
54448
54449 2007-12-03  Bruno Haible  <bruno@clisp.org>
54450
54451         * doc/functions/mprotect.texi: Mention the mingw problem.
54452
54453 2007-12-03  Eric Blake  <ebb9@byu.net>
54454
54455         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
54456         REPLACE_STRERROR is initialized before this macro.
54457
54458 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
54459
54460         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
54461         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
54462         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
54463         put -lsec in even for programs other than 'ls'.  This fixes a problem
54464         for gettext reported by Bruno Haible in
54465         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
54466         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
54467         Add support for Solaris 10.  This isn't efficient, but should get the
54468         job done for now.
54469
54470 2007-12-03  James Youngman  <jay@gnu.org>
54471
54472         * doc/regexprops-generic.texi: change "an close-group" to "a
54473         close-group" and "illegal" to "not allowed".
54474
54475 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54476
54477         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
54478         pr_byname.h. Needed for the rare case when the maintainer has done
54479         "make maintainer-clean" in the source directory and then attempts a
54480         build outside the source directory.
54481         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
54482         scripts_byname.h.
54483
54484 2007-12-02  Martin Lambers <marlam@marlam.de>
54485             Bruno Haible  <bruno@clisp.org>
54486
54487         * lib/getpagesize.h: Remove file.
54488         * lib/unistd.in.h: Include declaration of getpagesize here.
54489         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
54490         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
54491         HAVE_SYS_PARAM_H.
54492         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
54493         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
54494         * modules/getpagesize (Files): Remove lib/getpagesize.h.
54495         (Depends-on): Add unistd.
54496         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54497         (Include): Use <unistd.h> instead of getpagesize.h.
54498         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
54499         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
54500         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
54501         gl_GETPAGESIZE invocation, already handled by module dependency.
54502         * lib/pagealign_alloc.c: Don't include getpagesize.h.
54503
54504 2007-12-02  Bruno Haible  <bruno@clisp.org>
54505
54506         * modules/strings-tests: New file.
54507         * tests/test-strings.c: New file.
54508
54509         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
54510         * lib/strings.in.h: New file.
54511         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
54512         * m4/strings_h.m4: New file.
54513         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
54514         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
54515         * modules/strings: New file.
54516         * modules/string (Makefile.am): Update.
54517         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
54518         Reported by Karl Berry.
54519
54520 2007-12-01  Eric Blake  <ebb9@byu.net>
54521
54522         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
54523         accomodate fix in cygwin 1.5.25.
54524
54525 2007-12-01  Jim Meyering  <meyering@redhat.com>
54526
54527         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
54528         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
54529         that would inhibit utf8-optimization of a regexp containing line-
54530         or buffer-anchors, e.g., `^', `$'.
54531
54532 2007-11-30  Bruno Haible  <bruno@clisp.org>
54533
54534         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
54535         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
54536         glthread_recursive_lock_init.
54537         * lib/lock.c (glthread_recursive_lock_init)
54538         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
54539         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54540
54541 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
54542
54543         New function qset_acl, like set_acl but with syscall semantics.
54544         * lib/acl.h (qset_acl): New decl.
54545         * lib/acl.c (qset_acl): New function.
54546         (set_acl): Use new function.  Use more-consistent diagnostics.
54547
54548 2007-11-28  Jim Meyering  <meyering@redhat.com>
54549
54550         * modules/physmem (License): Change from GPL to LGPLv2+.
54551
54552 2007-11-26  Bruno Haible  <bruno@clisp.org>
54553
54554         * lib/vasnprintf.c (decode_long_double): Don't abort if the
54555         'long double' type has excess precision.
54556         Reported by Jim Meyering in
54557         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
54558
54559 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54560
54561         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
54562         Sync from <http://gnu.org/licenses>.
54563         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
54564         with license text from same location.
54565         * doc/maintain.texi, doc/standards.texi:  Sync from
54566         <http://savannah.gnu.org/projects/gnustandards>.
54567
54568 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
54569         and Jim Meyering  <meyering@redhat.com>
54570
54571         Adjust getdate' grammar to accept a slightly more regular language.
54572         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
54573         Before, the former was rejected.
54574         * lib/getdate.y (digits_to_date_time): New function, factored
54575         out of ...
54576         (number): ...here.  Just call digits_to_date_time.
54577         (hybrid): New non-terminal to handle an <unsigned number,
54578         signed relative offset> sequence consistently.
54579
54580 2007-11-18  Jim Meyering  <meyering@redhat.com>
54581
54582         Pull my changes from coreutils:
54583         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
54584         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
54585         use of $gnulib_tool_option_extras, so that it's separated from the
54586         preceding argument.
54587
54588         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
54589         * build-aux/bootstrap (cp_mark_as_generated): Create any required
54590         parent destination directories before copying a file into place.
54591
54592 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
54593
54594         bootstrap: work also with 4-argument variant of AC_INIT
54595         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
54596
54597 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
54598
54599         Port test-getaddrinfo to Solaris.
54600         Problem reported by Bruno Haible in
54601         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
54602         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
54603         explanation of setting 'hints'.
54604         Don't reject an implementation merely because it returns EAI_SERVICE.
54605         (EAI_SERVICE): Define to 0 if not defined.
54606
54607 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
54608
54609         The license of gnu-make and posix-shell is now "GPLed build tool".
54610         * modules/gnu-make (License): Likewise.
54611         * modules/posix-shell (License): Likewise.
54612
54613         New module posix-shell, for determining a POSIX shell
54614         or perhaps something that is close enough to a POSIX shell.
54615         * m4/posix-shell.m4: New file.
54616         * modules/posix-shell: New file.
54617
54618         * MODULES.html.sh: Mention new module.
54619
54620         New module gnu-make, for determining whether we're using GNU Make.
54621         * m4/gnu-make.m4: New file.
54622         * modules/gnu-make: New file.
54623         * MODULES.html.sh: Mention new module.
54624
54625 2007-11-14  Jim Meyering  <meyering@redhat.com>
54626
54627         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
54628         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
54629         use this macro to create a function _definition_.
54630         Remove useless "#undef ARGMATCH_DIE".
54631
54632 2007-11-14  Bruno Haible  <bruno@clisp.org>
54633
54634         * lib/config.charset: Update for OpenBSD 4.1.
54635         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
54636
54637 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
54638
54639         Document 64-bit #if problems in stdint.texi.
54640         * doc/headers/stdint.texi (stdint.h): Mention problems with
54641         64-bit-#if, and how to work around them.
54642
54643         Don't insist on 'long long int' support in the preprocessor.  It
54644         breaks too many things.  For example, PRIdMAX still uses a 'long
54645         long int' format with the latest Sun compiler, even though
54646         HAVE_LONG_LONG_INT isn't defined due to that compiler's
54647         preprocessor problem.  This causes the latest coreutils to dump
54648         core on Solaris 10 sparc with the Sun C compiler.
54649         Instead, fix the 2007-10-16 problem in a different way, by evaluating
54650         the troublesome expressions at configure-time, not at #if-time.
54651         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
54652         preprocessor.
54653         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
54654         compile-time C checks, done at 'configure'-time.
54655         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
54656         * modules/inttypes (Makefile): Substitute the new symbols that
54657         gl_INTTYPES_H now generates.
54658         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
54659
54660 2007-11-12  Bruno Haible  <bruno@clisp.org>
54661
54662         Tests for Unicode character classification functions.
54663
54664         * modules/unictype/bidicategory-byname-tests: New file.
54665         * modules/unictype/bidicategory-name-tests: New file.
54666         * modules/unictype/bidicategory-of-tests: New file.
54667         * modules/unictype/bidicategory-test-tests: New file.
54668         * modules/unictype/block-list-tests: New file.
54669         * modules/unictype/block-of-tests: New file.
54670         * modules/unictype/block-test-tests: New file.
54671         * modules/unictype/category-C-tests: New file.
54672         * modules/unictype/category-Cc-tests: New file.
54673         * modules/unictype/category-Cf-tests: New file.
54674         * modules/unictype/category-Cn-tests: New file.
54675         * modules/unictype/category-Co-tests: New file.
54676         * modules/unictype/category-Cs-tests: New file.
54677         * modules/unictype/category-L-tests: New file.
54678         * modules/unictype/category-Ll-tests: New file.
54679         * modules/unictype/category-Lm-tests: New file.
54680         * modules/unictype/category-Lo-tests: New file.
54681         * modules/unictype/category-Lt-tests: New file.
54682         * modules/unictype/category-Lu-tests: New file.
54683         * modules/unictype/category-M-tests: New file.
54684         * modules/unictype/category-Mc-tests: New file.
54685         * modules/unictype/category-Me-tests: New file.
54686         * modules/unictype/category-Mn-tests: New file.
54687         * modules/unictype/category-N-tests: New file.
54688         * modules/unictype/category-Nd-tests: New file.
54689         * modules/unictype/category-Nl-tests: New file.
54690         * modules/unictype/category-No-tests: New file.
54691         * modules/unictype/category-P-tests: New file.
54692         * modules/unictype/category-Pc-tests: New file.
54693         * modules/unictype/category-Pd-tests: New file.
54694         * modules/unictype/category-Pe-tests: New file.
54695         * modules/unictype/category-Pf-tests: New file.
54696         * modules/unictype/category-Pi-tests: New file.
54697         * modules/unictype/category-Po-tests: New file.
54698         * modules/unictype/category-Ps-tests: New file.
54699         * modules/unictype/category-S-tests: New file.
54700         * modules/unictype/category-Sc-tests: New file.
54701         * modules/unictype/category-Sk-tests: New file.
54702         * modules/unictype/category-Sm-tests: New file.
54703         * modules/unictype/category-So-tests: New file.
54704         * modules/unictype/category-Z-tests: New file.
54705         * modules/unictype/category-Zl-tests: New file.
54706         * modules/unictype/category-Zp-tests: New file.
54707         * modules/unictype/category-Zs-tests: New file.
54708         * modules/unictype/category-and-not-tests: New file.
54709         * modules/unictype/category-and-tests: New file.
54710         * modules/unictype/category-byname-tests: New file.
54711         * modules/unictype/category-name-tests: New file.
54712         * modules/unictype/category-none-tests: New file.
54713         * modules/unictype/category-of-tests: New file.
54714         * modules/unictype/category-or-tests: New file.
54715         * modules/unictype/category-test-withtable-tests: New file.
54716         * modules/unictype/combining-class-tests: New file.
54717         * modules/unictype/ctype-alnum-tests: New file.
54718         * modules/unictype/ctype-alpha-tests: New file.
54719         * modules/unictype/ctype-blank-tests: New file.
54720         * modules/unictype/ctype-cntrl-tests: New file.
54721         * modules/unictype/ctype-digit-tests: New file.
54722         * modules/unictype/ctype-graph-tests: New file.
54723         * modules/unictype/ctype-lower-tests: New file.
54724         * modules/unictype/ctype-print-tests: New file.
54725         * modules/unictype/ctype-punct-tests: New file.
54726         * modules/unictype/ctype-space-tests: New file.
54727         * modules/unictype/ctype-upper-tests: New file.
54728         * modules/unictype/ctype-xdigit-tests: New file.
54729         * modules/unictype/decimal-digit-tests: New file.
54730         * modules/unictype/digit-tests: New file.
54731         * modules/unictype/mirror-tests: New file.
54732         * modules/unictype/numeric-tests: New file.
54733         * modules/unictype/property-alphabetic-tests: New file.
54734         * modules/unictype/property-ascii-hex-digit-tests: New file.
54735         * modules/unictype/property-bidi-arabic-digit-tests: New file.
54736         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
54737         * modules/unictype/property-bidi-block-separator-tests: New file.
54738         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
54739         * modules/unictype/property-bidi-common-separator-tests: New file.
54740         * modules/unictype/property-bidi-control-tests: New file.
54741         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
54742         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
54743         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
54744         * modules/unictype/property-bidi-european-digit-tests: New file.
54745         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
54746         * modules/unictype/property-bidi-left-to-right-tests: New file.
54747         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
54748         * modules/unictype/property-bidi-other-neutral-tests: New file.
54749         * modules/unictype/property-bidi-pdf-tests: New file.
54750         * modules/unictype/property-bidi-segment-separator-tests: New file.
54751         * modules/unictype/property-bidi-whitespace-tests: New file.
54752         * modules/unictype/property-byname-tests: New file.
54753         * modules/unictype/property-combining-tests: New file.
54754         * modules/unictype/property-composite-tests: New file.
54755         * modules/unictype/property-currency-symbol-tests: New file.
54756         * modules/unictype/property-dash-tests: New file.
54757         * modules/unictype/property-decimal-digit-tests: New file.
54758         * modules/unictype/property-default-ignorable-code-point-tests: New file.
54759         * modules/unictype/property-deprecated-tests: New file.
54760         * modules/unictype/property-diacritic-tests: New file.
54761         * modules/unictype/property-extender-tests: New file.
54762         * modules/unictype/property-format-control-tests: New file.
54763         * modules/unictype/property-grapheme-base-tests: New file.
54764         * modules/unictype/property-grapheme-extend-tests: New file.
54765         * modules/unictype/property-grapheme-link-tests: New file.
54766         * modules/unictype/property-hex-digit-tests: New file.
54767         * modules/unictype/property-hyphen-tests: New file.
54768         * modules/unictype/property-id-continue-tests: New file.
54769         * modules/unictype/property-id-start-tests: New file.
54770         * modules/unictype/property-ideographic-tests: New file.
54771         * modules/unictype/property-ids-binary-operator-tests: New file.
54772         * modules/unictype/property-ids-trinary-operator-tests: New file.
54773         * modules/unictype/property-ignorable-control-tests: New file.
54774         * modules/unictype/property-iso-control-tests: New file.
54775         * modules/unictype/property-join-control-tests: New file.
54776         * modules/unictype/property-left-of-pair-tests: New file.
54777         * modules/unictype/property-line-separator-tests: New file.
54778         * modules/unictype/property-logical-order-exception-tests: New file.
54779         * modules/unictype/property-lowercase-tests: New file.
54780         * modules/unictype/property-math-tests: New file.
54781         * modules/unictype/property-non-break-tests: New file.
54782         * modules/unictype/property-not-a-character-tests: New file.
54783         * modules/unictype/property-numeric-tests: New file.
54784         * modules/unictype/property-other-alphabetic-tests: New file.
54785         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
54786         * modules/unictype/property-other-grapheme-extend-tests: New file.
54787         * modules/unictype/property-other-id-continue-tests: New file.
54788         * modules/unictype/property-other-id-start-tests: New file.
54789         * modules/unictype/property-other-lowercase-tests: New file.
54790         * modules/unictype/property-other-math-tests: New file.
54791         * modules/unictype/property-other-uppercase-tests: New file.
54792         * modules/unictype/property-paired-punctuation-tests: New file.
54793         * modules/unictype/property-paragraph-separator-tests: New file.
54794         * modules/unictype/property-pattern-syntax-tests: New file.
54795         * modules/unictype/property-pattern-white-space-tests: New file.
54796         * modules/unictype/property-private-use-tests: New file.
54797         * modules/unictype/property-punctuation-tests: New file.
54798         * modules/unictype/property-quotation-mark-tests: New file.
54799         * modules/unictype/property-radical-tests: New file.
54800         * modules/unictype/property-sentence-terminal-tests: New file.
54801         * modules/unictype/property-soft-dotted-tests: New file.
54802         * modules/unictype/property-space-tests: New file.
54803         * modules/unictype/property-terminal-punctuation-tests: New file.
54804         * modules/unictype/property-test-tests: New file.
54805         * modules/unictype/property-titlecase-tests: New file.
54806         * modules/unictype/property-unassigned-code-value-tests: New file.
54807         * modules/unictype/property-unified-ideograph-tests: New file.
54808         * modules/unictype/property-uppercase-tests: New file.
54809         * modules/unictype/property-variation-selector-tests: New file.
54810         * modules/unictype/property-white-space-tests: New file.
54811         * modules/unictype/property-xid-continue-tests: New file.
54812         * modules/unictype/property-xid-start-tests: New file.
54813         * modules/unictype/property-zero-width-tests: New file.
54814         * modules/unictype/scripts-tests: New file.
54815         * modules/unictype/syntax-c-ident-tests: New file.
54816         * modules/unictype/syntax-c-whitespace-tests: New file.
54817         * modules/unictype/syntax-java-ident-tests: New file.
54818         * modules/unictype/syntax-java-whitespace-tests: New file.
54819         * tests/unictype/test-bidi_byname.c: New file.
54820         * tests/unictype/test-bidi_name.c: New file.
54821         * tests/unictype/test-bidi_of.c: New file.
54822         * tests/unictype/test-bidi_test.c: New file.
54823         * tests/unictype/test-block_list.c: New file.
54824         * tests/unictype/test-block_of.c: New file.
54825         * tests/unictype/test-block_test.c: New file.
54826         * tests/unictype/test-categ_and.c: New file.
54827         * tests/unictype/test-categ_and_not.c: New file.
54828         * tests/unictype/test-categ_byname.c: New file.
54829         * tests/unictype/test-categ_name.c: New file.
54830         * tests/unictype/test-categ_none.c: New file.
54831         * tests/unictype/test-categ_of.c: New file.
54832         * tests/unictype/test-categ_or.c: New file.
54833         * tests/unictype/test-categ_test_withtable.c: New file.
54834         * tests/unictype/test-combining.c: New file.
54835         * tests/unictype/test-decdigit.c: New file.
54836         * tests/unictype/test-digit.c: New file.
54837         * tests/unictype/test-mirror.c: New file.
54838         * tests/unictype/test-numeric.c: New file.
54839         * tests/unictype/test-pr_byname.c: New file.
54840         * tests/unictype/test-pr_test.c: New file.
54841         * tests/unictype/test-predicate-part1.h: New file.
54842         * tests/unictype/test-predicate-part2.h: New file.
54843         * tests/unictype/test-scripts.c: New file.
54844         * tests/unictype/test-sy_c_ident.c: New file.
54845         * tests/unictype/test-sy_java_ident.c: New file.
54846
54847         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
54848         for Unicode 5.0.0.
54849         * tests/unictype/test-categ_Cc.c: Likewise.
54850         * tests/unictype/test-categ_Cf.c: Likewise.
54851         * tests/unictype/test-categ_Cn.c: Likewise.
54852         * tests/unictype/test-categ_Co.c: Likewise.
54853         * tests/unictype/test-categ_Cs.c: Likewise.
54854         * tests/unictype/test-categ_L.c: Likewise.
54855         * tests/unictype/test-categ_Ll.c: Likewise.
54856         * tests/unictype/test-categ_Lm.c: Likewise.
54857         * tests/unictype/test-categ_Lo.c: Likewise.
54858         * tests/unictype/test-categ_Lt.c: Likewise.
54859         * tests/unictype/test-categ_Lu.c: Likewise.
54860         * tests/unictype/test-categ_M.c: Likewise.
54861         * tests/unictype/test-categ_Mc.c: Likewise.
54862         * tests/unictype/test-categ_Me.c: Likewise.
54863         * tests/unictype/test-categ_Mn.c: Likewise.
54864         * tests/unictype/test-categ_N.c: Likewise.
54865         * tests/unictype/test-categ_Nd.c: Likewise.
54866         * tests/unictype/test-categ_Nl.c: Likewise.
54867         * tests/unictype/test-categ_No.c: Likewise.
54868         * tests/unictype/test-categ_P.c: Likewise.
54869         * tests/unictype/test-categ_Pc.c: Likewise.
54870         * tests/unictype/test-categ_Pd.c: Likewise.
54871         * tests/unictype/test-categ_Pe.c: Likewise.
54872         * tests/unictype/test-categ_Pf.c: Likewise.
54873         * tests/unictype/test-categ_Pi.c: Likewise.
54874         * tests/unictype/test-categ_Po.c: Likewise.
54875         * tests/unictype/test-categ_Ps.c: Likewise.
54876         * tests/unictype/test-categ_S.c: Likewise.
54877         * tests/unictype/test-categ_Sc.c: Likewise.
54878         * tests/unictype/test-categ_Sk.c: Likewise.
54879         * tests/unictype/test-categ_Sm.c: Likewise.
54880         * tests/unictype/test-categ_So.c: Likewise.
54881         * tests/unictype/test-categ_Z.c: Likewise.
54882         * tests/unictype/test-categ_Zl.c: Likewise.
54883         * tests/unictype/test-categ_Zp.c: Likewise.
54884         * tests/unictype/test-categ_Zs.c: Likewise.
54885         * tests/unictype/test-ctype_alnum.c: Likewise.
54886         * tests/unictype/test-ctype_alpha.c: Likewise.
54887         * tests/unictype/test-ctype_blank.c: Likewise.
54888         * tests/unictype/test-ctype_cntrl.c: Likewise.
54889         * tests/unictype/test-ctype_digit.c: Likewise.
54890         * tests/unictype/test-ctype_graph.c: Likewise.
54891         * tests/unictype/test-ctype_lower.c: Likewise.
54892         * tests/unictype/test-ctype_print.c: Likewise.
54893         * tests/unictype/test-ctype_punct.c: Likewise.
54894         * tests/unictype/test-ctype_space.c: Likewise.
54895         * tests/unictype/test-ctype_upper.c: Likewise.
54896         * tests/unictype/test-ctype_xdigit.c: Likewise.
54897         * tests/unictype/test-decdigit.h: Likewise.
54898         * tests/unictype/test-digit.h: Likewise.
54899         * tests/unictype/test-numeric.h: Likewise.
54900         * tests/unictype/test-pr_alphabetic.c: Likewise.
54901         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
54902         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
54903         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
54904         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
54905         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
54906         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
54907         * tests/unictype/test-pr_bidi_control.c: Likewise.
54908         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
54909         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
54910         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
54911         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
54912         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
54913         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
54914         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
54915         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
54916         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
54917         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
54918         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
54919         * tests/unictype/test-pr_combining.c: Likewise.
54920         * tests/unictype/test-pr_composite.c: Likewise.
54921         * tests/unictype/test-pr_currency_symbol.c: Likewise.
54922         * tests/unictype/test-pr_dash.c: Likewise.
54923         * tests/unictype/test-pr_decimal_digit.c: Likewise.
54924         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
54925         * tests/unictype/test-pr_deprecated.c: Likewise.
54926         * tests/unictype/test-pr_diacritic.c: Likewise.
54927         * tests/unictype/test-pr_extender.c: Likewise.
54928         * tests/unictype/test-pr_format_control.c: Likewise.
54929         * tests/unictype/test-pr_grapheme_base.c: Likewise.
54930         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
54931         * tests/unictype/test-pr_grapheme_link.c: Likewise.
54932         * tests/unictype/test-pr_hex_digit.c: Likewise.
54933         * tests/unictype/test-pr_hyphen.c: Likewise.
54934         * tests/unictype/test-pr_id_continue.c: Likewise.
54935         * tests/unictype/test-pr_id_start.c: Likewise.
54936         * tests/unictype/test-pr_ideographic.c: Likewise.
54937         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
54938         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
54939         * tests/unictype/test-pr_ignorable_control.c: Likewise.
54940         * tests/unictype/test-pr_iso_control.c: Likewise.
54941         * tests/unictype/test-pr_join_control.c: Likewise.
54942         * tests/unictype/test-pr_left_of_pair.c: Likewise.
54943         * tests/unictype/test-pr_line_separator.c: Likewise.
54944         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
54945         * tests/unictype/test-pr_lowercase.c: Likewise.
54946         * tests/unictype/test-pr_math.c: Likewise.
54947         * tests/unictype/test-pr_non_break.c: Likewise.
54948         * tests/unictype/test-pr_not_a_character.c: Likewise.
54949         * tests/unictype/test-pr_numeric.c: Likewise.
54950         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
54951         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
54952         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
54953         * tests/unictype/test-pr_other_id_continue.c: Likewise.
54954         * tests/unictype/test-pr_other_id_start.c: Likewise.
54955         * tests/unictype/test-pr_other_lowercase.c: Likewise.
54956         * tests/unictype/test-pr_other_math.c: Likewise.
54957         * tests/unictype/test-pr_other_uppercase.c: Likewise.
54958         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
54959         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
54960         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
54961         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
54962         * tests/unictype/test-pr_private_use.c: Likewise.
54963         * tests/unictype/test-pr_punctuation.c: Likewise.
54964         * tests/unictype/test-pr_quotation_mark.c: Likewise.
54965         * tests/unictype/test-pr_radical.c: Likewise.
54966         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
54967         * tests/unictype/test-pr_soft_dotted.c: Likewise.
54968         * tests/unictype/test-pr_space.c: Likewise.
54969         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
54970         * tests/unictype/test-pr_titlecase.c: Likewise.
54971         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
54972         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
54973         * tests/unictype/test-pr_uppercase.c: Likewise.
54974         * tests/unictype/test-pr_variation_selector.c: Likewise.
54975         * tests/unictype/test-pr_white_space.c: Likewise.
54976         * tests/unictype/test-pr_xid_continue.c: Likewise.
54977         * tests/unictype/test-pr_xid_start.c: Likewise.
54978         * tests/unictype/test-pr_zero_width.c: Likewise.
54979         * tests/unictype/test-sy_c_whitespace.c: Likewise.
54980         * tests/unictype/test-sy_java_whitespace.c: Likewise.
54981
54982 2007-11-12  Bruno Haible  <bruno@clisp.org>
54983
54984         Unicode character classification functions.
54985         * lib/unictype.h: New file.
54986         * modules/unictype/base: New file.
54987         * modules/unictype/category-L: New file.
54988         * modules/unictype/category-Lu: New file.
54989         * modules/unictype/category-Ll: New file.
54990         * modules/unictype/category-Lt: New file.
54991         * modules/unictype/category-Lm: New file.
54992         * modules/unictype/category-Lo: New file.
54993         * modules/unictype/category-M: New file.
54994         * modules/unictype/category-Mn: New file.
54995         * modules/unictype/category-Mc: New file.
54996         * modules/unictype/category-Me: New file.
54997         * modules/unictype/category-N: New file.
54998         * modules/unictype/category-Nd: New file.
54999         * modules/unictype/category-Nl: New file.
55000         * modules/unictype/category-No: New file.
55001         * modules/unictype/category-P: New file.
55002         * modules/unictype/category-Pc: New file.
55003         * modules/unictype/category-Pd: New file.
55004         * modules/unictype/category-Ps: New file.
55005         * modules/unictype/category-Pe: New file.
55006         * modules/unictype/category-Pi: New file.
55007         * modules/unictype/category-Pf: New file.
55008         * modules/unictype/category-Po: New file.
55009         * modules/unictype/category-S: New file.
55010         * modules/unictype/category-Sm: New file.
55011         * modules/unictype/category-Sc: New file.
55012         * modules/unictype/category-Sk: New file.
55013         * modules/unictype/category-So: New file.
55014         * modules/unictype/category-Z: New file.
55015         * modules/unictype/category-Zs: New file.
55016         * modules/unictype/category-Zl: New file.
55017         * modules/unictype/category-Zp: New file.
55018         * modules/unictype/category-C: New file.
55019         * modules/unictype/category-Cc: New file.
55020         * modules/unictype/category-Cf: New file.
55021         * modules/unictype/category-Cs: New file.
55022         * modules/unictype/category-Co: New file.
55023         * modules/unictype/category-Cn: New file.
55024         * modules/unictype/category-or: New file.
55025         * modules/unictype/category-of: New file.
55026         * modules/unictype/category-test: New file.
55027         * modules/unictype/category-test-withtable: New file.
55028         * modules/unictype/category-byname: New file.
55029         * modules/unictype/category-none: New file.
55030         * modules/unictype/category-and: New file.
55031         * modules/unictype/category-and-not: New file.
55032         * modules/unictype/category-name: New file.
55033         * modules/unictype/combining-class: New file.
55034         * modules/unictype/category-all: New file.
55035         * modules/unictype/bidicategory-all: New file.
55036         * modules/unictype/bidicategory-byname: New file.
55037         * modules/unictype/bidicategory-name: New file.
55038         * modules/unictype/bidicategory-of: New file.
55039         * modules/unictype/bidicategory-test: New file.
55040         * modules/unictype/decimal-digit: New file.
55041         * modules/unictype/digit: New file.
55042         * modules/unictype/numeric: New file.
55043         * modules/unictype/mirror: New file.
55044         * modules/unictype/property-white-space: New file.
55045         * modules/unictype/property-alphabetic: New file.
55046         * modules/unictype/property-other-alphabetic: New file.
55047         * modules/unictype/property-not-a-character: New file.
55048         * modules/unictype/property-default-ignorable-code-point: New file.
55049         * modules/unictype/property-other-default-ignorable-code-point: New
55050         file.
55051         * modules/unictype/property-deprecated: New file.
55052         * modules/unictype/property-logical-order-exception: New file.
55053         * modules/unictype/property-variation-selector: New file.
55054         * modules/unictype/property-private-use: New file.
55055         * modules/unictype/property-unassigned-code-value: New file.
55056         * modules/unictype/property-uppercase: New file.
55057         * modules/unictype/property-other-uppercase: New file.
55058         * modules/unictype/property-lowercase: New file.
55059         * modules/unictype/property-other-lowercase: New file.
55060         * modules/unictype/property-titlecase: New file.
55061         * modules/unictype/property-soft-dotted: New file.
55062         * modules/unictype/property-id-start: New file.
55063         * modules/unictype/property-other-id-start: New file.
55064         * modules/unictype/property-id-continue: New file.
55065         * modules/unictype/property-other-id-continue: New file.
55066         * modules/unictype/property-xid-start: New file.
55067         * modules/unictype/property-xid-continue: New file.
55068         * modules/unictype/property-pattern-white-space: New file.
55069         * modules/unictype/property-pattern-syntax: New file.
55070         * modules/unictype/property-join-control: New file.
55071         * modules/unictype/property-grapheme-base: New file.
55072         * modules/unictype/property-grapheme-extend: New file.
55073         * modules/unictype/property-other-grapheme-extend: New file.
55074         * modules/unictype/property-grapheme-link: New file.
55075         * modules/unictype/property-bidi-control: New file.
55076         * modules/unictype/property-bidi-left-to-right: New file.
55077         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
55078         * modules/unictype/property-bidi-arabic-right-to-left: New file.
55079         * modules/unictype/property-bidi-european-digit: New file.
55080         * modules/unictype/property-bidi-eur-num-separator: New file.
55081         * modules/unictype/property-bidi-eur-num-terminator: New file.
55082         * modules/unictype/property-bidi-arabic-digit: New file.
55083         * modules/unictype/property-bidi-common-separator: New file.
55084         * modules/unictype/property-bidi-block-separator: New file.
55085         * modules/unictype/property-bidi-segment-separator: New file.
55086         * modules/unictype/property-bidi-whitespace: New file.
55087         * modules/unictype/property-bidi-non-spacing-mark: New file.
55088         * modules/unictype/property-bidi-boundary-neutral: New file.
55089         * modules/unictype/property-bidi-pdf: New file.
55090         * modules/unictype/property-bidi-embedding-or-override: New file.
55091         * modules/unictype/property-bidi-other-neutral: New file.
55092         * modules/unictype/property-hex-digit: New file.
55093         * modules/unictype/property-ascii-hex-digit: New file.
55094         * modules/unictype/property-ideographic: New file.
55095         * modules/unictype/property-unified-ideograph: New file.
55096         * modules/unictype/property-radical: New file.
55097         * modules/unictype/property-ids-binary-operator: New file.
55098         * modules/unictype/property-ids-trinary-operator: New file.
55099         * modules/unictype/property-zero-width: New file.
55100         * modules/unictype/property-space: New file.
55101         * modules/unictype/property-non-break: New file.
55102         * modules/unictype/property-iso-control: New file.
55103         * modules/unictype/property-format-control: New file.
55104         * modules/unictype/property-dash: New file.
55105         * modules/unictype/property-hyphen: New file.
55106         * modules/unictype/property-punctuation: New file.
55107         * modules/unictype/property-line-separator: New file.
55108         * modules/unictype/property-paragraph-separator: New file.
55109         * modules/unictype/property-quotation-mark: New file.
55110         * modules/unictype/property-sentence-terminal: New file.
55111         * modules/unictype/property-terminal-punctuation: New file.
55112         * modules/unictype/property-currency-symbol: New file.
55113         * modules/unictype/property-math: New file.
55114         * modules/unictype/property-other-math: New file.
55115         * modules/unictype/property-paired-punctuation: New file.
55116         * modules/unictype/property-left-of-pair: New file.
55117         * modules/unictype/property-combining: New file.
55118         * modules/unictype/property-composite: New file.
55119         * modules/unictype/property-decimal-digit: New file.
55120         * modules/unictype/property-numeric: New file.
55121         * modules/unictype/property-diacritic: New file.
55122         * modules/unictype/property-extender: New file.
55123         * modules/unictype/property-ignorable-control: New file.
55124         * modules/unictype/property-test: New file.
55125         * modules/unictype/property-byname: New file.
55126         * modules/unictype/property-all: New file.
55127         * modules/unictype/scripts: New file.
55128         * modules/unictype/scripts-all: New file.
55129         * modules/unictype/block-of: New file.
55130         * modules/unictype/block-test: New file.
55131         * modules/unictype/block-list: New file.
55132         * modules/unictype/block-all: New file.
55133         * modules/unictype/syntax-c-whitespace: New file.
55134         * modules/unictype/syntax-java-whitespace: New file.
55135         * modules/unictype/syntax-c-ident: New file.
55136         * modules/unictype/syntax-java-ident: New file.
55137         * modules/unictype/ctype-alnum: New file.
55138         * modules/unictype/ctype-alpha: New file.
55139         * modules/unictype/ctype-cntrl: New file.
55140         * modules/unictype/ctype-digit: New file.
55141         * modules/unictype/ctype-graph: New file.
55142         * modules/unictype/ctype-lower: New file.
55143         * modules/unictype/ctype-print: New file.
55144         * modules/unictype/ctype-punct: New file.
55145         * modules/unictype/ctype-space: New file.
55146         * modules/unictype/ctype-upper: New file.
55147         * modules/unictype/ctype-xdigit: New file.
55148         * modules/unictype/ctype-blank: New file.
55149         * lib/unictype/bidi_byname.c: New file.
55150         * lib/unictype/bidi_name.c: New file.
55151         * lib/unictype/bidi_of.c: New file.
55152         * lib/unictype/bidi_test.c: New file.
55153         * lib/unictype/bitmap.h: New file.
55154         * lib/unictype/block_test.c: New file.
55155         * lib/unictype/blocks.c: New file.
55156         * lib/unictype/categ_C.c: New file.
55157         * lib/unictype/categ_Cc.c: New file.
55158         * lib/unictype/categ_Cf.c: New file.
55159         * lib/unictype/categ_Cn.c: New file.
55160         * lib/unictype/categ_Co.c: New file.
55161         * lib/unictype/categ_Cs.c: New file.
55162         * lib/unictype/categ_L.c: New file.
55163         * lib/unictype/categ_Ll.c: New file.
55164         * lib/unictype/categ_Lm.c: New file.
55165         * lib/unictype/categ_Lo.c: New file.
55166         * lib/unictype/categ_Lt.c: New file.
55167         * lib/unictype/categ_Lu.c: New file.
55168         * lib/unictype/categ_M.c: New file.
55169         * lib/unictype/categ_Mc.c: New file.
55170         * lib/unictype/categ_Me.c: New file.
55171         * lib/unictype/categ_Mn.c: New file.
55172         * lib/unictype/categ_N.c: New file.
55173         * lib/unictype/categ_Nd.c: New file.
55174         * lib/unictype/categ_Nl.c: New file.
55175         * lib/unictype/categ_No.c: New file.
55176         * lib/unictype/categ_P.c: New file.
55177         * lib/unictype/categ_Pc.c: New file.
55178         * lib/unictype/categ_Pd.c: New file.
55179         * lib/unictype/categ_Pe.c: New file.
55180         * lib/unictype/categ_Pf.c: New file.
55181         * lib/unictype/categ_Pi.c: New file.
55182         * lib/unictype/categ_Po.c: New file.
55183         * lib/unictype/categ_Ps.c: New file.
55184         * lib/unictype/categ_S.c: New file.
55185         * lib/unictype/categ_Sc.c: New file.
55186         * lib/unictype/categ_Sk.c: New file.
55187         * lib/unictype/categ_Sm.c: New file.
55188         * lib/unictype/categ_So.c: New file.
55189         * lib/unictype/categ_Z.c: New file.
55190         * lib/unictype/categ_Zl.c: New file.
55191         * lib/unictype/categ_Zp.c: New file.
55192         * lib/unictype/categ_Zs.c: New file.
55193         * lib/unictype/categ_and.c: New file.
55194         * lib/unictype/categ_and_not.c: New file.
55195         * lib/unictype/categ_byname.c: New file.
55196         * lib/unictype/categ_name.c: New file.
55197         * lib/unictype/categ_none.c: New file.
55198         * lib/unictype/categ_of.c: New file.
55199         * lib/unictype/categ_or.c: New file.
55200         * lib/unictype/categ_test.c: New file.
55201         * lib/unictype/combining.c: New file.
55202         * lib/unictype/ctype_alnum.c: New file.
55203         * lib/unictype/ctype_alpha.c: New file.
55204         * lib/unictype/ctype_blank.c: New file.
55205         * lib/unictype/ctype_cntrl.c: New file.
55206         * lib/unictype/ctype_digit.c: New file.
55207         * lib/unictype/ctype_graph.c: New file.
55208         * lib/unictype/ctype_lower.c: New file.
55209         * lib/unictype/ctype_print.c: New file.
55210         * lib/unictype/ctype_punct.c: New file.
55211         * lib/unictype/ctype_space.c: New file.
55212         * lib/unictype/ctype_upper.c: New file.
55213         * lib/unictype/ctype_xdigit.c: New file.
55214         * lib/unictype/decdigit.c: New file.
55215         * lib/unictype/digit.c: New file.
55216         * lib/unictype/identsyntaxmap.h: New file.
55217         * lib/unictype/mirror.c: New file.
55218         * lib/unictype/numeric.c: New file.
55219         * lib/unictype/pr_alphabetic.c: New file.
55220         * lib/unictype/pr_ascii_hex_digit.c: New file.
55221         * lib/unictype/pr_bidi_arabic_digit.c: New file.
55222         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
55223         * lib/unictype/pr_bidi_block_separator.c: New file.
55224         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
55225         * lib/unictype/pr_bidi_common_separator.c: New file.
55226         * lib/unictype/pr_bidi_control.c: New file.
55227         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
55228         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
55229         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
55230         * lib/unictype/pr_bidi_european_digit.c: New file.
55231         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
55232         * lib/unictype/pr_bidi_left_to_right.c: New file.
55233         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
55234         * lib/unictype/pr_bidi_other_neutral.c: New file.
55235         * lib/unictype/pr_bidi_pdf.c: New file.
55236         * lib/unictype/pr_bidi_segment_separator.c: New file.
55237         * lib/unictype/pr_bidi_whitespace.c: New file.
55238         * lib/unictype/pr_byname.c: New file.
55239         * lib/unictype/pr_byname.gperf: New file.
55240         * lib/unictype/pr_combining.c: New file.
55241         * lib/unictype/pr_composite.c: New file.
55242         * lib/unictype/pr_currency_symbol.c: New file.
55243         * lib/unictype/pr_dash.c: New file.
55244         * lib/unictype/pr_decimal_digit.c: New file.
55245         * lib/unictype/pr_default_ignorable_code_point.c: New file.
55246         * lib/unictype/pr_deprecated.c: New file.
55247         * lib/unictype/pr_diacritic.c: New file.
55248         * lib/unictype/pr_extender.c: New file.
55249         * lib/unictype/pr_format_control.c: New file.
55250         * lib/unictype/pr_grapheme_base.c: New file.
55251         * lib/unictype/pr_grapheme_extend.c: New file.
55252         * lib/unictype/pr_grapheme_link.c: New file.
55253         * lib/unictype/pr_hex_digit.c: New file.
55254         * lib/unictype/pr_hyphen.c: New file.
55255         * lib/unictype/pr_id_continue.c: New file.
55256         * lib/unictype/pr_id_start.c: New file.
55257         * lib/unictype/pr_ideographic.c: New file.
55258         * lib/unictype/pr_ids_binary_operator.c: New file.
55259         * lib/unictype/pr_ids_trinary_operator.c: New file.
55260         * lib/unictype/pr_ignorable_control.c: New file.
55261         * lib/unictype/pr_iso_control.c: New file.
55262         * lib/unictype/pr_join_control.c: New file.
55263         * lib/unictype/pr_left_of_pair.c: New file.
55264         * lib/unictype/pr_line_separator.c: New file.
55265         * lib/unictype/pr_logical_order_exception.c: New file.
55266         * lib/unictype/pr_lowercase.c: New file.
55267         * lib/unictype/pr_math.c: New file.
55268         * lib/unictype/pr_non_break.c: New file.
55269         * lib/unictype/pr_not_a_character.c: New file.
55270         * lib/unictype/pr_numeric.c: New file.
55271         * lib/unictype/pr_other_alphabetic.c: New file.
55272         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
55273         * lib/unictype/pr_other_grapheme_extend.c: New file.
55274         * lib/unictype/pr_other_id_continue.c: New file.
55275         * lib/unictype/pr_other_id_start.c: New file.
55276         * lib/unictype/pr_other_lowercase.c: New file.
55277         * lib/unictype/pr_other_math.c: New file.
55278         * lib/unictype/pr_other_uppercase.c: New file.
55279         * lib/unictype/pr_paired_punctuation.c: New file.
55280         * lib/unictype/pr_paragraph_separator.c: New file.
55281         * lib/unictype/pr_pattern_syntax.c: New file.
55282         * lib/unictype/pr_pattern_white_space.c: New file.
55283         * lib/unictype/pr_private_use.c: New file.
55284         * lib/unictype/pr_punctuation.c: New file.
55285         * lib/unictype/pr_quotation_mark.c: New file.
55286         * lib/unictype/pr_radical.c: New file.
55287         * lib/unictype/pr_sentence_terminal.c: New file.
55288         * lib/unictype/pr_soft_dotted.c: New file.
55289         * lib/unictype/pr_space.c: New file.
55290         * lib/unictype/pr_terminal_punctuation.c: New file.
55291         * lib/unictype/pr_test.c: New file.
55292         * lib/unictype/pr_titlecase.c: New file.
55293         * lib/unictype/pr_unassigned_code_value.c: New file.
55294         * lib/unictype/pr_unified_ideograph.c: New file.
55295         * lib/unictype/pr_uppercase.c: New file.
55296         * lib/unictype/pr_variation_selector.c: New file.
55297         * lib/unictype/pr_white_space.c: New file.
55298         * lib/unictype/pr_xid_continue.c: New file.
55299         * lib/unictype/pr_xid_start.c: New file.
55300         * lib/unictype/pr_zero_width.c: New file.
55301         * lib/unictype/scripts.c: New file.
55302         * lib/unictype/sy_c_ident.c: New file.
55303         * lib/unictype/sy_c_whitespace.c: New file.
55304         * lib/unictype/sy_java_ident.c: New file.
55305         * lib/unictype/sy_java_whitespace.c: New file.
55306
55307         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
55308         Unicode 5.0.0.
55309         * lib/unictype/blocks.h: Likewise.
55310         * lib/unictype/categ_C.h: Likewise.
55311         * lib/unictype/categ_Cc.h: Likewise.
55312         * lib/unictype/categ_Cf.h: Likewise.
55313         * lib/unictype/categ_Cn.h: Likewise.
55314         * lib/unictype/categ_Co.h: Likewise.
55315         * lib/unictype/categ_Cs.h: Likewise.
55316         * lib/unictype/categ_L.h: Likewise.
55317         * lib/unictype/categ_Ll.h: Likewise.
55318         * lib/unictype/categ_Lm.h: Likewise.
55319         * lib/unictype/categ_Lo.h: Likewise.
55320         * lib/unictype/categ_Lt.h: Likewise.
55321         * lib/unictype/categ_Lu.h: Likewise.
55322         * lib/unictype/categ_M.h: Likewise.
55323         * lib/unictype/categ_Mc.h: Likewise.
55324         * lib/unictype/categ_Me.h: Likewise.
55325         * lib/unictype/categ_Mn.h: Likewise.
55326         * lib/unictype/categ_N.h: Likewise.
55327         * lib/unictype/categ_Nd.h: Likewise.
55328         * lib/unictype/categ_Nl.h: Likewise.
55329         * lib/unictype/categ_No.h: Likewise.
55330         * lib/unictype/categ_P.h: Likewise.
55331         * lib/unictype/categ_Pc.h: Likewise.
55332         * lib/unictype/categ_Pd.h: Likewise.
55333         * lib/unictype/categ_Pe.h: Likewise.
55334         * lib/unictype/categ_Pf.h: Likewise.
55335         * lib/unictype/categ_Pi.h: Likewise.
55336         * lib/unictype/categ_Po.h: Likewise.
55337         * lib/unictype/categ_Ps.h: Likewise.
55338         * lib/unictype/categ_S.h: Likewise.
55339         * lib/unictype/categ_Sc.h: Likewise.
55340         * lib/unictype/categ_Sk.h: Likewise.
55341         * lib/unictype/categ_Sm.h: Likewise.
55342         * lib/unictype/categ_So.h: Likewise.
55343         * lib/unictype/categ_Z.h: Likewise.
55344         * lib/unictype/categ_Zl.h: Likewise.
55345         * lib/unictype/categ_Zp.h: Likewise.
55346         * lib/unictype/categ_Zs.h: Likewise.
55347         * lib/unictype/categ_of.h: Likewise.
55348         * lib/unictype/combining.h: Likewise.
55349         * lib/unictype/ctype_alnum.h: Likewise.
55350         * lib/unictype/ctype_alpha.h: Likewise.
55351         * lib/unictype/ctype_blank.h: Likewise.
55352         * lib/unictype/ctype_cntrl.h: Likewise.
55353         * lib/unictype/ctype_digit.h: Likewise.
55354         * lib/unictype/ctype_graph.h: Likewise.
55355         * lib/unictype/ctype_lower.h: Likewise.
55356         * lib/unictype/ctype_print.h: Likewise.
55357         * lib/unictype/ctype_punct.h: Likewise.
55358         * lib/unictype/ctype_space.h: Likewise.
55359         * lib/unictype/ctype_upper.h: Likewise.
55360         * lib/unictype/ctype_xdigit.h: Likewise.
55361         * lib/unictype/decdigit.h: Likewise.
55362         * lib/unictype/digit.h: Likewise.
55363         * lib/unictype/mirror.h: Likewise.
55364         * lib/unictype/numeric.h: Likewise.
55365         * lib/unictype/pr_alphabetic.h: Likewise.
55366         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
55367         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
55368         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
55369         * lib/unictype/pr_bidi_block_separator.h: Likewise.
55370         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
55371         * lib/unictype/pr_bidi_common_separator.h: Likewise.
55372         * lib/unictype/pr_bidi_control.h: Likewise.
55373         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
55374         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
55375         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
55376         * lib/unictype/pr_bidi_european_digit.h: Likewise.
55377         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
55378         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
55379         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
55380         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
55381         * lib/unictype/pr_bidi_pdf.h: Likewise.
55382         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
55383         * lib/unictype/pr_bidi_whitespace.h: Likewise.
55384         * lib/unictype/pr_combining.h: Likewise.
55385         * lib/unictype/pr_composite.h: Likewise.
55386         * lib/unictype/pr_currency_symbol.h: Likewise.
55387         * lib/unictype/pr_dash.h: Likewise.
55388         * lib/unictype/pr_decimal_digit.h: Likewise.
55389         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
55390         * lib/unictype/pr_deprecated.h: Likewise.
55391         * lib/unictype/pr_diacritic.h: Likewise.
55392         * lib/unictype/pr_extender.h: Likewise.
55393         * lib/unictype/pr_format_control.h: Likewise.
55394         * lib/unictype/pr_grapheme_base.h: Likewise.
55395         * lib/unictype/pr_grapheme_extend.h: Likewise.
55396         * lib/unictype/pr_grapheme_link.h: Likewise.
55397         * lib/unictype/pr_hex_digit.h: Likewise.
55398         * lib/unictype/pr_hyphen.h: Likewise.
55399         * lib/unictype/pr_id_continue.h: Likewise.
55400         * lib/unictype/pr_id_start.h: Likewise.
55401         * lib/unictype/pr_ideographic.h: Likewise.
55402         * lib/unictype/pr_ids_binary_operator.h: Likewise.
55403         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
55404         * lib/unictype/pr_ignorable_control.h: Likewise.
55405         * lib/unictype/pr_iso_control.h: Likewise.
55406         * lib/unictype/pr_join_control.h: Likewise.
55407         * lib/unictype/pr_left_of_pair.h: Likewise.
55408         * lib/unictype/pr_line_separator.h: Likewise.
55409         * lib/unictype/pr_logical_order_exception.h: Likewise.
55410         * lib/unictype/pr_lowercase.h: Likewise.
55411         * lib/unictype/pr_math.h: Likewise.
55412         * lib/unictype/pr_non_break.h: Likewise.
55413         * lib/unictype/pr_not_a_character.h: Likewise.
55414         * lib/unictype/pr_numeric.h: Likewise.
55415         * lib/unictype/pr_other_alphabetic.h: Likewise.
55416         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
55417         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
55418         * lib/unictype/pr_other_id_continue.h: Likewise.
55419         * lib/unictype/pr_other_id_start.h: Likewise.
55420         * lib/unictype/pr_other_lowercase.h: Likewise.
55421         * lib/unictype/pr_other_math.h: Likewise.
55422         * lib/unictype/pr_other_uppercase.h: Likewise.
55423         * lib/unictype/pr_paired_punctuation.h: Likewise.
55424         * lib/unictype/pr_paragraph_separator.h: Likewise.
55425         * lib/unictype/pr_pattern_syntax.h: Likewise.
55426         * lib/unictype/pr_pattern_white_space.h: Likewise.
55427         * lib/unictype/pr_private_use.h: Likewise.
55428         * lib/unictype/pr_punctuation.h: Likewise.
55429         * lib/unictype/pr_quotation_mark.h: Likewise.
55430         * lib/unictype/pr_radical.h: Likewise.
55431         * lib/unictype/pr_sentence_terminal.h: Likewise.
55432         * lib/unictype/pr_soft_dotted.h: Likewise.
55433         * lib/unictype/pr_space.h: Likewise.
55434         * lib/unictype/pr_terminal_punctuation.h: Likewise.
55435         * lib/unictype/pr_titlecase.h: Likewise.
55436         * lib/unictype/pr_unassigned_code_value.h: Likewise.
55437         * lib/unictype/pr_unified_ideograph.h: Likewise.
55438         * lib/unictype/pr_uppercase.h: Likewise.
55439         * lib/unictype/pr_variation_selector.h: Likewise.
55440         * lib/unictype/pr_white_space.h: Likewise.
55441         * lib/unictype/pr_xid_continue.h: Likewise.
55442         * lib/unictype/pr_xid_start.h: Likewise.
55443         * lib/unictype/pr_zero_width.h: Likewise.
55444         * lib/unictype/scripts.h: Likewise.
55445         * lib/unictype/scripts_byname.gperf: Likewise.
55446         * lib/unictype/sy_c_ident.h: Likewise.
55447         * lib/unictype/sy_c_whitespace.h: Likewise.
55448         * lib/unictype/sy_java_ident.h: Likewise.
55449         * lib/unictype/sy_java_whitespace.h: Likewise.
55450
55451         * lib/unictype/Makefile: New file.
55452         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
55453         glibc.
55454         * lib/unictype/3level.h: New file, copied from glibc.
55455         * lib/unictype/3levelbit.h: New file.
55456
55457 2007-11-11  Bruno Haible  <bruno@clisp.org>
55458
55459         * modules/gperf: New file.
55460         * modules/iconv_open (Depends-on): Add it.
55461         (Makefile.am): Remove the GPERF definition.
55462
55463 2007-11-11  Bruno Haible  <bruno@clisp.org>
55464
55465         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
55466         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
55467
55468 2007-11-11  Bruno Haible  <bruno@clisp.org>
55469
55470         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
55471         (usage): Remove function.
55472
55473 2007-11-11  Bruno Haible  <bruno@clisp.org>
55474
55475         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
55476         gl_FUNC_CEILF_LIBS.
55477         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
55478         gl_FUNC_CEIL_LIBS.
55479         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
55480         gl_FUNC_CEILL_LIBS.
55481         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
55482         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
55483         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
55484
55485 2007-11-11  Bruno Haible  <bruno@clisp.org>
55486
55487         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
55488         roundf were declared but do not exist on functions.
55489         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
55490         roundl were declared but do not exist on functions.
55491         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
55492         HAVE_FLOORL_AND_CEILL, respectively.
55493         Needed for Sun C on Solaris 10.
55494
55495 2007-11-11  Bruno Haible  <bruno@clisp.org>
55496
55497         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
55498         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
55499         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
55500         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
55501         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
55502         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
55503         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
55504         HAVE_DECL_ROUNDF.
55505         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
55506         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
55507         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
55508         of HAVE_DECL_ROUND*.
55509         * modules/math (Makefile.am): Update.
55510
55511 2007-11-10  Bruno Haible  <bruno@clisp.org>
55512
55513         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
55514         ptrdiff_t as m4/intl.m4.
55515
55516 2007-11-10  Jim Meyering  <meyering@redhat.com>
55517
55518         Avoid link failure for the argmatch test.
55519         * tests/test-argmatch.c (usage): Define function to avoid a link
55520         failure: argmatch_die requires a usage function.
55521
55522 2007-11-09  Bruno Haible  <bruno@clisp.org>
55523
55524         * doc/functions/snprintf.texi: Mention BeOS deficiency.
55525         * doc/functions/vsnprintf.texi: Likewise.
55526         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
55527         with a size argument < 2.
55528
55529 2007-11-09  Bruno Haible  <bruno@clisp.org>
55530
55531         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
55532         buffer. Fixes an inefficiency introduced on 2007-11-03.
55533
55534 2007-11-09  Bruno Haible  <bruno@clisp.org>
55535
55536         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
55537         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
55538
55539 2007-11-08  Jim Meyering  <meyering@redhat.com>
55540
55541         Change cache variable name prefix "jm_" to "gl_" everywhere.
55542         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
55543         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
55544         * m4/uptime.m4: s/gl_/jm_/
55545
55546 2007-11-07  Bruno Haible  <bruno@clisp.org>
55547
55548         Update to GNU gettext 0.17.
55549         * m4/intl.m4: Update to GNU gettext 0.17.
55550         * m4/po.m4: Likewise.
55551         * modules/gettext (Files): Remove m4/ulonglong.m4.
55552         (configure.ac): Require gettext infrastructure from version 0.17.
55553
55554 2007-11-06  Bruno Haible  <bruno@clisp.org>
55555
55556         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
55557         symbolic values are not defined in a public header.
55558         * lib/freadable.c (freadable) [QNX]: Likewise.
55559         * lib/freadahead.c (freadahead) [QNX]: Likewise.
55560         * lib/freading.c (freading) [QNX]: Likewise.
55561         * lib/fseterr.c (fseterr) [QNX]: Likewise.
55562         * lib/fwritable.c (fwritable) [QNX]: Likewise.
55563         * lib/fwriting.c (fwriting) [QNX]: Likewise.
55564         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
55565         Reported by Alain Magloire.
55566
55567         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
55568
55569 2007-11-05  Bruno Haible  <bruno@clisp.org>
55570
55571         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
55572         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
55573         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
55574         Reported by Eric Blake.
55575
55576 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55577             Bruno Haible  <bruno@clisp.org>
55578
55579         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
55580         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
55581         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
55582         (malloc): Undefine also before including <stdlib.h>.
55583         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
55584         Needed on OSF/1 4.0.
55585
55586 2007-11-05  Jim Meyering  <meyering@redhat.com>
55587
55588         git-version-gen: sync from coreutils.
55589         * build-aux/git-version-gen: Add comments.
55590         Change the first '-' to '.' in the snapshot version string,
55591         e.g., 6.9-377-08144 -> 6.9.377-08144
55592         Remove first parameter.
55593         Don't declare a version "-dirty" merely because a time
55594         stamp has changed.
55595
55596 2007-11-04  Bruno Haible  <bruno@clisp.org>
55597
55598         * lib/lock.h: Protect all macro definitions containing an 'if'
55599         statement through a "do { ... } while (0)".
55600         * lib/tls.h: Likewise.
55601
55602 2007-11-04  Bruno Haible  <bruno@clisp.org>
55603
55604         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
55605
55606 2007-11-04  Bruno Haible  <bruno@clisp.org>
55607
55608         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
55609         * modules/fprintf-posix (Depends-on): Add nocrash.
55610         * modules/snprintf-posix (Depends-on): Likewise.
55611         * modules/sprintf-posix (Depends-on): Likewise.
55612         * modules/vasnprintf-posix (Depends-on): Likewise.
55613         * modules/vasprintf-posix (Depends-on): Likewise.
55614         * modules/vfprintf-posix (Depends-on): Likewise.
55615         * modules/vsnprintf-posix (Depends-on): Likewise.
55616         * modules/vsprintf-posix (Depends-on): Likewise.
55617         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
55618         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
55619         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
55620         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
55621         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
55622         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
55623         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
55624
55625 2007-11-04  Bruno Haible  <bruno@clisp.org>
55626
55627         * modules/nocrash: New file.
55628         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
55629         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
55630
55631 2007-11-04  Bruno Haible  <bruno@clisp.org>
55632
55633         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
55634         precision handling.
55635         * tests/test-vasprintf-posix.c (test_function): Likewise.
55636         * tests/test-snprintf-posix.h (test_function): Likewise.
55637         * tests/test-sprintf-posix.h (test_function): Likewise.
55638
55639         Fix *printf behaviour for large precisions on mingw and BeOS.
55640         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
55641         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
55642         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
55643         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
55644         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55645         gl_PRINTF_PRECISION and test its result. Invoke
55646         gl_PREREQ_VASNPRINTF_PRECISION.
55647         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55648         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55649         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55650         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55651         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55652         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55653         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55654         * doc/functions/fprintf.texi: Update.
55655         * doc/functions/printf.texi: Update.
55656         * doc/functions/snprintf.texi: Update.
55657         * doc/functions/sprintf.texi: Update.
55658         * doc/functions/vfprintf.texi: Update.
55659         * doc/functions/vprintf.texi: Update.
55660         * doc/functions/vsnprintf.texi: Update.
55661         * doc/functions/vsprintf.texi: Update.
55662
55663 2007-11-04  Bruno Haible  <bruno@clisp.org>
55664
55665         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
55666
55667 2007-11-04  Bruno Haible  <bruno@clisp.org>
55668
55669         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
55670         Reported by Sylvain Beucler <beuc@gnu.org>.
55671
55672 2007-11-03  Bruno Haible  <bruno@clisp.org>
55673
55674         * tests/test-fprintf-posix2.sh: New file.
55675         * tests/test-fprintf-posix2.c: New file.
55676         * modules/fprintf-posix-tests (Files): Add them.
55677         (TESTS): Add test-fprintf-posix2.sh.
55678         (configure.ac): Check for getrlimit and setrlimit.
55679         (check_PROGRAMS): Add test-fprintf-posix2.
55680
55681         * tests/test-printf-posix2.sh: New file.
55682         * tests/test-printf-posix2.c: New file.
55683         * modules/printf-posix-tests (Files): Add them.
55684         (TESTS): Add test-printf-posix2.sh.
55685         (configure.ac): Check for getrlimit and setrlimit.
55686         (check_PROGRAMS): Add test-printf-posix2.
55687
55688         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
55689         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
55690         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
55691         (decode_double): New function, copied from decode_long_double.
55692         (scale10_round_decimal_decoded): New function, extracted from
55693         scale10_round_decimal_long_double.
55694         (scale10_round_decimal_long_double): Use it.
55695         (scale10_round_decimal_double): New function.
55696         (floorlog10): New function.
55697         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
55698         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
55699         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
55700         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
55701         gl_PRINTF_ENOMEM and test its result. Invoke
55702         gl_PREREQ_VASNPRINTF_ENOMEM.
55703         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
55704         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
55705         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
55706         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
55707         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
55708         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
55709         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
55710         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
55711         * modules/snprintf-posix (Depends-on): Likewise.
55712         * modules/sprintf-posix (Depends-on): Likewise.
55713         * modules/vasnprintf-posix (Depends-on): Likewise.
55714         * modules/vasprintf-posix (Depends-on): Likewise.
55715         * modules/vfprintf-posix (Depends-on): Likewise.
55716         * modules/vsnprintf-posix (Depends-on): Likewise.
55717         * modules/vsprintf-posix (Depends-on): Likewise.
55718         * doc/functions/fprintf.texi: Update.
55719         * doc/functions/printf.texi: Update.
55720         * doc/functions/snprintf.texi: Update.
55721         * doc/functions/sprintf.texi: Update.
55722         * doc/functions/vfprintf.texi: Update.
55723         * doc/functions/vprintf.texi: Update.
55724         * doc/functions/vsnprintf.texi: Update.
55725         * doc/functions/vsprintf.texi: Update.
55726
55727 2007-11-03  Bruno Haible  <bruno@clisp.org>
55728
55729         * modules/frexp-nolibm-tests: New file.
55730
55731         * modules/frexp-nolibm: New file.
55732         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
55733
55734 2007-11-03  Bruno Haible  <bruno@clisp.org>
55735
55736         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
55737         value is C99 compliant.
55738         Needed for OSF/1 5.1.
55739
55740 2007-11-03  Bruno Haible  <bruno@clisp.org>
55741
55742         Fix out-of-memory handling of vasnprintf.
55743         * lib/printf-parse.c: Include <errno.h>.
55744         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
55745         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
55746         is already set.
55747
55748 2007-11-02  Eric Blake  <ebb9@byu.net>
55749
55750         Fix tests on cygwin.
55751         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
55752
55753 2007-11-01  Bruno Haible  <bruno@clisp.org>
55754
55755         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
55756         warning.
55757         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
55758         needed for POSIX compatibility.
55759
55760 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
55761
55762         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
55763         for compatibility with GNU.
55764
55765 2007-11-01  Bruno Haible  <bruno@clisp.org>
55766
55767         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
55768         (putenv): Renamed from rpl_putenv. Change argument type from
55769         'const char *' to 'char *'.
55770         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
55771         of defining putenv in config.h, just set REPLACE_PUTENV.
55772         * modules/putenv (Depends-on): Add stdlib.
55773         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55774         (Include): Use <stdlib.h>.
55775         * lib/stdlib.in.h (putenv): New declaration.
55776         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
55777         REPLACE_PUTENV.
55778         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
55779         REPLACE_PUTENV.
55780         Needed for MacOS X 10.5.0.
55781         Reported by Peter O'Gorman <peter@pogma.com>.
55782
55783 2007-11-01  Jim Meyering  <meyering@redhat.com>
55784
55785         Treat an empty date string exactly like "0".
55786         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
55787         if the remaining date string (to be parsed) is empty, use "0".
55788         Reported by Mischa Molhoek and discussed in this thread:
55789         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
55790
55791 2007-10-31  Bruno Haible  <bruno@clisp.org>
55792
55793         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
55794         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
55795         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
55796         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
55797         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
55798         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
55799
55800 2007-10-31  Bruno Haible  <bruno@clisp.org>
55801
55802         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
55803         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
55804         (AC_TYPE_LONG_LONG_INT): Use it.
55805         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
55806         it as well.
55807         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
55808         to m4/longlong.m4.
55809         * modules/stdint (Files): Remove m4/ulonglong.m4.
55810         * modules/strtoull (Files): Use m4/longlong.m4 instead of
55811         m4/ulonglong.m4.
55812         * modules/strtoumax (Files): Likewise.
55813
55814 2007-10-30  Bruno Haible  <bruno@clisp.org>
55815
55816         * modules/xvasprintf-posix: New file.
55817         Suggested by Eric Blake.
55818
55819 2007-10-30  Bruno Haible  <bruno@clisp.org>
55820
55821         * modules/xprintf-posix-tests: New file.
55822         * tests/test-xprintf-posix.sh: New file.
55823         * tests/test-xprintf-posix.c: New file.
55824         * tests/test-xfprintf-posix.c: New file.
55825
55826         * modules/xprintf-posix: New file.
55827
55828 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55829
55830         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
55831         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
55832         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
55833
55834 2007-10-29  Bruno Haible  <bruno@clisp.org>
55835
55836         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
55837         contain the special marker '_cv_'.
55838         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
55839         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
55840         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
55841         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
55842         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
55843         Reported by Ralf Wildenhues.
55844
55845 2007-10-29  Bruno Haible  <bruno@clisp.org>
55846
55847         * gnulib-tool (func_import): When --lgpl is not specified, set
55848         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
55849         GPLv3.
55850         Reported by Simon Josefsson.
55851
55852 2007-10-28  Bruno Haible  <bruno@clisp.org>
55853
55854         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
55855         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
55856         HAVE_DECL_ISFINITE.
55857         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
55858         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
55859         HAVE_DECL_ISFINITE.
55860
55861 2007-10-28  Bruno Haible  <bruno@clisp.org>
55862
55863         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
55864         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
55865
55866 2007-10-28  Bruno Haible  <bruno@clisp.org>
55867
55868         Fix link errors with Sun C 5.0 on Solaris 10.
55869         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
55870         function is declared but not present in the compiler's libm.
55871         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
55872         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
55873         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
55874         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
55875         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
55876         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
55877         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
55878         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
55879         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
55880         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
55881         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
55882         HAVE_DECL_FLOORL.
55883
55884 2007-10-28  Bruno Haible  <bruno@clisp.org>
55885
55886         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
55887         gl_FUNC_FLOORL. Cache the result.
55888         (gl_FUNC_FLOORL): Use it.
55889         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
55890         gl_FUNC_CEILL. Cache the result.
55891         (gl_FUNC_CEILL): Use it.
55892
55893         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
55894         gl_FUNC_FLOOR. Cache the result.
55895         (gl_FUNC_FLOOR): Use it.
55896         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
55897         gl_FUNC_CEIL. Cache the result.
55898         (gl_FUNC_CEIL): Use it.
55899
55900         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
55901         gl_FUNC_FLOORF. Cache the result.
55902         (gl_FUNC_FLOORF): Use it.
55903         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
55904         gl_FUNC_CEILF. Cache the result.
55905         (gl_FUNC_CEILF): Use it.
55906
55907 2007-10-28  Bruno Haible  <bruno@clisp.org>
55908
55909         * gnulib-tool: Allow specifying the LGPL version number through
55910         --lgpl=2 or --lgpl=3.
55911         (func_usage): Document --lgpl with argument.
55912         Handle --lgpl=... arguments.
55913         (func_import): Recognize also gl_LGPL calls with an argument. When
55914         --lgpl=2 is used and the module's license is just LGPL, report an
55915         error. Set sed_transform_lib_file according to the lgpl variable. In
55916         the generated files, use --lgpl or gl_LGPL invocations with argument,
55917         if necessary.
55918         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
55919         an LGPv2+ license.
55920         * doc/gnulib-tool.texi (Modified imports): Update explanation of
55921         gl_LGPL macro.
55922
55923 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55924             Bruno Haible  <bruno@clisp.org>
55925
55926         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
55927         (u16_uctomb_aux): Likewise.
55928         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
55929         !HAVE_INLINE.
55930         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
55931
55932 2007-10-28  Bruno Haible  <bruno@clisp.org>
55933
55934         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
55935         Invoke AM_GETTEXT_OPTION if it exists.
55936         * modules/vasprintf: Likewise.
55937         * modules/verror: Likewise.
55938         * modules/xprintf: Likewise.
55939         * modules/xvasprintf: Likewise.
55940
55941 2007-10-27  Ben Pfaff  <blp@gnu.org>
55942
55943         * lib/math.in.h: Define isfinite macro and prototypes for
55944         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
55945         implementations.
55946         * m4/math_h.m4: New substitutions for isfinite module.
55947         * lib/isfinite.c: New file.
55948         * m4/isfinite.m4: New file.
55949         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
55950         * modules/isfinite: New file.
55951         * modules/isfinite-tests: New file.
55952         * tests/tests-isfinite.c: New file.
55953         * doc/functions/isfinite.texi: Mention isfinite module.
55954         * MODULES.html.sh: Mention new module.
55955
55956 2007-10-27  Ben Pfaff  <blp@gnu.org>
55957
55958         Ralf Wildenhues reported that Tru64 4.0D declares the round
55959         functions but does not have definitions.
55960         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
55961         cannot be found in any library, set the output variable to
55962         "missing" instead of "".
55963         * m4/round.m4: Also use our substitute if we cannot find round in
55964         any library, even if it is declared.
55965         * m4/roundf.m4: Likewise for roundf.
55966         * m4/roundl.m4: Likewise for roundl.
55967         * lib/math.in.h: Undefine roundf, round, roundl before defining
55968         their replacements, to allow for hypothetical systems where these
55969         may be defined as macros but not available in libraries.
55970
55971 2007-10-27  Bruno Haible  <bruno@clisp.org>
55972
55973         * doc/gnulib.texi: Invoke @firstparagraphindent.
55974         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
55975         changes in gnulib.
55976         (Source changes): New section.
55977
55978 2007-10-26  Bruno Haible  <bruno@clisp.org>
55979
55980         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
55981         borrowed from autoconf.
55982
55983 2007-10-26  Bruno Haible  <bruno@clisp.org>
55984
55985         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
55986         strerror returned the empty string. Needed on HP-UX 11.00.
55987
55988 2007-10-24  Micah Cowan  <micah@cowan.name>
55989
55990         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
55991         * build-aux/bootstrap: Remove support for now-unnecessary option,
55992         --cvs-user, and envvars CVS_USER, CVS_RSH.
55993
55994 2007-10-24  Jim Meyering  <meyering@redhat.com>
55995
55996         Avoid diagnostics from sha1sum when there is no cached checksum.
55997         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
55998         if the po.s1 file hasn't been created yet.
55999
56000         * build-aux/bootstrap: Sync from coreutils:
56001         2007-10-24  Jim Meyering  <meyering@redhat.com>
56002         Get gnulib from the git repository, not from an obsolete cvs one.
56003         * build-aux/bootstrap: Suggestion from Micah Cowan.
56004         2007-10-04  Jim Meyering  <jim@meyering.net>
56005         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
56006         (update_po_files): Work also when there are no .po files in po/.
56007
56008 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56009
56010         * README: Append ".git" to git and cg examples.
56011         Problem reported by Benoit Sigoure.
56012
56013 2007-10-23  Micah Cowan  <micah@cowan.name>
56014
56015         * users.txt: Add wget.
56016
56017 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56018
56019         Fix linking of some unistdio tests on FreeBSD.
56020         * modules/unistdio/u16-vsnprintf-tests
56021         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
56022         * modules/unistdio/u16-vsprintf-tests
56023         (test_u16_vsnprintf1_LDADD): Likewise.
56024         * modules/unistdio/u32-vsnprintf-tests
56025         (test_u32_vsnprintf1_LDADD): Likewise.
56026         * modules/unistdio/u32-vsprintf-tests
56027         (test_u32_vsprintf1_LDADD): Likewise.
56028         * modules/unistdio/u8-vsnprintf-tests
56029         (test_u8_vsnprintf1_LDADD): Likewise.
56030         * modules/unistdio/u8-vsprintf-tests
56031         (test_u8_vsprintf1_LDADD): Likewise.
56032         * modules/unistdio/ulc-vsnprintf-tests
56033         (test_ulc_vsnprintf1_LDADD): Likewise.
56034         * modules/unistdio/ulc-vsprintf-tests
56035         (test_ulc_vsprintf1_LDADD): Likewise.
56036
56037         Fix linking of some uniconv tests on FreeBSD.
56038         * modules/uniconv/u16-conv-from-enc-tests
56039         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
56040         * modules/uniconv/u16-conv-to-enc-tests
56041         (test_u16_conv_to_enc_LDADD): Likewise.
56042         * modules/uniconv/u16-strconv-from-enc-tests
56043         (test_u16_strconv_from_enc_LDADD): Likewise.
56044         * modules/uniconv/u16-strconv-to-enc-tests
56045         (test_u16_strconv_to_enc_LDADD): Likewise.
56046         * modules/uniconv/u32-conv-from-enc-tests
56047         (test_u32_conv_from_enc_LDADD): Likewise.
56048         * modules/uniconv/u32-conv-to-enc-tests
56049         (test_u32_conv_to_enc_LDADD): Likewise.
56050         * modules/uniconv/u32-strconv-from-enc-tests
56051         (test_u32_strconv_from_enc_LDADD): Likewise.
56052         * modules/uniconv/u32-strconv-to-enc-tests
56053         (test_u32_strconv_to_enc_LDADD): Likewise.
56054         * modules/uniconv/u8-conv-from-enc-tests
56055         (test_u8_conv_from_enc_LDADD): Likewise.
56056         * modules/uniconv/u8-conv-to-enc-tests
56057         (test_u8_conv_to_enc_LDADD): Likewise.
56058         * modules/uniconv/u8-strconv-from-enc-tests
56059         (test_u8_strconv_from_enc_LDADD): Likewise.
56060         * modules/uniconv/u8-strconv-to-enc-tests
56061         (test_u8_strconv_to_enc_LDADD): Likewise.
56062
56063 2007-10-22  Bruno Haible  <bruno@clisp.org>
56064
56065         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
56066         size.
56067
56068 2007-10-22  Eric Blake  <ebb9@byu.net>
56069
56070         Tweak x*printf documentation.
56071         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
56072         variable name and comments.
56073         Suggested by Bruno Haible.
56074
56075 2007-10-22  Bruno Haible  <bruno@clisp.org>
56076
56077         * lib/acl.c (copy_acl): Fix file name in comment.
56078
56079 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
56080
56081         Fix Tru64 problem with stdbool.h.
56082         * lib/stdbool.in.h (false, true):
56083         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
56084         Don't declare as an enum in this situation; it runs afoul of Tru64.
56085         Problem reported by Steven M. Schweda in
56086         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
56087
56088 2007-10-22  Eric Blake  <ebb9@byu.net>
56089
56090         Also wrap vf?printf.
56091         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
56092         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
56093         (xvprintf, xvfprintf): New functions.
56094
56095 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56096
56097         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
56098         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
56099
56100         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
56101         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
56102
56103 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
56104
56105         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
56106         by Bruno Haible.
56107
56108 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56109
56110         * lib/getloadavg.c
56111         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
56112         Undef `sys' after including sys/table.h, for Tru64 4.0D.
56113
56114         * tests/test-i-ring.c: Work for C89.
56115
56116 2007-10-22  Bruno Haible  <bruno@clisp.org>
56117
56118         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
56119         -1u, in preprocessor expression, so that we don't test for the bug
56120         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
56121         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
56122
56123 2007-10-22  Eric Blake  <ebb9@byu.net>
56124
56125         * tests/test-yesno.sh: Silence stderr during test.
56126
56127 2007-10-22  Simon Josefsson  <simon@josefsson.org>
56128
56129         * modules/crypto/gc-camellia: New file.
56130
56131         * m4/gc-camellia.m4: New file.
56132
56133         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
56134
56135         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
56136
56137 2007-10-22  Simon Josefsson  <simon@josefsson.org>
56138
56139         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
56140         --help to stdout.  Reported by sms@antinode.org (Steven
56141         M. Schweda).
56142
56143 2007-10-22  Simon Josefsson  <simon@josefsson.org>
56144
56145         * users.txt: Fix link to libksba.
56146
56147 2007-10-21  Ben Pfaff  <blp@gnu.org>
56148
56149         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
56150         round.c roundf implementation that depends on floorf and ceilf to
56151         be tested unconditionally.
56152
56153 2007-10-21  Ben Pfaff  <blp@gnu.org>
56154
56155         * m4/check-libm-func.m4: Removed.
56156         * m4/check-math-lib.m4: New file.
56157         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
56158         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
56159         definition and lack of AC_LIBOBJ([roundf]).
56160         * m4/roundl.m4: Ditto, and similarly for roundl.
56161         * modules/round: Reference new m4 file.
56162         * modules/roundf: Ditto.
56163         * modules/roundl: Ditto.
56164         * tests/test-round2.c (main): Use ROUND instead of round.
56165         Bug report from Bruno Haible.
56166
56167 2007-10-21  Bruno Haible  <bruno@clisp.org>
56168
56169         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
56170         context.
56171
56172 2007-10-21  Bruno Haible  <bruno@clisp.org>
56173
56174         * tests/test-wcwidth.c (main): Allow negative result for some control
56175         characters.
56176
56177         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
56178         Needed on OSF/1 5.1.
56179
56180 2007-10-21  Bruno Haible  <bruno@clisp.org>
56181
56182         * tests/test-floorf1.c: Include isnanf.h.
56183         (main): Use isnanf() instead of isnan().
56184         * tests/test-ceilf1.c: Include isnanf.h.
56185         (main): Use isnanf() instead of isnan().
56186         * tests/test-truncf1.c: Include isnanf.h.
56187         (main): Use isnanf() instead of isnan().
56188         * tests/test-roundf1.c: Include isnanf.h.
56189         (main): Use isnanf() instead of isnan().
56190
56191 2007-10-21  Eric Blake  <ebb9@byu.net>
56192
56193         * users.txt: Update URL for m4.
56194
56195 2007-10-21  Bruno Haible  <bruno@clisp.org>
56196
56197         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
56198
56199 2007-10-21  Bruno Haible  <bruno@clisp.org>
56200
56201         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
56202         Git's management files if the CVS files are not present.
56203
56204 2007-10-20  Bruno Haible  <bruno@clisp.org>
56205
56206         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
56207         gcc-3.4.x.
56208
56209 2007-10-20  Ben Pfaff  <blp@gnu.org>
56210
56211         * lib/math.in.h: Declare round, roundf, roundl if we are providing
56212         implementations.
56213         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
56214         * lib/round.c: New file.
56215         * lib/roundf.c: New file.
56216         * lib/roundl.c: New file.
56217         * m4/round.m4: New file.
56218         * m4/roundf.m4: New file.
56219         * m4/roundl.m4: New file.
56220         * m4/check-libm-func-m4: New file.
56221         * modules/math: Replace round, roundf, roundl related @VARS@ in
56222         math.in.h.
56223         * modules/round: New file.
56224         * modules/round-tests: New file.
56225         * modules/roundf: New file.
56226         * modules/roundf-tests: New file.
56227         * modules/roundl: New file.
56228         * modules/roundl-tests: New file.
56229         * tests/test-round1.c: New file.
56230         * tests/test-round2.c: New file.
56231         * tests/test-roundf1.c: New file.
56232         * tests/test-roundf2.c: New file.
56233         * tests/test-roundl.c: New file.
56234         * doc/functions/round.texi: Mention round module.
56235         * doc/functions/roundf.texi: Mention roundf module.
56236         * doc/functions/roundl.texi: Mention roundl module.
56237         * MODULES.html.sh: Mention new modules.
56238         Thanks to Bruno Haible for suggestions.
56239
56240 2007-10-20  Jim Meyering  <meyering@redhat.com>
56241
56242         * lib/xprintf.c: Include <config.h> unconditionally.
56243
56244         Change xprintf's license to GPL.
56245         * modules/xprintf (License): s/LGPL/GPL/, since this module
56246         depends on modules (exit and exitfail) which are GPL.
56247         Suggestion from Bruno Haible.
56248
56249         xprintf fixes.
56250         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
56251         Use a clearer diagnostic.
56252         Patch from Bruno Haible.
56253
56254 2007-10-20  Bruno Haible  <bruno@clisp.org>
56255
56256         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
56257         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
56258         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56259
56260 2007-10-20  Bruno Haible  <bruno@clisp.org>
56261
56262         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
56263         precision in the comparison result > x - 1 or similar.
56264         * tests/test-ceilf2.c (correct_result_p): Likewise.
56265         * tests/test-truncf2.c (correct_result_p): Likewise.
56266         * tests/test-trunc2.c (correct_result_p): Likewise.
56267         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56268
56269 2007-10-20  Bruno Haible  <bruno@clisp.org>
56270
56271         * modules/ceil: New file.
56272         * m4/ceil.m4: New file.
56273         * doc/functions/ceil.texi: Mention the 'ceil' module.
56274
56275 2007-10-20  Bruno Haible  <bruno@clisp.org>
56276
56277         * modules/floor: New file.
56278         * m4/floor.m4: New file.
56279         * doc/functions/floor.texi: Mention the 'floor' module.
56280
56281 2007-10-20  Bruno Haible  <bruno@clisp.org>
56282
56283         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
56284         of %a.
56285         * modules/floorf-tests (Depends-on): Likewise.
56286         * modules/truncf-tests (Depends-on): Likewise.
56287         * modules/trunc-tests (Depends-on): Likewise.
56288         Reported by Ben Pfaff.
56289
56290 2007-10-19  Jim Meyering  <meyering@redhat.com>
56291
56292         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
56293         Don't bother testing specific errno values.  Just test ferror.
56294
56295         New module: xprintf
56296         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
56297
56298 2007-10-19  Bruno Haible  <bruno@clisp.org>
56299
56300         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
56301         syntax.
56302         * modules/javaexec (Makefile.am): Likewise.
56303         * modules/relocatable-prog (Makefile.am): Likewise.
56304         Suggested by Jim Meyering.
56305
56306 2007-10-18  Bruno Haible  <bruno@clisp.org>
56307
56308         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
56309         Reported by Jim Meyering.
56310
56311 2007-10-18  Eric Blake  <ebb9@byu.net>
56312
56313         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
56314
56315 2007-10-18  Bruno Haible  <bruno@clisp.org>
56316
56317         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
56318         the format string into writable memory. Needed in Fortify conditions.
56319
56320 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
56321             Bruno Haible  <bruno@clisp.org>
56322
56323         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
56324         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
56325         * modules/trim (Depends-on): Add mbchar.
56326         (configure.ac): Add gl_FUNC_MBRTOWC.
56327         (Makefile.am): Augment lib_SOURCES.
56328
56329 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
56330
56331         Modify glob.c to use fstatat and dirfd, to simplify it.
56332         Suggested by Eric Blake.
56333         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
56334         Don't include <stdbool.h>; not used.
56335         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
56336         (link_exists_p): Simplify implementation, since we can now assume
56337         dirfd and fstatat.
56338         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
56339
56340 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56341
56342         * gnulib-tool (func_get_dependencies): Fix sed script to
56343         match only tests.
56344
56345 2007-10-17  Bruno Haible  <bruno@clisp.org>
56346
56347         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
56348         allow locale names without encoding suffix.
56349         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56350         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56351
56352 2007-10-16  Bruno Haible  <bruno@clisp.org>
56353
56354         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
56355         * lib/getgroups.c (getgroups): Likewise.
56356         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
56357
56358 2007-10-16  Bruno Haible  <bruno@clisp.org>
56359
56360         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
56361         * modules/malloc-posix (License): Likewise.
56362         * modules/realloc-posix (License): Likewise.
56363         * modules/calloc-posix (License): Likewise.
56364         * modules/intprops (License): Change from GPL to LGPL, with
56365         Paul Eggert's approval.
56366
56367 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56368
56369         Merge glibc changes into lib/glob.c.
56370
56371         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
56372         2007-10-15 04:59:03 UTC.  Here are the changes:
56373
56374         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
56375
56376         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
56377
56378         * lib/glob.c: Add some branch prediction throughout.
56379
56380         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
56381
56382         [BZ #5103]
56383         * lib/glob.c (glob): Recognize patterns starting \/.
56384
56385         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
56386
56387         [BZ #3996]
56388         * lib/glob.c (attribute_hidden): Define if not defined.
56389         (glob): Unescape dirname, filename or username when needed and not
56390         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
56391         is NULL.  Handle unescaped [ in pattern without closing ].
56392         Don't pass GLOB_CHECK down to recursive glob for directories.
56393         (__glob_pattern_type): New function.
56394         (__glob_pattern_p): Implement using __glob_pattern_type.
56395         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
56396         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
56397         Remove unreachable code.
56398
56399         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
56400
56401         * lib/glob.c (glob_in_dir): Add some comments and asserts to
56402         explain why there are no leaks.
56403
56404         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
56405
56406         [BZ #3253]
56407         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
56408         time, rather allocate increasingly bigger arrays of pointers, if
56409         possible with alloca, if too large with malloc.
56410
56411 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56412
56413         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
56414         Problem reported by H.Merijn Brand in
56415         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
56416         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
56417         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
56418
56419 2007-10-15  Bruno Haible  <bruno@clisp.org>
56420
56421         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
56422         with explicit rpl_ prefix.
56423         * lib/fopen.c (fopen): Likewise.
56424         * lib/freopen.c (freopen): Likewise.
56425         * lib/iconv.c (iconv): Likewise.
56426         * lib/iconv_close.c (iconv_close): Likewise.
56427
56428 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56429
56430         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
56431
56432 2007-10-15  Bruno Haible  <bruno@clisp.org>
56433
56434         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
56435         <stddef.h> instead of <stdlib.h> since we only need NULL.
56436         Reported by Ben Pfaff <blp@cs.stanford.edu>.
56437
56438 2007-10-15  Bruno Haible  <bruno@clisp.org>
56439
56440         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
56441         Replace paragraph talking about LIBOBJS.
56442         Reported by Colin Watson <cjwatson@debian.org>.
56443
56444 2007-10-15  Bruno Haible  <bruno@clisp.org>
56445
56446         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
56447         <stdlib.h> before using NULL.
56448
56449 2007-10-15  Simon Josefsson  <simon@josefsson.org>
56450
56451         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
56452         Reported by Albert Chin <china@thewrittenword.com>.
56453
56454 2007-10-14  Bruno Haible  <bruno@clisp.org>
56455
56456         * modules/iconv_open-utf-tests: New file.
56457         * tests/test-iconv-utf.c: New file.
56458
56459         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
56460         * modules/iconv_open-utf: New file.
56461         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
56462         (iconv, iconv_close): New declarations.
56463         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
56464         be defined.
56465         (iconv_open): Add special handling of conversion between UTF-8 and
56466         UTF-{16,32}{BE,LE}.
56467         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
56468         * lib/iconv_close.c: New file.
56469         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
56470         gl_FUNC_ICONV_OPEN.
56471         (gl_FUNC_ICONV_OPEN): Use it.
56472         (gl_FUNC_ICONV_OPEN_UTF): New macro.
56473         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
56474         and REPLACE_ICONV_UTF.
56475         * modules/iconv_open (Depends-on): Add c-strcase.
56476         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
56477         ICONV_CONST.
56478         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
56479
56480 2007-10-13  Albert Chin  <china@thewrittenword.com>
56481             Bruno Haible  <bruno@clisp.org>
56482
56483         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
56484         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
56485
56486 2007-10-13  Bruno Haible  <bruno@clisp.org>
56487
56488         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
56489         defined, use the ISO C99 inline semantics.
56490         * lib/argp.h (ARGP_EI): Likewise.
56491
56492 2007-10-13  Bruno Haible  <bruno@clisp.org>
56493
56494         Handle 'inline' change in gcc 4.3.0.
56495         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
56496         argp_fmtstream_write, argp_fmtstream_set_lmargin,
56497         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
56498         argp_fmtstream_point): Disable 'extern' declaration if the function
56499         definition is going to be provided inline.
56500         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
56501         semantics, not the ISO C99 inline semantics.
56502         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
56503         'extern' declaration if the function definition is going to be provided
56504         inline.
56505         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
56506         the GNU C inline semantics, not the ISO C99 inline semantics. With
56507         GCC 4.2, avoid a warning.
56508
56509 2007-10-13  Bruno Haible  <bruno@clisp.org>
56510
56511         * lib/freading.h (freading): Enable the use of __freading for
56512         glibc >= 2.7.
56513         * lib/freading.c (freading): Likewise.
56514
56515 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56516
56517         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
56518         "warning: C99 inline functions are not supported; using GNU89".
56519
56520 2007-10-12  Bruno Haible  <bruno@clisp.org>
56521
56522         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
56523         of 2.
56524         * tests/test-ceilf2.c: New file.
56525         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
56526
56527         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
56528         * modules/ceilf-tests: Update.
56529
56530 2007-10-12  Bruno Haible  <bruno@clisp.org>
56531
56532         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
56533         of 2.
56534         * tests/test-floorf2.c: New file.
56535         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
56536
56537         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
56538         * modules/floorf-tests: Update.
56539
56540 2007-10-12  Bruno Haible  <bruno@clisp.org>
56541
56542         * tests/test-trunc2.c: New file.
56543         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
56544
56545         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
56546         * modules/trunc-tests: Update.
56547
56548 2007-10-12  Bruno Haible  <bruno@clisp.org>
56549
56550         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
56551         of 2.
56552         * tests/test-truncf2.c: New file.
56553         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
56554
56555         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
56556         * modules/truncf-tests: Update.
56557
56558 2007-10-11  Eric Blake  <ebb9@byu.net>
56559
56560         Don't claim strerror is broken on Interix.
56561         * doc/functions/strerror.texi (strerror): Known broken systems are
56562         now Solaris 8, and not Interix.
56563         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
56564         Interix on cross-compile.
56565         Reported by Martin Koeppe in
56566         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
56567
56568 2007-10-11  Bruno Haible  <bruno@clisp.org>
56569
56570         * modules/i-ring-tests: New file.
56571         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
56572         instead of assert.
56573
56574 2007-10-11  Bruno Haible  <bruno@clisp.org>
56575
56576         * modules/filenamecat-tests: New file.
56577         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
56578         * lib/filenamecat.c: Remove test code.
56579
56580 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
56581
56582         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
56583
56584         * lib/strerror.c: Include <string.h> always, to test interface,
56585         and to remove the need for the dummy.
56586         Include intprops.h to compute width instead of doing it ourselves
56587         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
56588         (strerror): Define it to return NULL if there's no system strerror.
56589         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
56590         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
56591         ancient pre-strerror Unix systems well any more.  Saying "unknown
56592         system error" is enough.
56593         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
56594         simpler strerror.c implementation.
56595         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
56596         Simplify the tests to reflect the simpler strerror implementation.
56597         * modules/strerror (Depends-on): Add intprops.
56598
56599 2007-10-09  Eric Blake  <ebb9@byu.net>
56600
56601         Silence test-fpending.
56602         * modules/fpending-tests (Files): Add wrapper script.
56603         * tests/test-fpending.sh: New file.
56604
56605 2007-10-09  Bruno Haible  <bruno@clisp.org>
56606
56607         * MODULES.html.sh (func_module): Don't create a hyperlink for
56608         function names like 'printf_frexp'.
56609         (Misc): Add crc, memxor.
56610         (Characteristics of floating types): New section.
56611         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
56612         isnanf-nolibm, signbit, trunc, truncf, truncl.
56613         (Enhancements for ISO C 99 functions): New subsection Input/output.
56614         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
56615         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
56616         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
56617         (Compatibility checks for POSIX:2001 functions): Add clock-time.
56618         (Enhancements for POSIX:2001 functions): Add chdir-long.
56619         (File system functions): Add areadlink, chdir-safer, read-file.
56620         Remove cycle-check.
56621         (File system as inode set): New section.
56622         (Date and time): Add gethrxtime.
56623         (Multithreading): Add openmp.
56624         (Internationalization functions): Add localename.
56625         (Unicode string functions): Add unistr/u*-mbsnlen.
56626         (Support for maintaining and releasing projects): Add git-version-gen.
56627         (Lone files): Remove directories.
56628
56629 2007-10-08  Ben Pfaff  <blp@gnu.org>
56630
56631         * lib/xmalloca.h: Fix typo in comment.
56632
56633 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
56634
56635         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
56636         when avoiding problems with integer overflow.  Use a portable test
56637         instead.
56638
56639 2007-10-08  Simon Josefsson  <simon@josefsson.org>
56640
56641         * modules/dummy (License): Change to LGPLv2+.
56642         * modules/float (License): Likewise
56643         * modules/realloc (License): Likewise
56644         * modules/stdlib (License): Likewise
56645
56646 2007-10-07  Bruno Haible  <bruno@clisp.org>
56647
56648         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
56649         * floor.c (TWO_MANT_DIG): Likewise.
56650         * ceil.c (TWO_MANT_DIG): Likewise.
56651         Reported by Ben Pfaff.
56652
56653 2007-10-07  Bruno Haible  <bruno@clisp.org>
56654
56655         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
56656         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
56657         * lib/frexp.c (FUNC): Likewise.
56658         * lib/printf-frexp.h (printf_frexp): Likewise.
56659         * lib/printf-frexpl.h (printf_frexpl): Likewise.
56660         * lib/printf-frexp.c (FUNC): Likewise.
56661         Suggested by Jim Meyering.
56662
56663 2007-10-07  Jim Meyering  <meyering@redhat.com>
56664
56665         Make xnanosleep's integer overflow test more robust.
56666         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
56667         so that gcc-4.3.0 doesn't optimize away this test for overflow.
56668
56669 2007-10-07  Bruno Haible  <bruno@clisp.org>
56670
56671         * NEWS: Mention the license change.
56672
56673         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
56674         abbreviations in the modules files.
56675
56676         Change copyright notice from GPLv2+ to GPLv3+.
56677         * README: Change copyright notice.
56678         * MODULES.html.sh: Likewise.
56679         * build-aux/bootstrap.conf: Likewise.
56680         * build-aux/config.libpath: Likewise.
56681         * build-aux/csharpcomp.sh.in: Likewise.
56682         * build-aux/csharpexec.sh.in: Likewise.
56683         * build-aux/install-reloc: Likewise.
56684         * build-aux/javacomp.sh.in: Likewise.
56685         * build-aux/javaexec.sh.in: Likewise.
56686         * build-aux/ldd.sh.in: Likewise.
56687         * build-aux/reloc-ldflags: Likewise.
56688         * build-aux/relocatable.sh.in: Likewise.
56689         * build-aux/x-to-1.in: Likewise.
56690         * check-module: Likewise.
56691         * config/srclistvars.sh: Likewise.
56692         * gnulib-tool: Likewise.
56693         * lib/acl-internal.h: Likewise.
56694         * lib/acl.c: Likewise.
56695         * lib/acl.h: Likewise.
56696         * lib/acl_entries.c: Likewise.
56697         * lib/areadlink-with-size.c: Likewise.
56698         * lib/areadlink.c: Likewise.
56699         * lib/areadlink.h: Likewise.
56700         * lib/argmatch.c: Likewise.
56701         * lib/argmatch.h: Likewise.
56702         * lib/argp-ba.c: Likewise.
56703         * lib/argp-eexst.c: Likewise.
56704         * lib/argp-fmtstream.c: Likewise.
56705         * lib/argp-fmtstream.h: Likewise.
56706         * lib/argp-fs-xinl.c: Likewise.
56707         * lib/argp-help.c: Likewise.
56708         * lib/argp-namefrob.h: Likewise.
56709         * lib/argp-parse.c: Likewise.
56710         * lib/argp-pin.c: Likewise.
56711         * lib/argp-pv.c: Likewise.
56712         * lib/argp-pvh.c: Likewise.
56713         * lib/argp-xinl.c: Likewise.
56714         * lib/argp.h: Likewise.
56715         * lib/at-func.c: Likewise.
56716         * lib/atanl.c: Likewise.
56717         * lib/backupfile.c: Likewise.
56718         * lib/backupfile.h: Likewise.
56719         * lib/basename.c: Likewise.
56720         * lib/binary-io.h: Likewise.
56721         * lib/byteswap.in.h: Likewise.
56722         * lib/c-stack.c: Likewise.
56723         * lib/c-stack.h: Likewise.
56724         * lib/c-strcasestr.c: Likewise.
56725         * lib/c-strcasestr.h: Likewise.
56726         * lib/c-strstr.c: Likewise.
56727         * lib/c-strstr.h: Likewise.
56728         * lib/c-strtod.c: Likewise.
56729         * lib/calloc.c: Likewise.
56730         * lib/canon-host.c: Likewise.
56731         * lib/canon-host.h: Likewise.
56732         * lib/canonicalize-lgpl.c: Likewise.
56733         * lib/canonicalize.c: Likewise.
56734         * lib/canonicalize.h: Likewise.
56735         * lib/ceil.c: Likewise.
56736         * lib/ceilf.c: Likewise.
56737         * lib/ceill.c: Likewise.
56738         * lib/chdir-long.c: Likewise.
56739         * lib/chdir-long.h: Likewise.
56740         * lib/chdir-safer.c: Likewise.
56741         * lib/chdir-safer.h: Likewise.
56742         * lib/chown.c: Likewise.
56743         * lib/classpath.c: Likewise.
56744         * lib/classpath.h: Likewise.
56745         * lib/clean-temp.c: Likewise.
56746         * lib/clean-temp.h: Likewise.
56747         * lib/cloexec.c: Likewise.
56748         * lib/close-stream.c: Likewise.
56749         * lib/closein.c: Likewise.
56750         * lib/closein.h: Likewise.
56751         * lib/closeout.c: Likewise.
56752         * lib/closeout.h: Likewise.
56753         * lib/concat-filename.c: Likewise.
56754         * lib/copy-file.c: Likewise.
56755         * lib/copy-file.h: Likewise.
56756         * lib/count-one-bits.h: Likewise.
56757         * lib/crc.c: Likewise.
56758         * lib/crc.h: Likewise.
56759         * lib/creat-safer.c: Likewise.
56760         * lib/csharpcomp.c: Likewise.
56761         * lib/csharpcomp.h: Likewise.
56762         * lib/csharpexec.c: Likewise.
56763         * lib/csharpexec.h: Likewise.
56764         * lib/cycle-check.c: Likewise.
56765         * lib/cycle-check.h: Likewise.
56766         * lib/diacrit.c: Likewise.
56767         * lib/diacrit.h: Likewise.
56768         * lib/diffseq.h: Likewise.
56769         * lib/dirchownmod.c: Likewise.
56770         * lib/dirent.in.h: Likewise.
56771         * lib/dirfd.c: Likewise.
56772         * lib/dirfd.h: Likewise.
56773         * lib/dirname.c: Likewise.
56774         * lib/dirname.h: Likewise.
56775         * lib/dummy.c: Likewise.
56776         * lib/dup-safer.c: Likewise.
56777         * lib/dup2.c: Likewise.
56778         * lib/eealloc.h: Likewise.
56779         * lib/error.c: Likewise.
56780         * lib/error.h: Likewise.
56781         * lib/euidaccess.c: Likewise.
56782         * lib/exclude.c: Likewise.
56783         * lib/exclude.h: Likewise.
56784         * lib/execute.c: Likewise.
56785         * lib/execute.h: Likewise.
56786         * lib/exitfail.c: Likewise.
56787         * lib/exitfail.h: Likewise.
56788         * lib/expl.c: Likewise.
56789         * lib/fatal-signal.c: Likewise.
56790         * lib/fatal-signal.h: Likewise.
56791         * lib/fbufmode.c: Likewise.
56792         * lib/fbufmode.h: Likewise.
56793         * lib/fchdir.c: Likewise.
56794         * lib/fchmodat.c: Likewise.
56795         * lib/fchownat.c: Likewise.
56796         * lib/fcntl--.h: Likewise.
56797         * lib/fcntl-safer.h: Likewise.
56798         * lib/fcntl.in.h: Likewise.
56799         * lib/fd-safer.c: Likewise.
56800         * lib/fflush.c: Likewise.
56801         * lib/file-has-acl.c: Likewise.
56802         * lib/file-set.c: Likewise.
56803         * lib/file-type.c: Likewise.
56804         * lib/file-type.h: Likewise.
56805         * lib/fileblocks.c: Likewise.
56806         * lib/filemode.c: Likewise.
56807         * lib/filemode.h: Likewise.
56808         * lib/filename.h: Likewise.
56809         * lib/filenamecat.c: Likewise.
56810         * lib/filenamecat.h: Likewise.
56811         * lib/findprog.c: Likewise.
56812         * lib/findprog.h: Likewise.
56813         * lib/float.in.h: Likewise.
56814         * lib/floor.c: Likewise.
56815         * lib/floorf.c: Likewise.
56816         * lib/floorl.c: Likewise.
56817         * lib/fopen-safer.c: Likewise.
56818         * lib/fopen.c: Likewise.
56819         * lib/fpending.c: Likewise.
56820         * lib/fpending.h: Likewise.
56821         * lib/fprintf.c: Likewise.
56822         * lib/fprintftime.h: Likewise.
56823         * lib/fpucw.h: Likewise.
56824         * lib/fpurge.c: Likewise.
56825         * lib/fpurge.h: Likewise.
56826         * lib/freadable.c: Likewise.
56827         * lib/freadable.h: Likewise.
56828         * lib/freadahead.c: Likewise.
56829         * lib/freadahead.h: Likewise.
56830         * lib/freading.c: Likewise.
56831         * lib/freading.h: Likewise.
56832         * lib/free.c: Likewise.
56833         * lib/freopen.c: Likewise.
56834         * lib/frexp.c: Likewise.
56835         * lib/frexpl.c: Likewise.
56836         * lib/fseek.c: Likewise.
56837         * lib/fseterr.c: Likewise.
56838         * lib/fseterr.h: Likewise.
56839         * lib/fstatat.c: Likewise.
56840         * lib/fstrcmp.c: Likewise.
56841         * lib/fstrcmp.h: Likewise.
56842         * lib/fsusage.c: Likewise.
56843         * lib/fsusage.h: Likewise.
56844         * lib/ftell.c: Likewise.
56845         * lib/ftello.c: Likewise.
56846         * lib/fts-cycle.c: Likewise.
56847         * lib/fts.c: Likewise.
56848         * lib/fts_.h: Likewise.
56849         * lib/full-read.c: Likewise.
56850         * lib/full-read.h: Likewise.
56851         * lib/full-write.c: Likewise.
56852         * lib/full-write.h: Likewise.
56853         * lib/fwritable.c: Likewise.
56854         * lib/fwritable.h: Likewise.
56855         * lib/fwriteerror.c: Likewise.
56856         * lib/fwriteerror.h: Likewise.
56857         * lib/fwriting.c: Likewise.
56858         * lib/fwriting.h: Likewise.
56859         * lib/gcd.c: Likewise.
56860         * lib/gcd.h: Likewise.
56861         * lib/getcwd.c: Likewise.
56862         * lib/getdate.h: Likewise.
56863         * lib/getdate.y: Likewise.
56864         * lib/getdomainname.c: Likewise.
56865         * lib/getdomainname.h: Likewise.
56866         * lib/getgroups.c: Likewise.
56867         * lib/gethostname.c: Likewise.
56868         * lib/gethrxtime.c: Likewise.
56869         * lib/gethrxtime.h: Likewise.
56870         * lib/getloadavg.c: Likewise.
56871         * lib/getndelim2.c: Likewise.
56872         * lib/getndelim2.h: Likewise.
56873         * lib/getnline.c: Likewise.
56874         * lib/getnline.h: Likewise.
56875         * lib/getopt.c: Likewise.
56876         * lib/getopt.in.h: Likewise.
56877         * lib/getopt1.c: Likewise.
56878         * lib/getopt_int.h: Likewise.
56879         * lib/getpagesize.h: Likewise.
56880         * lib/getsubopt.c: Likewise.
56881         * lib/gettime.c: Likewise.
56882         * lib/getugroups.c: Likewise.
56883         * lib/getugroups.h: Likewise.
56884         * lib/getusershell.c: Likewise.
56885         * lib/gl_anyavltree_list1.h: Likewise.
56886         * lib/gl_anyavltree_list2.h: Likewise.
56887         * lib/gl_anyhash_list1.h: Likewise.
56888         * lib/gl_anyhash_list2.h: Likewise.
56889         * lib/gl_anylinked_list1.h: Likewise.
56890         * lib/gl_anylinked_list2.h: Likewise.
56891         * lib/gl_anyrbtree_list1.h: Likewise.
56892         * lib/gl_anyrbtree_list2.h: Likewise.
56893         * lib/gl_anytree_list1.h: Likewise.
56894         * lib/gl_anytree_list2.h: Likewise.
56895         * lib/gl_anytree_oset.h: Likewise.
56896         * lib/gl_anytreehash_list1.h: Likewise.
56897         * lib/gl_anytreehash_list2.h: Likewise.
56898         * lib/gl_array_list.c: Likewise.
56899         * lib/gl_array_list.h: Likewise.
56900         * lib/gl_array_oset.c: Likewise.
56901         * lib/gl_array_oset.h: Likewise.
56902         * lib/gl_avltree_list.c: Likewise.
56903         * lib/gl_avltree_list.h: Likewise.
56904         * lib/gl_avltree_oset.c: Likewise.
56905         * lib/gl_avltree_oset.h: Likewise.
56906         * lib/gl_avltreehash_list.c: Likewise.
56907         * lib/gl_avltreehash_list.h: Likewise.
56908         * lib/gl_carray_list.c: Likewise.
56909         * lib/gl_carray_list.h: Likewise.
56910         * lib/gl_linked_list.c: Likewise.
56911         * lib/gl_linked_list.h: Likewise.
56912         * lib/gl_linkedhash_list.c: Likewise.
56913         * lib/gl_linkedhash_list.h: Likewise.
56914         * lib/gl_list.c: Likewise.
56915         * lib/gl_list.h: Likewise.
56916         * lib/gl_oset.c: Likewise.
56917         * lib/gl_oset.h: Likewise.
56918         * lib/gl_rbtree_list.c: Likewise.
56919         * lib/gl_rbtree_list.h: Likewise.
56920         * lib/gl_rbtree_oset.c: Likewise.
56921         * lib/gl_rbtree_oset.h: Likewise.
56922         * lib/gl_rbtreehash_list.c: Likewise.
56923         * lib/gl_rbtreehash_list.h: Likewise.
56924         * lib/gl_sublist.c: Likewise.
56925         * lib/gl_sublist.h: Likewise.
56926         * lib/group-member.c: Likewise.
56927         * lib/group-member.h: Likewise.
56928         * lib/hard-locale.c: Likewise.
56929         * lib/hard-locale.h: Likewise.
56930         * lib/hash-pjw.c: Likewise.
56931         * lib/hash-pjw.h: Likewise.
56932         * lib/hash-triple.c: Likewise.
56933         * lib/hash.c: Likewise.
56934         * lib/hash.h: Likewise.
56935         * lib/human.c: Likewise.
56936         * lib/human.h: Likewise.
56937         * lib/i-ring.c: Likewise.
56938         * lib/i-ring.h: Likewise.
56939         * lib/idcache.c: Likewise.
56940         * lib/imaxabs.c: Likewise.
56941         * lib/imaxdiv.c: Likewise.
56942         * lib/inet_pton.c: Likewise.
56943         * lib/inet_pton.h: Likewise.
56944         * lib/intprops.h: Likewise.
56945         * lib/inttostr.c: Likewise.
56946         * lib/inttostr.h: Likewise.
56947         * lib/inttypes.in.h: Likewise.
56948         * lib/isapipe.c: Likewise.
56949         * lib/isdir.c: Likewise.
56950         * lib/isnan.c: Likewise.
56951         * lib/isnan.h: Likewise.
56952         * lib/isnanf.c: Likewise.
56953         * lib/isnanf.h: Likewise.
56954         * lib/isnanl-nolibm.h: Likewise.
56955         * lib/isnanl.c: Likewise.
56956         * lib/isnanl.h: Likewise.
56957         * lib/javacomp.c: Likewise.
56958         * lib/javacomp.h: Likewise.
56959         * lib/javaexec.c: Likewise.
56960         * lib/javaexec.h: Likewise.
56961         * lib/javaversion.c: Likewise.
56962         * lib/javaversion.h: Likewise.
56963         * lib/javaversion.java: Likewise.
56964         * lib/lbrkprop.h: Likewise.
56965         * lib/lchmod.h: Likewise.
56966         * lib/lchown.c: Likewise.
56967         * lib/ldexpl.c: Likewise.
56968         * lib/linebreak.c: Likewise.
56969         * lib/linebreak.h: Likewise.
56970         * lib/linebuffer.c: Likewise.
56971         * lib/linebuffer.h: Likewise.
56972         * lib/locale.in.h: Likewise.
56973         * lib/logl.c: Likewise.
56974         * lib/long-options.c: Likewise.
56975         * lib/long-options.h: Likewise.
56976         * lib/lstat.c: Likewise.
56977         * lib/lstat.h: Likewise.
56978         * lib/math.in.h: Likewise.
56979         * lib/mbchar.c: Likewise.
56980         * lib/mbchar.h: Likewise.
56981         * lib/mbfile.h: Likewise.
56982         * lib/mbiter.h: Likewise.
56983         * lib/mbscasecmp.c: Likewise.
56984         * lib/mbscasestr.c: Likewise.
56985         * lib/mbschr.c: Likewise.
56986         * lib/mbscspn.c: Likewise.
56987         * lib/mbslen.c: Likewise.
56988         * lib/mbsncasecmp.c: Likewise.
56989         * lib/mbsnlen.c: Likewise.
56990         * lib/mbspbrk.c: Likewise.
56991         * lib/mbspcasecmp.c: Likewise.
56992         * lib/mbsrchr.c: Likewise.
56993         * lib/mbssep.c: Likewise.
56994         * lib/mbsspn.c: Likewise.
56995         * lib/mbsstr.c: Likewise.
56996         * lib/mbstok_r.c: Likewise.
56997         * lib/mbswidth.c: Likewise.
56998         * lib/mbswidth.h: Likewise.
56999         * lib/mbuiter.h: Likewise.
57000         * lib/memcasecmp.c: Likewise.
57001         * lib/memcasecmp.h: Likewise.
57002         * lib/memchr.c: Likewise.
57003         * lib/memcmp.c: Likewise.
57004         * lib/memcoll.c: Likewise.
57005         * lib/memcoll.h: Likewise.
57006         * lib/memcpy.c: Likewise.
57007         * lib/memrchr.c: Likewise.
57008         * lib/mkancesdirs.c: Likewise.
57009         * lib/mkdir-p.c: Likewise.
57010         * lib/mkdir-p.h: Likewise.
57011         * lib/mkdir.c: Likewise.
57012         * lib/mkdirat.c: Likewise.
57013         * lib/mkdtemp.c: Likewise.
57014         * lib/mkstemp-safer.c: Likewise.
57015         * lib/mkstemp.c: Likewise.
57016         * lib/modechange.c: Likewise.
57017         * lib/modechange.h: Likewise.
57018         * lib/mountlist.c: Likewise.
57019         * lib/mountlist.h: Likewise.
57020         * lib/mpsort.c: Likewise.
57021         * lib/nanosleep.c: Likewise.
57022         * lib/obstack.c: Likewise.
57023         * lib/obstack.h: Likewise.
57024         * lib/open-safer.c: Likewise.
57025         * lib/open.c: Likewise.
57026         * lib/openat-die.c: Likewise.
57027         * lib/openat-priv.h: Likewise.
57028         * lib/openat-proc.c: Likewise.
57029         * lib/openat.c: Likewise.
57030         * lib/openat.h: Likewise.
57031         * lib/pagealign_alloc.c: Likewise.
57032         * lib/pagealign_alloc.h: Likewise.
57033         * lib/physmem.c: Likewise.
57034         * lib/physmem.h: Likewise.
57035         * lib/pipe-safer.c: Likewise.
57036         * lib/pipe.c: Likewise.
57037         * lib/pipe.h: Likewise.
57038         * lib/posixtm.c: Likewise.
57039         * lib/posixtm.h: Likewise.
57040         * lib/posixver.c: Likewise.
57041         * lib/printf-frexp.c: Likewise.
57042         * lib/printf-frexp.h: Likewise.
57043         * lib/printf-frexpl.c: Likewise.
57044         * lib/printf-frexpl.h: Likewise.
57045         * lib/printf.c: Likewise.
57046         * lib/progname.c: Likewise.
57047         * lib/progname.h: Likewise.
57048         * lib/progreloc.c: Likewise.
57049         * lib/putenv.c: Likewise.
57050         * lib/quote.c: Likewise.
57051         * lib/quote.h: Likewise.
57052         * lib/quotearg.c: Likewise.
57053         * lib/quotearg.h: Likewise.
57054         * lib/raise.c: Likewise.
57055         * lib/readline.c: Likewise.
57056         * lib/readline.h: Likewise.
57057         * lib/readlink.c: Likewise.
57058         * lib/readtokens.c: Likewise.
57059         * lib/readtokens.h: Likewise.
57060         * lib/readtokens0.c: Likewise.
57061         * lib/readtokens0.h: Likewise.
57062         * lib/readutmp.c: Likewise.
57063         * lib/readutmp.h: Likewise.
57064         * lib/realloc.c: Likewise.
57065         * lib/relocwrapper.c: Likewise.
57066         * lib/rename-dest-slash.c: Likewise.
57067         * lib/rename.c: Likewise.
57068         * lib/rmdir.c: Likewise.
57069         * lib/rpmatch.c: Likewise.
57070         * lib/safe-read.c: Likewise.
57071         * lib/safe-read.h: Likewise.
57072         * lib/safe-write.c: Likewise.
57073         * lib/safe-write.h: Likewise.
57074         * lib/same-inode.h: Likewise.
57075         * lib/same.c: Likewise.
57076         * lib/same.h: Likewise.
57077         * lib/save-cwd.c: Likewise.
57078         * lib/save-cwd.h: Likewise.
57079         * lib/savedir.c: Likewise.
57080         * lib/savedir.h: Likewise.
57081         * lib/savewd.c: Likewise.
57082         * lib/savewd.h: Likewise.
57083         * lib/search.in.h: Likewise.
57084         * lib/setenv.c: Likewise.
57085         * lib/setenv.h: Likewise.
57086         * lib/settime.c: Likewise.
57087         * lib/sh-quote.c: Likewise.
57088         * lib/sh-quote.h: Likewise.
57089         * lib/sig2str.c: Likewise.
57090         * lib/sig2str.h: Likewise.
57091         * lib/signal.in.h: Likewise.
57092         * lib/signbitd.c: Likewise.
57093         * lib/signbitf.c: Likewise.
57094         * lib/signbitl.c: Likewise.
57095         * lib/sigprocmask.c: Likewise.
57096         * lib/sincosl.c: Likewise.
57097         * lib/sleep.c: Likewise.
57098         * lib/sprintf.c: Likewise.
57099         * lib/sqrtl.c: Likewise.
57100         * lib/stat-time.h: Likewise.
57101         * lib/stdio--.h: Likewise.
57102         * lib/stdio-safer.h: Likewise.
57103         * lib/stdlib--.h: Likewise.
57104         * lib/stdlib-safer.h: Likewise.
57105         * lib/stdlib.in.h: Likewise.
57106         * lib/stpcpy.c: Likewise.
57107         * lib/stpncpy.c: Likewise.
57108         * lib/strchrnul.c: Likewise.
57109         * lib/strcspn.c: Likewise.
57110         * lib/strerror.c: Likewise.
57111         * lib/strftime.c: Likewise.
57112         * lib/strftime.h: Likewise.
57113         * lib/striconveh.c: Likewise.
57114         * lib/striconveh.h: Likewise.
57115         * lib/striconveha.c: Likewise.
57116         * lib/striconveha.h: Likewise.
57117         * lib/stripslash.c: Likewise.
57118         * lib/strnlen1.c: Likewise.
57119         * lib/strnlen1.h: Likewise.
57120         * lib/strtod.c: Likewise.
57121         * lib/strtoimax.c: Likewise.
57122         * lib/strtok_r.c: Likewise.
57123         * lib/strtol.c: Likewise.
57124         * lib/strtoll.c: Likewise.
57125         * lib/strtoul.c: Likewise.
57126         * lib/strtoull.c: Likewise.
57127         * lib/sysexits.in.h: Likewise.
57128         * lib/tempname.c: Likewise.
57129         * lib/tempname.h: Likewise.
57130         * lib/timespec.h: Likewise.
57131         * lib/tls.c: Likewise.
57132         * lib/tls.h: Likewise.
57133         * lib/tmpdir.c: Likewise.
57134         * lib/tmpdir.h: Likewise.
57135         * lib/tmpfile-safer.c: Likewise.
57136         * lib/tmpfile.c: Likewise.
57137         * lib/trigl.c: Likewise.
57138         * lib/trigl.h: Likewise.
57139         * lib/trim.c: Likewise.
57140         * lib/trim.h: Likewise.
57141         * lib/trunc.c: Likewise.
57142         * lib/truncf.c: Likewise.
57143         * lib/truncl.c: Likewise.
57144         * lib/tsearch.c: Likewise.
57145         * lib/unicodeio.c: Likewise.
57146         * lib/unicodeio.h: Likewise.
57147         * lib/unistd--.h: Likewise.
57148         * lib/unistd-safer.h: Likewise.
57149         * lib/unistdio/ulc-fprintf.c: Likewise.
57150         * lib/unistdio/ulc-vfprintf.c: Likewise.
57151         * lib/unlinkdir.c: Likewise.
57152         * lib/unlinkdir.h: Likewise.
57153         * lib/unlocked-io.h: Likewise.
57154         * lib/unsetenv.c: Likewise.
57155         * lib/userspec.c: Likewise.
57156         * lib/utime.c: Likewise.
57157         * lib/utimecmp.c: Likewise.
57158         * lib/utimecmp.h: Likewise.
57159         * lib/utimens.c: Likewise.
57160         * lib/verify.h: Likewise.
57161         * lib/verror.c: Likewise.
57162         * lib/verror.h: Likewise.
57163         * lib/version-etc-fsf.c: Likewise.
57164         * lib/version-etc.c: Likewise.
57165         * lib/version-etc.h: Likewise.
57166         * lib/vfprintf.c: Likewise.
57167         * lib/vprintf.c: Likewise.
57168         * lib/vsprintf.c: Likewise.
57169         * lib/w32spawn.h: Likewise.
57170         * lib/wait-process.c: Likewise.
57171         * lib/wait-process.h: Likewise.
57172         * lib/wcwidth.c: Likewise.
57173         * lib/write-any-file.c: Likewise.
57174         * lib/xalloc-die.c: Likewise.
57175         * lib/xalloc.h: Likewise.
57176         * lib/xasprintf.c: Likewise.
57177         * lib/xgetcwd.c: Likewise.
57178         * lib/xgetcwd.h: Likewise.
57179         * lib/xgetdomainname.c: Likewise.
57180         * lib/xgetdomainname.h: Likewise.
57181         * lib/xgethostname.c: Likewise.
57182         * lib/xmalloc.c: Likewise.
57183         * lib/xmalloca.c: Likewise.
57184         * lib/xmalloca.h: Likewise.
57185         * lib/xmemcoll.c: Likewise.
57186         * lib/xnanosleep.c: Likewise.
57187         * lib/xreadlink.c: Likewise.
57188         * lib/xreadlink.h: Likewise.
57189         * lib/xsetenv.c: Likewise.
57190         * lib/xsetenv.h: Likewise.
57191         * lib/xstriconv.c: Likewise.
57192         * lib/xstriconv.h: Likewise.
57193         * lib/xstrndup.c: Likewise.
57194         * lib/xstrndup.h: Likewise.
57195         * lib/xstrtod.c: Likewise.
57196         * lib/xstrtod.h: Likewise.
57197         * lib/xstrtol-error.c: Likewise.
57198         * lib/xstrtol.c: Likewise.
57199         * lib/xstrtol.h: Likewise.
57200         * lib/xtime.h: Likewise.
57201         * lib/xvasprintf.c: Likewise.
57202         * lib/xvasprintf.h: Likewise.
57203         * lib/yesno.c: Likewise.
57204         * lib/yesno.h: Likewise.
57205         * posix-modules: Likewise.
57206         * tests/test-alloca-opt.c: Likewise.
57207         * tests/test-arcfour.c: Likewise.
57208         * tests/test-arctwo.c: Likewise.
57209         * tests/test-argmatch.c: Likewise.
57210         * tests/test-argp-2.sh: Likewise.
57211         * tests/test-argp.c: Likewise.
57212         * tests/test-arpa_inet.c: Likewise.
57213         * tests/test-array_list.c: Likewise.
57214         * tests/test-array_oset.c: Likewise.
57215         * tests/test-atexit.c: Likewise.
57216         * tests/test-avltree_list.c: Likewise.
57217         * tests/test-avltree_oset.c: Likewise.
57218         * tests/test-avltreehash_list.c: Likewise.
57219         * tests/test-base64.c: Likewise.
57220         * tests/test-binary-io.c: Likewise.
57221         * tests/test-byteswap.c: Likewise.
57222         * tests/test-c-ctype.c: Likewise.
57223         * tests/test-c-strcasecmp.c: Likewise.
57224         * tests/test-c-strcasestr.c: Likewise.
57225         * tests/test-c-strncasecmp.c: Likewise.
57226         * tests/test-c-strstr.c: Likewise.
57227         * tests/test-canonicalize-lgpl.c: Likewise.
57228         * tests/test-canonicalize.c: Likewise.
57229         * tests/test-carray_list.c: Likewise.
57230         * tests/test-ceilf.c: Likewise.
57231         * tests/test-ceill.c: Likewise.
57232         * tests/test-count-one-bits.c: Likewise.
57233         * tests/test-crc.c: Likewise.
57234         * tests/test-dirname.c: Likewise.
57235         * tests/test-fbufmode.c: Likewise.
57236         * tests/test-fcntl.c: Likewise.
57237         * tests/test-fflush.c: Likewise.
57238         * tests/test-floorf.c: Likewise.
57239         * tests/test-floorl.c: Likewise.
57240         * tests/test-fopen.c: Likewise.
57241         * tests/test-fprintf-posix.c: Likewise.
57242         * tests/test-fprintf-posix.h: Likewise.
57243         * tests/test-fpurge.c: Likewise.
57244         * tests/test-freadable.c: Likewise.
57245         * tests/test-freadahead.c: Likewise.
57246         * tests/test-freading.c: Likewise.
57247         * tests/test-freopen.c: Likewise.
57248         * tests/test-frexp.c: Likewise.
57249         * tests/test-frexpl.c: Likewise.
57250         * tests/test-fseek.c: Likewise.
57251         * tests/test-fseeko.c: Likewise.
57252         * tests/test-fseterr.c: Likewise.
57253         * tests/test-fstrcmp.c: Likewise.
57254         * tests/test-ftell.c: Likewise.
57255         * tests/test-ftello.c: Likewise.
57256         * tests/test-fwritable.c: Likewise.
57257         * tests/test-fwriting.c: Likewise.
57258         * tests/test-getaddrinfo.c: Likewise.
57259         * tests/test-getpass.c: Likewise.
57260         * tests/test-gettimeofday.c: Likewise.
57261         * tests/test-hmac-md5.c: Likewise.
57262         * tests/test-hmac-sha1.c: Likewise.
57263         * tests/test-iconv.c: Likewise.
57264         * tests/test-iconvme.c: Likewise.
57265         * tests/test-inttypes.c: Likewise.
57266         * tests/test-isnan.c: Likewise.
57267         * tests/test-isnanf.c: Likewise.
57268         * tests/test-isnanl-nolibm.c: Likewise.
57269         * tests/test-isnanl.c: Likewise.
57270         * tests/test-isnanl.h: Likewise.
57271         * tests/test-ldexpl.c: Likewise.
57272         * tests/test-linked_list.c: Likewise.
57273         * tests/test-linkedhash_list.c: Likewise.
57274         * tests/test-locale.c: Likewise.
57275         * tests/test-localename.c: Likewise.
57276         * tests/test-lock.c: Likewise.
57277         * tests/test-lseek.c: Likewise.
57278         * tests/test-malloca.c: Likewise.
57279         * tests/test-math.c: Likewise.
57280         * tests/test-mbscasecmp.c: Likewise.
57281         * tests/test-mbscasestr1.c: Likewise.
57282         * tests/test-mbscasestr2.c: Likewise.
57283         * tests/test-mbscasestr3.c: Likewise.
57284         * tests/test-mbscasestr4.c: Likewise.
57285         * tests/test-mbschr.c: Likewise.
57286         * tests/test-mbscspn.c: Likewise.
57287         * tests/test-mbsncasecmp.c: Likewise.
57288         * tests/test-mbspbrk.c: Likewise.
57289         * tests/test-mbspcasecmp.c: Likewise.
57290         * tests/test-mbsrchr.c: Likewise.
57291         * tests/test-mbsspn.c: Likewise.
57292         * tests/test-mbsstr1.c: Likewise.
57293         * tests/test-mbsstr2.c: Likewise.
57294         * tests/test-mbsstr3.c: Likewise.
57295         * tests/test-md5.c: Likewise.
57296         * tests/test-memmem.c: Likewise.
57297         * tests/test-netinet_in.c: Likewise.
57298         * tests/test-open.c: Likewise.
57299         * tests/test-printf-frexp.c: Likewise.
57300         * tests/test-printf-frexpl.c: Likewise.
57301         * tests/test-printf-posix.c: Likewise.
57302         * tests/test-printf-posix.h: Likewise.
57303         * tests/test-rbtree_list.c: Likewise.
57304         * tests/test-rbtree_oset.c: Likewise.
57305         * tests/test-rbtreehash_list.c: Likewise.
57306         * tests/test-read-file.c: Likewise.
57307         * tests/test-rijndael.c: Likewise.
57308         * tests/test-search.c: Likewise.
57309         * tests/test-signbit.c: Likewise.
57310         * tests/test-sleep.c: Likewise.
57311         * tests/test-snprintf-posix.c: Likewise.
57312         * tests/test-snprintf-posix.h: Likewise.
57313         * tests/test-snprintf.c: Likewise.
57314         * tests/test-sprintf-posix.c: Likewise.
57315         * tests/test-sprintf-posix.h: Likewise.
57316         * tests/test-stat-time.c: Likewise.
57317         * tests/test-stdbool.c: Likewise.
57318         * tests/test-stdint.c: Likewise.
57319         * tests/test-stdio.c: Likewise.
57320         * tests/test-stdlib.c: Likewise.
57321         * tests/test-stpncpy.c: Likewise.
57322         * tests/test-strcasestr.c: Likewise.
57323         * tests/test-striconv.c: Likewise.
57324         * tests/test-striconveh.c: Likewise.
57325         * tests/test-striconveha.c: Likewise.
57326         * tests/test-string.c: Likewise.
57327         * tests/test-sys_select.c: Likewise.
57328         * tests/test-sys_socket.c: Likewise.
57329         * tests/test-sys_stat.c: Likewise.
57330         * tests/test-sys_time.c: Likewise.
57331         * tests/test-sysexits.c: Likewise.
57332         * tests/test-time.c: Likewise.
57333         * tests/test-tls.c: Likewise.
57334         * tests/test-trunc.c: Likewise.
57335         * tests/test-truncf.c: Likewise.
57336         * tests/test-truncl.c: Likewise.
57337         * tests/test-unistd.c: Likewise.
57338         * tests/test-vasnprintf-posix.c: Likewise.
57339         * tests/test-vasnprintf-posix2.c: Likewise.
57340         * tests/test-vasnprintf.c: Likewise.
57341         * tests/test-vasprintf-posix.c: Likewise.
57342         * tests/test-vasprintf.c: Likewise.
57343         * tests/test-verify.c: Likewise.
57344         * tests/test-vfprintf-posix.c: Likewise.
57345         * tests/test-vprintf-posix.c: Likewise.
57346         * tests/test-vsnprintf-posix.c: Likewise.
57347         * tests/test-vsnprintf.c: Likewise.
57348         * tests/test-vsprintf-posix.c: Likewise.
57349         * tests/test-wchar.c: Likewise.
57350         * tests/test-wctype.c: Likewise.
57351         * tests/test-wcwidth.c: Likewise.
57352         * tests/test-xstrtol.c: Likewise.
57353         * tests/test-xvasprintf.c: Likewise.
57354         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
57355         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
57356         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
57357         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
57358         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
57359         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
57360         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
57361         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
57362         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
57363         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
57364         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
57365         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
57366         * tests/uniname/test-uninames.c: Likewise.
57367         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
57368         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
57369         * tests/unistdio/test-u16-printf1.h: Likewise.
57370         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
57371         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
57372         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
57373         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
57374         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
57375         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
57376         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
57377         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
57378         * tests/unistdio/test-u32-printf1.h: Likewise.
57379         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
57380         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
57381         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
57382         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
57383         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
57384         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
57385         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
57386         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
57387         * tests/unistdio/test-u8-printf1.h: Likewise.
57388         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
57389         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
57390         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
57391         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
57392         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
57393         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
57394         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
57395         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
57396         * tests/unistdio/test-ulc-printf1.h: Likewise.
57397         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
57398         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
57399         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
57400         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
57401         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
57402         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
57403         * tests/uniwidth/test-u16-strwidth.c: Likewise.
57404         * tests/uniwidth/test-u16-width.c: Likewise.
57405         * tests/uniwidth/test-u32-strwidth.c: Likewise.
57406         * tests/uniwidth/test-u32-width.c: Likewise.
57407         * tests/uniwidth/test-u8-strwidth.c: Likewise.
57408         * tests/uniwidth/test-u8-width.c: Likewise.
57409         * tests/uniwidth/test-uc_width.c: Likewise.
57410         * config/srclist-update: Likewise.
57411         (fixlicense): Update to GPLv3+.
57412
57413         Change copyright notice from LGPLv2.1+ to LGPLv3+.
57414         * tests/test-tsearch.c: Change copyright notice.
57415
57416         Change copyright notice from LGPLv2.0+ to LGPLv3+.
57417         * lib/c-strcaseeq.h: Change copyright notice.
57418         * lib/streq.h: Likewise.
57419         * lib/uniconv.h: Likewise.
57420         * lib/uniconv/u-conv-from-enc.h: Likewise.
57421         * lib/uniconv/u-conv-to-enc.h: Likewise.
57422         * lib/uniconv/u-strconv-from-enc.h: Likewise.
57423         * lib/uniconv/u-strconv-to-enc.h: Likewise.
57424         * lib/uniconv/u16-conv-from-enc.c: Likewise.
57425         * lib/uniconv/u16-conv-to-enc.c: Likewise.
57426         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
57427         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
57428         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
57429         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
57430         * lib/uniconv/u32-conv-from-enc.c: Likewise.
57431         * lib/uniconv/u32-conv-to-enc.c: Likewise.
57432         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
57433         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
57434         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
57435         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
57436         * lib/uniconv/u8-conv-from-enc.c: Likewise.
57437         * lib/uniconv/u8-conv-to-enc.c: Likewise.
57438         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
57439         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
57440         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
57441         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
57442         * lib/uniname.h: Likewise.
57443         * lib/uniname/uniname.c: Likewise.
57444         * lib/unistdio.h: Likewise.
57445         * lib/unistdio/u-asnprintf.h: Likewise.
57446         * lib/unistdio/u-asprintf.h: Likewise.
57447         * lib/unistdio/u-printf-args.c: Likewise.
57448         * lib/unistdio/u-printf-args.h: Likewise.
57449         * lib/unistdio/u-printf-parse.h: Likewise.
57450         * lib/unistdio/u-snprintf.h: Likewise.
57451         * lib/unistdio/u-sprintf.h: Likewise.
57452         * lib/unistdio/u-vasprintf.h: Likewise.
57453         * lib/unistdio/u-vsnprintf.h: Likewise.
57454         * lib/unistdio/u-vsprintf.h: Likewise.
57455         * lib/unistdio/u16-asnprintf.c: Likewise.
57456         * lib/unistdio/u16-asprintf.c: Likewise.
57457         * lib/unistdio/u16-printf-parse.c: Likewise.
57458         * lib/unistdio/u16-snprintf.c: Likewise.
57459         * lib/unistdio/u16-sprintf.c: Likewise.
57460         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
57461         * lib/unistdio/u16-u16-asprintf.c: Likewise.
57462         * lib/unistdio/u16-u16-snprintf.c: Likewise.
57463         * lib/unistdio/u16-u16-sprintf.c: Likewise.
57464         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
57465         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
57466         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
57467         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
57468         * lib/unistdio/u16-vasnprintf.c: Likewise.
57469         * lib/unistdio/u16-vasprintf.c: Likewise.
57470         * lib/unistdio/u16-vsnprintf.c: Likewise.
57471         * lib/unistdio/u16-vsprintf.c: Likewise.
57472         * lib/unistdio/u32-asnprintf.c: Likewise.
57473         * lib/unistdio/u32-asprintf.c: Likewise.
57474         * lib/unistdio/u32-printf-parse.c: Likewise.
57475         * lib/unistdio/u32-snprintf.c: Likewise.
57476         * lib/unistdio/u32-sprintf.c: Likewise.
57477         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
57478         * lib/unistdio/u32-u32-asprintf.c: Likewise.
57479         * lib/unistdio/u32-u32-snprintf.c: Likewise.
57480         * lib/unistdio/u32-u32-sprintf.c: Likewise.
57481         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
57482         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
57483         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
57484         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
57485         * lib/unistdio/u32-vasnprintf.c: Likewise.
57486         * lib/unistdio/u32-vasprintf.c: Likewise.
57487         * lib/unistdio/u32-vsnprintf.c: Likewise.
57488         * lib/unistdio/u32-vsprintf.c: Likewise.
57489         * lib/unistdio/u8-asnprintf.c: Likewise.
57490         * lib/unistdio/u8-asprintf.c: Likewise.
57491         * lib/unistdio/u8-printf-parse.c: Likewise.
57492         * lib/unistdio/u8-snprintf.c: Likewise.
57493         * lib/unistdio/u8-sprintf.c: Likewise.
57494         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
57495         * lib/unistdio/u8-u8-asprintf.c: Likewise.
57496         * lib/unistdio/u8-u8-snprintf.c: Likewise.
57497         * lib/unistdio/u8-u8-sprintf.c: Likewise.
57498         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
57499         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
57500         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
57501         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
57502         * lib/unistdio/u8-vasnprintf.c: Likewise.
57503         * lib/unistdio/u8-vasprintf.c: Likewise.
57504         * lib/unistdio/u8-vsnprintf.c: Likewise.
57505         * lib/unistdio/u8-vsprintf.c: Likewise.
57506         * lib/unistdio/ulc-asnprintf.c: Likewise.
57507         * lib/unistdio/ulc-asprintf.c: Likewise.
57508         * lib/unistdio/ulc-printf-parse.c: Likewise.
57509         * lib/unistdio/ulc-snprintf.c: Likewise.
57510         * lib/unistdio/ulc-sprintf.c: Likewise.
57511         * lib/unistdio/ulc-vasnprintf.c: Likewise.
57512         * lib/unistdio/ulc-vasprintf.c: Likewise.
57513         * lib/unistdio/ulc-vsnprintf.c: Likewise.
57514         * lib/unistdio/ulc-vsprintf.c: Likewise.
57515         * lib/unistr.h: Likewise.
57516         * lib/unistr/u-cpy-alloc.h: Likewise.
57517         * lib/unistr/u-cpy.h: Likewise.
57518         * lib/unistr/u-endswith.h: Likewise.
57519         * lib/unistr/u-move.h: Likewise.
57520         * lib/unistr/u-set.h: Likewise.
57521         * lib/unistr/u-startswith.h: Likewise.
57522         * lib/unistr/u-stpcpy.h: Likewise.
57523         * lib/unistr/u-stpncpy.h: Likewise.
57524         * lib/unistr/u-strcat.h: Likewise.
57525         * lib/unistr/u-strcpy.h: Likewise.
57526         * lib/unistr/u-strcspn.h: Likewise.
57527         * lib/unistr/u-strdup.h: Likewise.
57528         * lib/unistr/u-strlen.h: Likewise.
57529         * lib/unistr/u-strncat.h: Likewise.
57530         * lib/unistr/u-strncpy.h: Likewise.
57531         * lib/unistr/u-strnlen.h: Likewise.
57532         * lib/unistr/u-strpbrk.h: Likewise.
57533         * lib/unistr/u-strspn.h: Likewise.
57534         * lib/unistr/u-strstr.h: Likewise.
57535         * lib/unistr/u-strtok.h: Likewise.
57536         * lib/unistr/u16-check.c: Likewise.
57537         * lib/unistr/u16-chr.c: Likewise.
57538         * lib/unistr/u16-cmp.c: Likewise.
57539         * lib/unistr/u16-cpy-alloc.c: Likewise.
57540         * lib/unistr/u16-cpy.c: Likewise.
57541         * lib/unistr/u16-endswith.c: Likewise.
57542         * lib/unistr/u16-mblen.c: Likewise.
57543         * lib/unistr/u16-mbsnlen.c: Likewise.
57544         * lib/unistr/u16-mbtouc-aux.c: Likewise.
57545         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
57546         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
57547         * lib/unistr/u16-mbtouc.c: Likewise.
57548         * lib/unistr/u16-mbtoucr.c: Likewise.
57549         * lib/unistr/u16-move.c: Likewise.
57550         * lib/unistr/u16-next.c: Likewise.
57551         * lib/unistr/u16-prev.c: Likewise.
57552         * lib/unistr/u16-set.c: Likewise.
57553         * lib/unistr/u16-startswith.c: Likewise.
57554         * lib/unistr/u16-stpcpy.c: Likewise.
57555         * lib/unistr/u16-stpncpy.c: Likewise.
57556         * lib/unistr/u16-strcat.c: Likewise.
57557         * lib/unistr/u16-strchr.c: Likewise.
57558         * lib/unistr/u16-strcmp.c: Likewise.
57559         * lib/unistr/u16-strcpy.c: Likewise.
57560         * lib/unistr/u16-strcspn.c: Likewise.
57561         * lib/unistr/u16-strdup.c: Likewise.
57562         * lib/unistr/u16-strlen.c: Likewise.
57563         * lib/unistr/u16-strmblen.c: Likewise.
57564         * lib/unistr/u16-strmbtouc.c: Likewise.
57565         * lib/unistr/u16-strncat.c: Likewise.
57566         * lib/unistr/u16-strncmp.c: Likewise.
57567         * lib/unistr/u16-strncpy.c: Likewise.
57568         * lib/unistr/u16-strnlen.c: Likewise.
57569         * lib/unistr/u16-strpbrk.c: Likewise.
57570         * lib/unistr/u16-strrchr.c: Likewise.
57571         * lib/unistr/u16-strspn.c: Likewise.
57572         * lib/unistr/u16-strstr.c: Likewise.
57573         * lib/unistr/u16-strtok.c: Likewise.
57574         * lib/unistr/u16-to-u32.c: Likewise.
57575         * lib/unistr/u16-to-u8.c: Likewise.
57576         * lib/unistr/u16-uctomb-aux.c: Likewise.
57577         * lib/unistr/u16-uctomb.c: Likewise.
57578         * lib/unistr/u32-check.c: Likewise.
57579         * lib/unistr/u32-chr.c: Likewise.
57580         * lib/unistr/u32-cmp.c: Likewise.
57581         * lib/unistr/u32-cpy-alloc.c: Likewise.
57582         * lib/unistr/u32-cpy.c: Likewise.
57583         * lib/unistr/u32-endswith.c: Likewise.
57584         * lib/unistr/u32-mblen.c: Likewise.
57585         * lib/unistr/u32-mbsnlen.c: Likewise.
57586         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
57587         * lib/unistr/u32-mbtouc.c: Likewise.
57588         * lib/unistr/u32-mbtoucr.c: Likewise.
57589         * lib/unistr/u32-move.c: Likewise.
57590         * lib/unistr/u32-next.c: Likewise.
57591         * lib/unistr/u32-prev.c: Likewise.
57592         * lib/unistr/u32-set.c: Likewise.
57593         * lib/unistr/u32-startswith.c: Likewise.
57594         * lib/unistr/u32-stpcpy.c: Likewise.
57595         * lib/unistr/u32-stpncpy.c: Likewise.
57596         * lib/unistr/u32-strcat.c: Likewise.
57597         * lib/unistr/u32-strchr.c: Likewise.
57598         * lib/unistr/u32-strcmp.c: Likewise.
57599         * lib/unistr/u32-strcpy.c: Likewise.
57600         * lib/unistr/u32-strcspn.c: Likewise.
57601         * lib/unistr/u32-strdup.c: Likewise.
57602         * lib/unistr/u32-strlen.c: Likewise.
57603         * lib/unistr/u32-strmblen.c: Likewise.
57604         * lib/unistr/u32-strmbtouc.c: Likewise.
57605         * lib/unistr/u32-strncat.c: Likewise.
57606         * lib/unistr/u32-strncmp.c: Likewise.
57607         * lib/unistr/u32-strncpy.c: Likewise.
57608         * lib/unistr/u32-strnlen.c: Likewise.
57609         * lib/unistr/u32-strpbrk.c: Likewise.
57610         * lib/unistr/u32-strrchr.c: Likewise.
57611         * lib/unistr/u32-strspn.c: Likewise.
57612         * lib/unistr/u32-strstr.c: Likewise.
57613         * lib/unistr/u32-strtok.c: Likewise.
57614         * lib/unistr/u32-to-u16.c: Likewise.
57615         * lib/unistr/u32-to-u8.c: Likewise.
57616         * lib/unistr/u32-uctomb.c: Likewise.
57617         * lib/unistr/u8-check.c: Likewise.
57618         * lib/unistr/u8-chr.c: Likewise.
57619         * lib/unistr/u8-cmp.c: Likewise.
57620         * lib/unistr/u8-cpy-alloc.c: Likewise.
57621         * lib/unistr/u8-cpy.c: Likewise.
57622         * lib/unistr/u8-endswith.c: Likewise.
57623         * lib/unistr/u8-mblen.c: Likewise.
57624         * lib/unistr/u8-mbsnlen.c: Likewise.
57625         * lib/unistr/u8-mbtouc-aux.c: Likewise.
57626         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
57627         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
57628         * lib/unistr/u8-mbtouc.c: Likewise.
57629         * lib/unistr/u8-mbtoucr.c: Likewise.
57630         * lib/unistr/u8-move.c: Likewise.
57631         * lib/unistr/u8-next.c: Likewise.
57632         * lib/unistr/u8-prev.c: Likewise.
57633         * lib/unistr/u8-set.c: Likewise.
57634         * lib/unistr/u8-startswith.c: Likewise.
57635         * lib/unistr/u8-stpcpy.c: Likewise.
57636         * lib/unistr/u8-stpncpy.c: Likewise.
57637         * lib/unistr/u8-strcat.c: Likewise.
57638         * lib/unistr/u8-strchr.c: Likewise.
57639         * lib/unistr/u8-strcmp.c: Likewise.
57640         * lib/unistr/u8-strcpy.c: Likewise.
57641         * lib/unistr/u8-strcspn.c: Likewise.
57642         * lib/unistr/u8-strdup.c: Likewise.
57643         * lib/unistr/u8-strlen.c: Likewise.
57644         * lib/unistr/u8-strmblen.c: Likewise.
57645         * lib/unistr/u8-strmbtouc.c: Likewise.
57646         * lib/unistr/u8-strncat.c: Likewise.
57647         * lib/unistr/u8-strncmp.c: Likewise.
57648         * lib/unistr/u8-strncpy.c: Likewise.
57649         * lib/unistr/u8-strnlen.c: Likewise.
57650         * lib/unistr/u8-strpbrk.c: Likewise.
57651         * lib/unistr/u8-strrchr.c: Likewise.
57652         * lib/unistr/u8-strspn.c: Likewise.
57653         * lib/unistr/u8-strstr.c: Likewise.
57654         * lib/unistr/u8-strtok.c: Likewise.
57655         * lib/unistr/u8-to-u16.c: Likewise.
57656         * lib/unistr/u8-to-u32.c: Likewise.
57657         * lib/unistr/u8-uctomb-aux.c: Likewise.
57658         * lib/unistr/u8-uctomb.c: Likewise.
57659         * lib/unitypes.h: Likewise.
57660         * lib/uniwidth.h: Likewise.
57661         * lib/uniwidth/cjk.h: Likewise.
57662         * lib/uniwidth/u16-strwidth.c: Likewise.
57663         * lib/uniwidth/u16-width.c: Likewise.
57664         * lib/uniwidth/u32-strwidth.c: Likewise.
57665         * lib/uniwidth/u32-width.c: Likewise.
57666         * lib/uniwidth/u8-strwidth.c: Likewise.
57667         * lib/uniwidth/u8-width.c: Likewise.
57668         * lib/uniwidth/width.c: Likewise.
57669
57670 2007-10-07  Bruno Haible  <bruno@clisp.org>
57671
57672         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
57673         The file is still under LGPL (see modules/inttypes).
57674
57675 2007-10-06  Bruno Haible  <bruno@clisp.org>
57676
57677         * modules/trunc (Dependencies): Add 'extensions'.
57678         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
57679         Reported by Ben Pfaff <blp@gnu.org>.
57680
57681 2007-10-06  Bruno Haible  <bruno@clisp.org>
57682
57683         * modules/freopen-tests: New file.
57684         * tests/test-freopen.c: New file.
57685
57686         * modules/fopen-tests: New file.
57687         * tests/test-fopen.c: New file.
57688
57689         * modules/fopen: New file.
57690         * lib/fopen.c: New file.
57691         * m4/fopen.m4: New file.
57692         * modules/freopen: New file.
57693         * lib/freopen.c: New file.
57694         * m4/freopen.m4: New file.
57695         * lib/stdio.in.h (fopen, freopen): New declarations.
57696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
57697         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
57698         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
57699         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
57700         * doc/functions/fopen.texi: Mention the 'fopen' module.
57701         * doc/functions/freopen.texi: Mention the 'freopen' module.
57702
57703 2007-10-06  Bruno Haible  <bruno@clisp.org>
57704
57705         * modules/open-tests: New file.
57706         * tests/test-open.c: New file.
57707
57708         * modules/open: New file.
57709         * lib/open.c: New file.
57710         * m4/open.m4: New file.
57711         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
57712         lib/open.c does.
57713         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
57714         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
57715         macros.
57716         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
57717         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
57718         REPLACE_OPEN.
57719         * doc/functions/open.texi: Mention the 'open' module.
57720
57721 2007-10-04  Bruno Haible  <bruno@clisp.org>
57722
57723         * modules/ceill-tests: New file.
57724         * tests/test-ceill.c: New file.
57725
57726         * modules/ceill: New file.
57727         * lib/ceill.c: Replace entire file.
57728         * m4/ceill.m4: New file.
57729         * lib/math.in.h (ceill): Replace declaration.
57730         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
57731         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
57732         * doc/functions/ceill.texi: Mention the 'ceill' module.
57733         * modules/mathl (Files): Remove lib/ceill.c.
57734         (Depends-on): Add ceill.
57735
57736 2007-10-04  Bruno Haible  <bruno@clisp.org>
57737
57738         * modules/ceilf-tests: New file.
57739         * tests/test-ceilf.c: New file.
57740
57741         * modules/ceilf: New file.
57742         * lib/ceil.c: New file.
57743         * lib/ceilf.c: New file.
57744         * m4/ceilf.m4: New file.
57745         * lib/math.in.h (ceilf): New declaration.
57746         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
57747         HAVE_DECL_CEILF.
57748         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
57749         HAVE_DECL_CEILF.
57750         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
57751
57752 2007-10-04  Bruno Haible  <bruno@clisp.org>
57753
57754         * modules/floorl-tests: New file.
57755         * tests/test-floorl.c: New file.
57756
57757         * modules/floorl: New file.
57758         * lib/floorl.c: Replace entire file.
57759         * m4/floorl.m4: New file.
57760         * lib/math.in.h (floorl): Replace declaration.
57761         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
57762         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
57763         * doc/functions/floorl.texi: Mention the 'floorl' module.
57764         * modules/mathl (Files): Remove lib/floorl.c.
57765         (Depends-on): Add floorl.
57766
57767 2007-10-04  Bruno Haible  <bruno@clisp.org>
57768
57769         * modules/floorf-tests: New file.
57770         * tests/test-floorf.c: New file.
57771
57772         * modules/floorf: New file.
57773         * lib/floor.c: New file.
57774         * lib/floorf.c: New file.
57775         * m4/floorf.m4: New file.
57776         * lib/math.in.h (floorf): New declaration.
57777         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
57778         HAVE_DECL_FLOORF.
57779         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
57780         HAVE_DECL_FLOORF.
57781         * doc/functions/floorf.texi: Mention the 'floorf' module.
57782
57783 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
57784             Bruno Haible  <bruno@clisp.org>
57785
57786         Advertise for the Git server instead of the CVS server.
57787         * doc/gnulib-intro.texi (Steady Development): Mention the Git
57788         repository instead of the CVS one.
57789         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
57790         about all VCS systems generically.
57791         * doc/gnulib.texi (Introduction): Capitalize `Git'.
57792
57793 2007-10-04  Bruno Haible  <bruno@clisp.org>
57794
57795         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
57796         means.
57797         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
57798
57799 2007-10-04  Bruno Haible  <bruno@clisp.org>
57800
57801         * modules/truncl-tests: New file.
57802         * tests/test-truncl.c: New file.
57803
57804         * modules/truncl: New file.
57805         * lib/truncl.c: New file.
57806         * m4/truncl.m4: New file.
57807         * lib/math.in.h (truncl): New declaration.
57808         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
57809         HAVE_DECL_TRUNCL.
57810         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
57811         HAVE_DECL_TRUNCL.
57812         * doc/functions/truncl.texi: Mention the 'truncl' module.
57813
57814 2007-10-04  Bruno Haible  <bruno@clisp.org>
57815
57816         * modules/truncf-tests: New file.
57817         * tests/test-truncf.c: New file.
57818
57819         * modules/truncf: New file.
57820         * lib/trunc.c: Make paramerizable through USE_* macros.
57821         * lib/truncf.c: New file.
57822         * m4/truncf.m4: New file.
57823         * lib/math.in.h (truncf): New declaration.
57824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
57825         HAVE_DECL_TRUNCF.
57826         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
57827         HAVE_DECL_TRUNCF.
57828         * doc/functions/truncf.texi: Mention the 'truncf' module.
57829
57830 2007-10-03  Bruno Haible  <bruno@clisp.org>
57831
57832         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
57833         augmentation also for tests modules.
57834         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
57835         * modules/atexit-tests (Makefile.am): Likewise.
57836         * modules/binary-io-tests (Makefile.am): Likewise.
57837         * modules/c-strcase-tests (Makefile.am): Likewise.
57838         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
57839         * modules/canonicalize-tests (Makefile.am): Likewise.
57840         * modules/closein-tests (Makefile.am): Likewise.
57841         * modules/fprintf-posix-tests (Makefile.am): Likewise.
57842         * modules/freadahead-tests (Makefile.am): Likewise.
57843         * modules/fseek-tests (Makefile.am): Likewise.
57844         * modules/fseeko-tests (Makefile.am): Likewise.
57845         * modules/ftell-tests (Makefile.am): Likewise.
57846         * modules/ftello-tests (Makefile.am): Likewise.
57847         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
57848         * modules/isnanl-tests (Makefile.am): Likewise.
57849         * modules/lseek-tests (Makefile.am): Likewise.
57850         * modules/mbscasecmp-tests (Makefile.am): Likewise.
57851         * modules/mbscasestr-tests (Makefile.am): Likewise.
57852         * modules/mbschr-tests (Makefile.am): Likewise.
57853         * modules/mbscspn-tests (Makefile.am): Likewise.
57854         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
57855         * modules/mbspbrk-tests (Makefile.am): Likewise.
57856         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
57857         * modules/mbsrchr-tests (Makefile.am): Likewise.
57858         * modules/mbsspn-tests (Makefile.am): Likewise.
57859         * modules/mbsstr-tests (Makefile.am): Likewise.
57860         * modules/printf-posix-tests (Makefile.am): Likewise.
57861         * modules/snprintf-posix-tests (Makefile.am): Likewise.
57862         * modules/sprintf-posix-tests (Makefile.am): Likewise.
57863         * modules/tsearch-tests (Makefile.am): Likewise.
57864         * modules/uniname/uniname-tests (Makefile.am): Likewise.
57865         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
57866         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
57867         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
57868         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
57869         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
57870         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
57871         * modules/vprintf-posix-tests (Makefile.am): Likewise.
57872         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
57873         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
57874         * modules/xstrtoimax-tests (Makefile.am): Likewise.
57875         * modules/xstrtol-tests (Makefile.am): Likewise.
57876         * modules/xstrtoumax-tests (Makefile.am): Likewise.
57877         * modules/yesno-tests (Makefile.am): Likewise.
57878
57879 2007-10-03  Bruno Haible  <bruno@clisp.org>
57880
57881         * modules/trunc-tests: New file.
57882         * tests/test-trunc.c: New file.
57883
57884         * modules/trunc: New file.
57885         * lib/trunc.c: New file.
57886         * m4/trunc.m4: New file.
57887         * lib/math.in.h (trunc): New declaration.
57888         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
57889         HAVE_DECL_TRUNC.
57890         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
57891         HAVE_DECL_TRUNC.
57892         * doc/functions/trunc.texi: Mention the 'trunc' module.
57893
57894 2007-10-03  Bruno Haible  <bruno@clisp.org>
57895
57896         * tests/test-fpending.c: New file, mostly copied
57897         from coreutils/lib/t-fpending.c.
57898         * modules/fpending-tests: New file.
57899
57900 2007-10-03  Bruno Haible  <bruno@clisp.org>
57901
57902         Port the stdio extensions to QNX (untested).
57903         * lib/fseterr.c (fseterr): Add support for QNX.
57904         * lib/fbufmode.c (fbufmode): Likewise.
57905         * lib/freadable.c (freadable): Likewise.
57906         * lib/fwritable.c (fwritable): Likewise.
57907         * lib/freading.c (freading): Likewise.
57908         * lib/fwriting.c (fwriting): Likewise.
57909         * lib/freadahead.c (freadahed): Likewise.
57910         * lib/fpurge.c (fpurge): Likewise.
57911         * lib/fseeko.c (rpl_fseeko): Likewise.
57912
57913 2007-10-03  Bruno Haible  <bruno@clisp.org>
57914             Jim Meyering  <jim@meyering.net>
57915             Eric Blake  <ebb9@byu.net>
57916
57917         * doc/relocatable.texi: Use @command instead of @program.
57918
57919 2007-10-02  Jim Meyering  <jim@meyering.net>
57920
57921         Perform one more "_.h" -> ".in.h" substitution.
57922         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
57923         instead of unistd_.h here, too.
57924
57925 2007-10-01  Bruno Haible  <bruno@clisp.org>
57926
57927         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
57928         Needed for the alloca-opt module.
57929
57930 2007-09-30  Bruno Haible  <bruno@clisp.org>
57931
57932         * lib/alloca.in.h: Renamed from lib/alloca_.h.
57933         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
57934         alloca_.h.
57935         * lib/argz.in.h: Renamed from lib/argz_.h.
57936         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
57937         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
57938         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
57939         byteswap_.h.
57940         * lib/dirent.in.h: Renamed from lib/dirent_.h.
57941         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
57942         dirent_.h.
57943         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
57944         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
57945         fcntl_.h.
57946         * lib/float.in.h: Renamed from lib/float_.h.
57947         * modules/float (Files, Makefile.am): Use float.in.h instead of
57948         float_.h.
57949         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
57950         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
57951         fnmatch_.h.
57952         * lib/getopt.in.h: Renamed from lib/getopt_.h.
57953         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
57954         getopt_.h.
57955         * lib/glob.in.h: Renamed from lib/glob_.h.
57956         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
57957         * lib/iconv.in.h: Renamed from lib/iconv_.h.
57958         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
57959         iconv_.h.
57960         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
57961         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
57962         inttypes_.h.
57963         * lib/locale.in.h: Renamed from lib/locale_.h.
57964         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
57965         locale_.h.
57966         * lib/math.in.h: Renamed from lib/math_.h.
57967         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
57968         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
57969         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
57970         of netinet_in_.h. Add dependency.
57971         * lib/poll.in.h: Renamed from lib/poll_.h.
57972         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
57973         * lib/search.in.h: Renamed from lib/search_.h.
57974         * modules/search (Files, Makefile.am): Use search.in.h instead of
57975         search_.h.
57976         * lib/signal.in.h: Renamed from lib/signal_.h.
57977         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
57978         _signal.h.
57979         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
57980         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
57981         stdbool_.h.
57982         * lib/stdint.in.h: Renamed from lib/stdint_.h.
57983         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
57984         stdint_.h.
57985         * lib/stdio.in.h: Renamed from lib/stdio_.h.
57986         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
57987         stdio_.h.
57988         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
57989         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
57990         stdlib_.h.
57991         * lib/string.in.h: Renamed from lib/string_.h.
57992         * modules/string (Files, Makefile.am): Use string.in.h instead of
57993         string_.h.
57994         * doc/gnulib-tool.texi (Initial import): Update.
57995         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
57996         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
57997         of sys_select_.h. Add dependency.
57998         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
57999         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
58000         of sys_socket_.h.
58001         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
58002         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
58003         sys_stat_.h.
58004         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
58005         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
58006         sys_time_.h.
58007         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
58008         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
58009         sysexits_.h.
58010         * lib/time.in.h: Renamed from lib/time_.h.
58011         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
58012         * lib/unistd.in.h: Renamed from lib/unistd_.h.
58013         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
58014         unistd_.h.
58015         * lib/wchar.in.h: Renamed from lib/wchar_.h.
58016         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
58017         wchar_.h.
58018         * lib/wctype.in.h: Renamed from lib/wctype_.h.
58019         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
58020         wctype_.h.
58021         * build-aux/bootstrap (slurp): Update.
58022         * lib/.cppi-disable: Update.
58023
58024 2007-09-30  Bruno Haible  <bruno@clisp.org>
58025
58026         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
58027         Needed on BeOS.
58028
58029 2007-09-30  Bruno Haible  <bruno@clisp.org>
58030
58031         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
58032
58033 2007-09-29  Bruno Haible  <bruno@clisp.org>
58034
58035         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
58036
58037 2007-09-29  Bruno Haible  <bruno@clisp.org>
58038
58039         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
58040         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
58041         * build-aux/install-reloc: Compile also areadlink.c.
58042         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
58043
58044 2007-09-29  Bruno Haible  <bruno@clisp.org>
58045
58046         * gnulib-tool (func_emit_initmacro_done): Indentation.
58047
58048 2007-09-29  Bruno Haible  <bruno@clisp.org>
58049
58050         * README: Add CVS checkout update instructions.
58051         Info from Bob Proulx <bob@proulx.com>.
58052
58053 2007-09-28  Eric Blake  <ebb9@byu.net>
58054
58055         Provide move-if-change.
58056         * build-aux/move-if-change: New file, based on best practice
58057         rather than any canonical upstream location.
58058
58059 2007-09-28  Jim Meyering  <jim@meyering.net>
58060
58061         Fix canonicalize loop-detection corner case.
58062         Do not attempt to stat the symlink values stored via seen_triple.
58063         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
58064         on linux-2.6.18, (but not 2.6.22).
58065         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
58066         triple_compare.  The former compares dev,ino,filename, while the latter
58067         would actually stat dirname(filename) when dev and ino were equal.
58068         * lib/hash-triple.c: Install <string.h>.
58069         (STREQ): Define.
58070         (triple_compare_ino_str): New function.
58071         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
58072
58073 2007-09-28  Eric Blake  <ebb9@byu.net>
58074
58075         Enforce that AC_REPLACE_FUNCS files exist.
58076         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
58077         override check for typos.
58078
58079         Fix test-closein on Solaris 10.
58080         * tests/test-closein.c (main): Don't assume stdin can be inherited
58081         closed on all systems.
58082         * tests/test-closein.sh: Likewise.
58083         Reported by Piotr Tarnowski.
58084
58085 2007-09-28  Jim Meyering  <jim@meyering.net>
58086
58087         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
58088
58089 2007-09-27  Jim Meyering  <jim@meyering.net>
58090
58091         canonicalize: Avoid a false-positive cycle failure.
58092         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
58093         Sort.  Remove cycle-check.
58094         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
58095         not cycle-check.h.
58096         (seen_triple): New function.
58097         (canonicalize_filename_mode): Use it instead of cycle-check.
58098         * tests/test-canonicalize.c: Add a test for this bug.
58099         * tests/test-canonicalize.sh: Set up and run the test.
58100
58101         New module, file-set, from coreutils.
58102         * modules/file-set: Define it.
58103         * lib/file-set.c, lib/file-set.h: Implement.
58104
58105         New module, hash-triple, from coreutils.
58106         * modules/hash-triple: Define it.
58107         * lib/hash-triple.c, lib/hash-triple.h: Implement.
58108
58109 2007-09-25  Eric Blake  <ebb9@byu.net>
58110
58111         Fix strerror on Interix.
58112         * lib/string_.h (strerror): Declare replacement.
58113         * doc/functions/strerror.texi (strerror): Document the Interix
58114         shortcoming.
58115         * modules/string (Makefile.am): Support new hooks.
58116         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
58117         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
58118         gl_FUNC_STRERROR_SEPARATE.
58119         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
58120         * lib/strerror.c (rpl_strerror): Provide replacement.
58121         * modules/strerror (Depends-on): Add string.
58122         (configure.ac): Detect use of module.
58123         * tests/test-strerror.c: New file.
58124         * modules/strerror-tests: New test module.
58125         * modules/argp (Depends-on): Add strerror.
58126         * modules/error (Depends-on): Likewise.
58127         Reported by Martin Koeppe.
58128
58129 2007-09-24  Bruno Haible  <bruno@clisp.org>
58130
58131         * README: Update git instructions.
58132
58133 2007-09-24  Eric Blake  <ebb9@byu.net>
58134
58135         Revert fpending breakage from 2007-09-08.
58136         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
58137         __fpending.c.
58138
58139 2007-09-24  Jim Meyering  <jim@meyering.net>
58140
58141         filenamecat.c: Add a test.
58142         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
58143         showing how the function works when DIR is the empty string.
58144
58145 2007-09-21  Simon Josefsson  <simon@josefsson.org>
58146
58147         * tests/test-canonicalize.sh: Turn on executable bit.
58148
58149 2007-09-19  Eric Blake  <ebb9@byu.net>
58150
58151         * README: Update CVS instructions.
58152
58153 2007-09-18  Bruno Haible  <bruno@clisp.org>
58154
58155         * modules/areadlink: New file.
58156         * lib/areadlink.h (areadlink): New declaration.
58157         * lib/areadlink.c: New file, based on lib/xreadlink.c.
58158
58159 2007-09-17  Jim Meyering  <jim@meyering.net>
58160
58161         * lib/savewd.c (ESTALE) [!defined]: Define.
58162         Reported to be required on Interix by Martin Koeppe.
58163
58164 2007-09-17  Bruno Haible  <bruno@clisp.org>
58165
58166         * gnulib-tool (func_version): Use $version.
58167
58168 2007-09-16  Bruno Haible  <bruno@clisp.org>
58169
58170         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
58171         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
58172         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
58173         Reported by Greg Schafer <gschafer@zip.com.au>.
58174
58175 2007-09-15  Bruno Haible  <bruno@clisp.org>
58176
58177         * gnulib-tool (sed): Try a little harder to make bash understand the
58178         alias.
58179         Reported by Bruce Korb <bruce.korb@gmail.com>.
58180
58181 2007-09-13  Eric Blake  <ebb9@byu.net>
58182
58183         * ChangeLog: Remove conflict markers.
58184
58185 2007-09-13  Simon Josefsson  <simon@josefsson.org>
58186
58187         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
58188         Reported by Bruno Haible <bruno@clisp.org>.
58189
58190 2007-09-12  Bruno Haible  <bruno@clisp.org>
58191
58192         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
58193         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
58194         is not defined.
58195
58196 2007-09-12  Eric Blake  <ebb9@byu.net>
58197
58198         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
58199         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
58200         Autoconf definition.
58201         * modules/euidaccess (Depends-on): Add extensions, for
58202         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
58203         * modules/fnmatch (Depends-on): Likewise.
58204         * modules/getaddrinfo (Depends-on): Likewise.
58205         * modules/getdelim (Depends-on): Likewise.
58206         * modules/getline (Depends-on): Likewise.
58207         * modules/getsubopt (Depends-on): Likewise.
58208         * modules/gettext (Depends-on): Likewise.
58209         * modules/group-member (Depends-on): Likewise.
58210         * modules/mbchar (Depends-on): Likewise.
58211         * modules/memmem (Depends-on): Likewise.
58212         * modules/mempcpy (Depends-on): Likewise.
58213         * modules/memrchr (Depends-on): Likewise.
58214         * modules/pagealign_alloc (Depends-on): Likewise.
58215         * modules/readutmp (Depends-on): Likewise.
58216         * modules/stpcpy (Depends-on): Likewise.
58217         * modules/stpncpy (Depends-on): Likewise.
58218         * modules/strchrnul (Depends-on): Likewise.
58219         * modules/strndup (Depends-on): Likewise.
58220         * modules/strsep (Depends-on): Likewise.
58221         * modules/strverscmp (Depends-on): Likewise.
58222         * modules/vasprintf (Depends-on): Likewise.
58223         * modules/wcwidth (Depends-on): Likewise.
58224         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
58225         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
58226         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
58227         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
58228         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
58229         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
58230         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
58231         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
58232         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
58233         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
58234         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58235         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
58236         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
58237         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
58238         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
58239         * m4/readutmp.m4 (gl_READUTMP): Likewise.
58240         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
58241         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
58242         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
58243         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
58244         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
58245         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
58246         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
58247         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
58248         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
58249         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
58250         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
58251         so that lock.m4 can be used in gettext without extensions module.
58252
58253 2007-09-11  Bruno Haible  <bruno@clisp.org>
58254
58255         * m4/isc-posix.m4: Remove file.
58256         Suggested by Eric Blake.
58257
58258 2007-09-11  Eric Blake  <ebb9@byu.net>
58259
58260         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
58261
58262 2007-09-10  Bruno Haible  <bruno@clisp.org>
58263
58264         * posix-modules: Fix typo in error message.
58265         Reported by Matt <mkraai@beckman.com>.
58266
58267 2007-09-09  Bruno Haible  <bruno@clisp.org>
58268
58269         * doc/functions/getdelim.texi: Update list of platforms lacking the
58270         function.
58271         * doc/functions/getline.texi: Likewise.
58272
58273 2007-09-09  Jim Meyering  <jim@meyering.net>
58274
58275         * lib/hash.c (hash_initialize): Detect calloc failure.
58276         Reported by Bruno Haible.
58277
58278 2007-09-09  Bruno Haible  <bruno@clisp.org>
58279
58280         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
58281         malloc or realloc fails.
58282
58283 2007-09-09  Bruno Haible  <bruno@clisp.org>
58284
58285         * modules/getcwd (Depends-on): Add malloc-posix.
58286         * modules/glob (Depends-on): Likewise.
58287         * modules/putenv (Depends-on): Likewise.
58288         * modules/strdup (Depends-on): Likewise.
58289         * modules/getdelim (Depends-on): Add realloc-posix.
58290         * modules/read-file (Depends-on): Likewise.
58291
58292 2007-09-09  Bruno Haible  <bruno@clisp.org>
58293
58294         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
58295         (gl_FUNC_MALLOC_POSIX): Require it.
58296         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
58297         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
58298         * modules/realloc (Files): Add m4/malloc.m4.
58299         * modules/calloc (Files): Likewise.
58300
58301 2007-09-09  Bruno Haible  <bruno@clisp.org>
58302
58303         * modules/malloc-posix: New file.
58304         * modules/malloc (Depends-on): Add malloc-posix.
58305         * lib/malloc.c: Include errno.h.
58306         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
58307         and a POSIX-compatible malloc into a single function. Set ENOMEM
58308         when returning NULL.
58309         * m4/malloc.m4: New file.
58310         * doc/functions/malloc.texi: Mention the malloc-posix module.
58311         * lib/stdlib_.h (malloc): New declaration.
58312         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
58313         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
58314         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
58315         and HAVE_MALLOC_POSIX.
58316
58317 2007-09-09  Bruno Haible  <bruno@clisp.org>
58318
58319         * modules/realloc-posix: New file.
58320         * modules/realloc (Depends-on): Add realloc-posix.
58321         * lib/realloc.c: Include errno.h.
58322         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
58323         and a POSIX-compatible realloc into a single function. Set ENOMEM
58324         when returning NULL.
58325         * m4/realloc.m4: New file.
58326         * doc/functions/realloc.texi: Mention the realloc-posix module.
58327         * lib/stdlib_.h (realloc): New declaration.
58328         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
58329         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
58330         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
58331         and HAVE_REALLOC_POSIX.
58332
58333 2007-09-09  Bruno Haible  <bruno@clisp.org>
58334
58335         * modules/calloc-posix: New file.
58336         * modules/calloc (Depends-on): Add calloc-posix.
58337         * lib/calloc.c: Include errno.h.
58338         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
58339         and a POSIX-compatible calloc into a single function. Set ENOMEM
58340         when returning NULL.
58341         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
58342         * doc/functions/calloc.texi: Mention the calloc-posix module.
58343         * lib/stdlib_.h (calloc): New declaration.
58344         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
58345         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
58346         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
58347         and HAVE_CALLOC_POSIX.
58348
58349 2007-09-09  Bruno Haible  <bruno@clisp.org>
58350
58351         Allow for modules to show an arbitrary notice.
58352         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
58353         * gnulib-tool: New option --extract-notice.
58354         (func_usage): Document it.
58355         (sed_extract_prog): Update.
58356         (func_get_notice): New function.
58357         (func_modules_notice): New function.
58358         (func_import, func_create_testdir): Invoke it.
58359         Suggested by Jim Meyering.
58360
58361 2007-09-09  Bruno Haible  <bruno@clisp.org>
58362
58363         * gnulib-tool: New options --verbose, --quiet.
58364         (func_usage): Document them.
58365         (verbose): New variable.
58366         (func_execute_command): New function.
58367         (func_import): Don't show the module list and the file list if
58368         $verbose < 0.
58369         (func_create_testdir): Likewise. Use func_execute_command.
58370         (func_create_megatestdir): Use func_execute_command.
58371
58372 2007-09-08  Bruno Haible  <bruno@clisp.org>
58373
58374         * gnulib-tool (func_import): Prefer rsync over wget when available,
58375         for fetching the PO files.
58376
58377 2007-09-08  Bruno Haible  <bruno@clisp.org>
58378
58379         * posix-modules: New file. Portions copied from gnulib-tool.
58380         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
58381
58382 2007-09-08  Jim Meyering  <jim@meyering.net>
58383
58384         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
58385         * lib/fpending.h: Rename from __fpending.h.
58386         * lib/fpending.c: Rename from __fpending.c.
58387         Include "fpending.h", not "__fpending.h".
58388         * lib/__fpending.h, lib/__fpending.c: Remove files.
58389         * modules/fpending (Files): Reflect new file names.
58390         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
58391
58392 2007-09-08  Bruno Haible  <bruno@clisp.org>
58393
58394         * m4/inttypes-h.m4: Remove stub file.
58395
58396 2007-09-07  Simon Josefsson  <simon@josefsson.org>
58397
58398         * doc/headers/stdint.texi: Discuss #include_next issue.
58399
58400 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
58401
58402         * build-aux/bootstrap: Remove obsolete comment about wget --help.
58403
58404 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58405
58406         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
58407         in variable name.
58408
58409 2007-09-03  Jim Meyering  <jim@meyering.net>
58410
58411         New module: git-version-gen.
58412         * modules/git-version-gen: New file.
58413
58414         Import changes from coreutils for bootstrap script.
58415
58416         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
58417
58418         bootstrap: uses rsync to download the .po files
58419         * build-aux/bootstrap (po_download_command_format): New global.
58420         (download_po_files): Use rsync.
58421         (update_po_files): Don't remove .po files after download,
58422         so future rsync runs can take advantage of the copies.
58423
58424         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
58425
58426         Solve the unnecessary-.po-file-regeneration problem once and for all.
58427         * build-aux/bootstrap (download_po_files): New function, renamed from
58428         get_translations.  Now, downloads, but doesn't update LINGUAS.
58429         (update_po_files): New function.
58430
58431         bootstrap: Ignore more.
58432         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
58433         uniwidth to e.g., lib/.gitignore.
58434         (slurp): Handle the sys_stat_.h -> sys mapping, too.
58435
58436         * build-aux/bootstrap: New setting: vc_ignore.
58437         (insert_sorted_if_absent): Create $file if absent.
58438         Adapt to new, possibly empty, list: $vc_ignore.
58439
58440         bootstrap: generate more ignorable names
58441         * build-aux/bootstrap (slurp): When generating ignorable names,
58442         also map .sin to .sed, .gperf to .c, and .y to .c.
58443
58444 2007-09-03  Jim Meyering  <jim@meyering.net>
58445
58446         * build-aux/git-version-gen: New file, from coreutils.  For details, see
58447         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
58448
58449 2007-09-02  Bruno Haible  <bruno@clisp.org>
58450
58451         Fix mis-recognition of 'mcs' on QNX 6.
58452         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
58453         output contains the string "Mono".
58454         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
58455         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
58456
58457 2007-09-01  Bruno Haible  <bruno@clisp.org>
58458
58459         Fix collision between uniwidth/* and linebreak modules.
58460         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
58461         u32_width): Remove declarations.
58462         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
58463         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
58464         streq3, streq2, streq1, streq0): Remove functions.
58465         (STREQ): Remove macro.
58466         (is_cjk_encoding): Remove function.
58467         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
58468         (uc_width, u8_width, u16_width, u32_width): Remove functions.
58469         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
58470         * NEWS: Document the change.
58471
58472 2007-09-01  Bruno Haible  <bruno@clisp.org>
58473
58474         * lib/streq.h: Add double-inclusion guard.
58475
58476 2007-09-01  Karl Berry  <karl@gnu.org>
58477
58478         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
58479
58480 2007-08-28  Jim Meyering  <jim@meyering.net>
58481
58482         Rename mreadlink_with_size to areadlink_with_size.
58483         * NEWS: Document the change.
58484         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
58485         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
58486         * lib/mreadlink.h: Rename this to...
58487         * lib/areadlink.h: ...this.
58488         * modules/mreadlink-with-size: Rename this to...
58489         * modules/areadlink-with-size: ...this.
58490         * lib/canonicalize.c: Reflect the renaming.
58491         * modules/canonicalize: Likewise.
58492
58493 2007-08-26  Bruno Haible  <bruno@clisp.org>
58494
58495         * gnulib-tool (func_import): When deciding which files to remove,
58496         consider also dangling symbolic links.
58497         Reported by Eric Blake.
58498
58499 2007-08-26  Bruno Haible  <bruno@clisp.org>
58500
58501         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
58502
58503 2007-08-23  Simon Josefsson  <simon@josefsson.org>
58504
58505         * lib/readline.c: Don't include getline.h, the prototype is now
58506         found in stdio.h.
58507
58508 2007-08-23  Jim Meyering  <jim@meyering.net>
58509
58510         Getdelim touchup.
58511         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
58512         around the funlockfile call, since funlockfile never sets errno.
58513         Don't set errno upon failed realloc.
58514
58515 2007-08-22  Eric Blake  <ebb9@byu.net>
58516
58517         Getline touchups.
58518         * lib/getdelim.c (getdelim): Revert regression that required *n to
58519         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
58520         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
58521         getdelim, rather than whether implementation is missing.
58522         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
58523         * lib/stdio_.h (getline): Also declare if replacement is
58524         required.
58525         * doc/functions/getdelim.texi: New file.
58526         * doc/functions/getline.texi: Likewise.
58527         * doc/gnulib.texi (Function Substitutes): Add new files.
58528         Reported by Bruno Haible.
58529
58530 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
58531
58532         * users.txt: Add Guile.
58533
58534 2007-08-22  Eric Blake  <ebb9@byu.net>
58535
58536         * tests/test-getdelim.c (main): Use remove, not unlink.
58537         * tests/test-getline.c (main): Likewise.
58538
58539         Move getline and getdelim into stdio.h, per POSIX 200x.
58540         * modules/getline (Files): Remove getline.h.
58541         (Depends-on): Add stdio.
58542         (configure.ac): Add module indicator.
58543         * modules/getdelim (Files): Remove getdelim.h.
58544         (Depends-on): Add stdio.
58545         (configure.ac): Add module indicator.
58546         * modules/stdio (Makefile.am): Work with new indicators.
58547         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
58548         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
58549         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
58550         * lib/getdelim.h: Delete.
58551         * lib/getline.h: Delete.
58552         * lib/stdio_.h (getdelim, getline): Declare.
58553         * modules/getdelim-tests: New module.
58554         * modules/getline-tests: Likewise.
58555         * tests/test-getdelim.c: New file.
58556         * tests/test-getline.c: Likewise.
58557         * NEWS: Document the change.
58558         * lib/getline.c: Update choice of header.
58559         * lib/csharpcomp.c: Likewise.
58560         * lib/getpass.c: Likewise.
58561         * lib/javacomp.c: Likewise.
58562         * lib/javaversion.c: Likewise.
58563         * lib/yesno.c: Likewise.
58564         * lib/getdelim.c: Likewise.
58565         (getdelim): Set errno on failure, and avoid memory leak.
58566
58567 2007-08-19  Bruno Haible  <bruno@clisp.org>
58568
58569         * modules/closein (Depends-on): Add freadahead.
58570         * lib/closein.c: Include freadahead.h.
58571         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
58572         is zero.
58573
58574 2007-08-19  Bruno Haible  <bruno@clisp.org>
58575
58576         * modules/freadahead-tests: New file.
58577         * tests/test-freadahead.sh: New file.
58578         * tests/test-freadahead.c: New file.
58579
58580         * modules/freadahead: New file.
58581         * lib/freadahead.h: New file.
58582         * lib/freadahead.c: New file.
58583         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
58584         fbufmode, fpurge, freadable, fwritable.
58585
58586 2007-08-19  Eric Blake  <ebb9@byu.net>
58587
58588         Test yesno in combination with closein.
58589         * lib/yesno.c (yesno): Document use of stdin.
58590         * modules/yesno-tests (Files): New module.
58591         * tests/test-yesno.c (main): New file.
58592         * tests/test-yesno.sh: Likewise.
58593
58594 2007-08-19  Bruno Haible  <bruno@clisp.org>
58595
58596         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
58597         * lib/fseeko.c (rpl_fseeko): Likewise.
58598         * lib/fseterr.c (fseterr): Likewise.
58599
58600 2007-08-19  Bruno Haible  <bruno@clisp.org>
58601
58602         * tests/test-lseek.c (main): Disable a test for BeOS.
58603         * doc/functions/lseek.texi: Document the BeOS bug.
58604
58605 2007-08-19  Bruno Haible  <bruno@clisp.org>
58606             Eric Blake  <ebb9@byu.net>
58607
58608         * lib/lseek.c: Include <sys/stat.h>.
58609         (rpl_lseek): Add workaround code also for Unix platforms.
58610         Needed for BeOS.
58611         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
58612         * doc/functions/lseek.texi: Document BeOS definiency.
58613
58614 2007-08-18  Bruno Haible  <bruno@clisp.org>
58615
58616         * modules/fstrcmp-tests: New file.
58617         * tests/test-fstrcmp.c: New file.
58618
58619 2007-08-18  Bruno Haible  <bruno@clisp.org>
58620
58621         * modules/fstrcmp: New file, from GNU gettext with modifications.
58622         * lib/fstrcmp.h: New file, from GNU gettext.
58623         * lib/fstrcmp.c: New file, from GNU gettext.
58624         * MODULES.html.sh (String handling): Add fstrcmp.
58625
58626 2007-08-18  Bruno Haible  <bruno@clisp.org>
58627
58628         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
58629         'bool'.
58630         (diag, compareseq): Remove const from the ctxt argument.
58631         (USE_HEURISTIC): Undefine at the end.
58632
58633 2007-08-18  Jim Meyering  <jim@meyering.net>
58634
58635         New file: lib/idcache.h
58636         * NEWS: Mention the addition.
58637         * modules/idcache (Files): Add lib/idcache.h
58638         * lib/idcache.c: Include "idcache.h".
58639         Don't include <sys/types.h>.
58640         Add a FIXME comment.
58641         Move file-scoped "static" declarations to the top.
58642         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
58643
58644 2007-08-17  Bruno Haible  <bruno@clisp.org>
58645         and Paul Eggert  <eggert@cs.ucla.edu>
58646
58647         * MODULES.html.sh: Add diffseq.
58648         * modules/diffseq: New file.
58649         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
58650         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
58651
58652 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58653
58654         Import changes from coreutils for bootstrap script.
58655
58656         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
58657
58658         * build-aux/bootstrap (slurp): Work even in environments where
58659         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
58660         current code does not slurp files whose names start with ".", and
58661         this looks like it might be a troublesome area.
58662
58663         2007-07-11  Jim Meyering  <jim@meyering.net>
58664
58665         If there's a GPL vN copyright comment, require that N == 3.
58666
58667         2007-07-08  Jim Meyering  <jim@meyering.net>
58668
58669         Run the coreutils-specific code only if tests/Makefile.am.in exists.
58670         * build-aux/bootstrap (mam_template): Move definition out of loop.
58671
58672         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
58673
58674         * build-aux/bootstrap (symlink_to_dir): Rename function from
58675         symlink_to_gnulib.  Add a directory parameter.  Update all
58676         callers.
58677         (cp_mark_as_generated): Also check for -- and link to -- files in
58678         gl/.
58679
58680         2007-07-08  Jim Meyering  <jim@meyering.net>
58681
58682         Adapt to deeper hierarchy in gnulib.
58683         * build-aux/bootstrap (symlink_to_dir): If the destination
58684         directory doesn't exist, create it. This is required at least for
58685         "lib/uniwidth/cjk.h".
58686
58687         2007-05-15  Jim Meyering  <jim@meyering.net>
58688
58689         * build-aux/bootstrap: Now that generated Makefile.am files
58690         are no longer under version control, they must be created at
58691         bootstrap time.
58692
58693 2007-08-14  Ben Pfaff  <blp@gnu.org>
58694
58695         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
58696
58697 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58698
58699         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
58700         given the changes below.
58701         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
58702         even on hosts that have padding bits beyond the supported 64.
58703
58704 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58705
58706         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
58707         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
58708         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
58709         depends on it.
58710         (xstrtol_error): Remove.
58711         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
58712         but with a different signature.
58713         (ATTRIBUTE_NORETURN, __attribute__): New macros.
58714         * lib/xstrtol-error.c: Include exitfail.h.
58715         (xstrtol_fatal): New function, with a different signature from the
58716         old xstrtol_error, so that the caller need not worry about passing
58717         in an exit status, or about storage management of the option argument.
58718         (xstrtol_error): Now a static function.  Redo signature to
58719         implement xstrtol_fatal.  Output the correct number of hyphens in
58720         front of the option so that the caller need not worry about
58721         storage management.
58722         (N_): New macro.
58723         (_): Remove; not used now.
58724         * modules/xstrtol: Depend on getopt.
58725         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
58726         of old STRTOL_FATAL_ERROR macro.
58727         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
58728         of test program.
58729         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
58730         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
58731
58732 2007-08-08  Eric Blake  <ebb9@byu.net>
58733
58734         * lib/xstrtol-error.c: Add missing include.
58735
58736         Move xstrtol messages into gnulib domain, when --pobase is used.
58737         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
58738         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
58739         * modules/xstrtol (Files): Distribute new file.
58740         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
58741         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
58742         * tests/test-xstrtol.c: ...into new file.
58743         * tests/test-xstrtoul.c: Also test xstrtoul.
58744         * tests/test-xstrtoimax.c: Also test xstrtoimax.
58745         * tests/test-xstrtoumax.c: Also test xstrtoumax.
58746         * tests/test-xstrtol.sh: Drive the tests.
58747         * tests/test-xstrtoimax.sh: Likewise.
58748         * tests/test-xstrtoumax.sh: Likewise.
58749         * modules/xstrtol-tests: New module.
58750         * modules/xstrtoimax-tests: Likewise.
58751         * modules/xstrtoumax-tests: Likewise.
58752
58753 2007-08-08  Jim Meyering  <jim@meyering.net>
58754
58755         New function: mfile_name_concat.
58756         * lib/filenamecat.c (mfile_name_concat): New function, just like
58757         file_name_concat, but return NULL upon failure rather than exiting
58758         with a diagnostic.
58759         * lib/filenamecat.h: Declare it.
58760
58761 2007-08-07  Bruno Haible  <bruno@clisp.org>
58762
58763         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
58764         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
58765         warning from gcc.
58766         Reported by Eric Blake.
58767
58768 2007-08-07  Simon Josefsson  <simon@josefsson.org>
58769
58770         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
58771         * modules/crypto/arcfour (License): Likewise.
58772         * modules/crypto/des-tests (License): Likewise.
58773         * modules/crypto/gc-arctwo-tests (License): Likewise.
58774         * modules/crypto/gc-des-tests (License): Likewise.
58775         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
58776         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
58777         * modules/crypto/gc-md2-tests (License): Likewise.
58778         * modules/crypto/gc-md4-tests (License): Likewise.
58779         * modules/crypto/gc-md5-tests (License): Likewise.
58780         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
58781         * modules/crypto/gc-rijndael-tests (License): Likewise.
58782         * modules/crypto/gc-sha1-tests (License): Likewise.
58783         * modules/crypto/gc-tests (License): Likewise.
58784         * modules/crypto/hmac-md5 (License): Likewise.
58785         * modules/crypto/hmac-sha1 (License): Likewise.
58786         * modules/crypto/md2-tests (License): Likewise.
58787         * modules/crypto/md4-tests (License): Likewise.
58788         * modules/crypto/md5 (License): Likewise.
58789         * modules/crypto/rijndael (License): Likewise.
58790         * modules/crypto/sha1 (License): Likewise.
58791         * modules/memxor (License): Likewise.
58792
58793 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
58794         and Bruno Haible  <bruno@clisp.org>
58795
58796         * NEWS: Describe interface changes to human, xstrtol.
58797         * lib/human.h: Include <xstrtol.h>.
58798         (human_options): Return enum strtol_error, not int.  Remove
58799         bool arg; take int * instead.
58800         * lib/human.c: Don't include "gettext.h".
58801         (_): Remove; no longer used.
58802         Don't include <xstrtol.h>, since human.h does it.
58803         (human_options): Adjust to abovementioned interface changes.
58804         Do not report error to stderr; that's now the caller's
58805         responsibility.
58806         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
58807         interface change.
58808         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
58809         Str, Argument_type_string.  All uses changed.  Put " argument"
58810         in diagnostics to make them clearer.  Change wording of suffix
58811         message for clarity.
58812         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
58813         Argument_type_string.
58814         (STRTOL_FATAL_WARN): Remove; no longer used.
58815         * modules/human (Depends-on): Remove gettext-h.
58816
58817 2007-08-06  Simon Josefsson  <simon@josefsson.org>
58818
58819         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
58820
58821 2007-07-31  Bruno Haible  <bruno@clisp.org>
58822
58823         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
58824         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
58825         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
58826
58827 2007-07-31  Bruno Haible  <bruno@clisp.org>
58828
58829         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
58830         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
58831
58832 2007-07-30  Bruno Haible  <bruno@clisp.org>
58833
58834         * modules/base64 (License): Use the synonymous term "LGPLv2+".
58835         * modules/c-ctype (License): Likewise.
58836         * modules/c-strcase (License): Likewise.
58837         * modules/check-version (License): Likewise.
58838         * modules/iconv (License): Likewise.
58839         * modules/iconv_open (License): Likewise.
58840         * modules/read-file (License): Likewise.
58841         * modules/striconv (License): Likewise.
58842         * modules/strverscmp (License): Likewise.
58843         * modules/vasprintf (License): Likewise.
58844         * modules/crypto/des (License): Likewise.
58845         * modules/crypto/gc (License): Likewise.
58846         * modules/crypto/gc-arcfour (License): Likewise.
58847         * modules/crypto/gc-arctwo (License): Likewise.
58848         * modules/crypto/gc-des (License): Likewise.
58849         * modules/crypto/gc-hmac-md5 (License): Likewise.
58850         * modules/crypto/gc-hmac-sha1 (License): Likewise.
58851         * modules/crypto/gc-md2 (License): Likewise.
58852         * modules/crypto/gc-md4 (License): Likewise.
58853         * modules/crypto/gc-md5 (License): Likewise.
58854         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
58855         * modules/crypto/gc-random (License): Likewise.
58856         * modules/crypto/gc-rijndael (License): Likewise.
58857         * modules/crypto/gc-sha1 (License): Likewise.
58858         * modules/crypto/md2 (License): Likewise.
58859         * modules/crypto/md4 (License): Likewise.
58860
58861 2007-07-30  Jim Meyering  <jim@meyering.net>
58862
58863         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
58864         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
58865         it has valid stat data.  This bug would cause du not to count the
58866         sizes of inaccessible directories.
58867         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
58868         in <http://bugzilla.redhat.com/250077>.
58869
58870 2007-07-25  Peter O'Gorman  <peter@pogma.com>
58871             Bruno Haible  <bruno@clisp.org>
58872
58873         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
58874         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
58875         #include_next, gives a diagnostic about it, but reports no error in
58876         the exit code.
58877         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
58878
58879 2007-07-24  Ben Pfaff  <blp@gnu.org>
58880
58881         Improve name: "count-one-bits" is better than "popcount".
58882         * MODULES.html.sh: Update name.
58883         * lib/popcount.h: Renamed lib/count-one-bits.h.
58884         (popcount): Renamed count_one_bits.
58885         (popcountl): Renamed count_one_bits_l.
58886         (popcountll): Renamed count_one_bits_ll.
58887         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
58888         * modules/popcount: Renamed module/count-one-bits.
58889         * modules/popcount-tests: Renamed module/count-one-bits-tests.
58890         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
58891
58892 2007-07-23  Ben Pfaff  <blp@gnu.org>
58893
58894         * lib/popcount.h (popcount32): Reduce size of constants, to allow
58895         better code generation, and add U to large constants to avoid
58896         warnings, in non-GCC case.
58897         Suggested by Bruno Haible.
58898
58899 2007-07-23  Ben Pfaff  <blp@gnu.org>
58900
58901         * lib/popcount.h: Use verify_true instead of if...abort.
58902         * modules/popcount: Depend on verify module.
58903         Suggested by Jim Meyering.
58904
58905 2007-07-23  Bruno Haible  <bruno@clisp.org>
58906
58907         * gnulib-tool (func_import): Create a .cvsignore file also when the
58908         directory is not yet in CVS but the toplevel directory is. When
58909         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
58910         Reported by Karl Berry.
58911
58912 2007-07-22  Ben Pfaff  <blp@gnu.org>
58913
58914         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
58915         case.
58916         Suggested by Eric Blake.
58917
58918 2007-07-22  Ben Pfaff  <blp@gnu.org>
58919
58920         New module: popcount.
58921         * MODULES.html.sh: Add popcount.
58922         * modules/popcount: New file.
58923         * modules/popcount-tests: New file.
58924         * tests/test-popcount.c: New file.
58925         * lib/popcount.h: New file.
58926         * m4/popcount.m4: New file.
58927
58928 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
58929
58930         * build-aux/announce-gen: Update to GPLv3.
58931
58932         * build-aux/config.guess: Update from config.
58933
58934 2007-07-21  Bruno Haible  <bruno@clisp.org>
58935
58936         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
58937         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
58938
58939 2007-07-20  Jim Meyering  <jim@meyering.net>
58940
58941         * check-module: Diagnose a self-dependency.
58942
58943 2007-07-19  Bruno Haible  <bruno@clisp.org>
58944
58945         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
58946         empty.
58947         Reported by Eric Blake.
58948
58949 2007-07-18  Bruno Haible  <bruno@clisp.org>
58950
58951         * gnulib-tool: New options --po-base, --po-domain.
58952         (func_usage): Document them.
58953         (pobase, po_domain): New variables.
58954         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
58955         DEFAULT_TEXT_DOMAIN.
58956         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
58957         (func_import): Consider pobase and po_domain. Create a po/ directory.
58958         (func_create_testdir): Set pobase and po_domain to empty.
58959         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
58960         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
58961
58962 2007-07-18  Bruno Haible  <bruno@clisp.org>
58963
58964         * gnulib-tool (func_get_automake_snippet): Synthesize also an
58965         EXTRA_DIST augmentation for files in build-aux/.
58966
58967 2007-07-16  Bruno Haible  <bruno@clisp.org>
58968
58969         * modules/lseek (License): Use the synonymous term "LGPLv2+".
58970         * modules/getdelim (License): Likewise.
58971
58972 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58973
58974         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
58975         * modules/d-type (License): Likewise.
58976         * modules/extensions (License): Likewise.
58977         * modules/fnmatch (License): Likewise.
58978         * modules/fseeko (License): Likewise.
58979         * modules/getaddrinfo (License): Likewise.
58980         * modules/getline (License): Likewise.
58981         * modules/getlogin_r (License): Likewise.
58982         * modules/getpass (License): Likewise.
58983         * modules/gettimeofday (License): Likewise.
58984         * modules/glob (License): Likewise.
58985         * modules/inet_ntop (License): Likewise.
58986         * modules/malloc (License): Likewise.
58987         * modules/malloca (License): Likewise.
58988         * modules/memmem (License): Likewise.
58989         * modules/mempcpy (License): Likewise.
58990         * modules/memset (License): Likewise.
58991         * modules/minmax (License): Likewise.
58992         * modules/mktime (License): Likewise.
58993         * modules/netinet_in (License): Likewise.
58994         * modules/pathmax (License): Likewise.
58995         * modules/poll (License): Likewise.
58996         * modules/regex (License): Likewise.
58997         * modules/snprintf (License): Likewise.
58998         * modules/stdbool (License): Likewise.
58999         * modules/stdint (License): Likewise.
59000         * modules/stdio (License): Likewise.
59001         * modules/strcase (License): Likewise.
59002         * modules/strcasestr (License): Likewise.
59003         * modules/strdup (License): Likewise.
59004         * modules/string (License): Likewise.
59005         * modules/strndup (License): Likewise.
59006         * modules/strnlen (License): Likewise.
59007         * modules/strpbrk (License): Likewise.
59008         * modules/strptime (License): Likewise.
59009         * modules/strsep (License): Likewise.
59010         * modules/sys_select (License): Likewise.
59011         * modules/sys_socket (License): Likewise.
59012         * modules/sys_stat (License): Likewise.
59013         * modules/sys_time (License): Likewise.
59014         * modules/time (License): Likewise.
59015         * modules/time_r (License): Likewise.
59016         * modules/timegm (License): Likewise.
59017         * modules/unistd (License): Likewise.
59018         * modules/vsnprintf (License): Likewise.
59019         * modules/wctype (License): Likewise.
59020
59021 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59022
59023         * modules/argz (License): LGPLv2+.
59024
59025 2007-07-15  Karl Berry  <karl@gnu.org>
59026
59027         * doc/gnulib.texi: revise node structure per new fdl.texi.
59028
59029 2007-07-14  Bruno Haible  <bruno@clisp.org>
59030
59031         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
59032         the output file.
59033         * lib/uniname/uninames.h: Regenerated.
59034
59035 2007-07-14  Karl Berry  <karl@gnu.org>
59036
59037         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
59038         omitting sectioning and index commands.
59039
59040 2007-07-13  Bruno Haible  <bruno@clisp.org>
59041
59042         New gnulib-tool option --more-symlinks.
59043         * gnulib-tool (func_usage): Document --more-symlinks.
59044         (do_copyrights): New variable.
59045         Recognize option --more-symlinks.
59046         (func_import): Don't add a copyright notice transform to
59047         sed_transform_lib_file if do_copyrights is empty.
59048
59049 2007-07-13  Bruno Haible  <bruno@clisp.org>
59050
59051         * lib/vasnprintf.c (decimal_point_char): Define also if
59052         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
59053         && !NEED_PRINTF_DIRECTIVE_A.
59054         Reported by Clemens Koller <clemens.koller@anagramm.de> via
59055         Gary V. Vaughan <gary@gnu.org>.
59056
59057 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
59058
59059         * lib/inttypes_.h: Undo previous change, since it was fixed
59060         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
59061
59062 2007-07-13  Bruno Haible  <bruno@clisp.org>
59063
59064         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
59065         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
59066
59067 2007-07-13  Jim Meyering  <jim@meyering.net>
59068
59069         df: Don't fail for Tru64's "file-on-file mount".
59070         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
59071         so we fall through and use statfs instead.  Details here:
59072         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
59073         Reported by Albert Chin.
59074
59075 2007-07-13  Bruno Haible  <bruno@clisp.org>
59076
59077         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
59078         * modules/configmake (License): Likewise.
59079         * modules/gettext (License): Likewise.
59080         * modules/gettext-h (License): Likewise.
59081         * modules/include_next (License): Likewise.
59082         * modules/link-warning (License): Likewise.
59083         * modules/localcharset (License): Likewise.
59084         * modules/localename (License): Likewise.
59085         * modules/lock (License): Likewise.
59086         * modules/relocatable-lib-lgpl (License): Likewise.
59087         * modules/size_max (License): Likewise.
59088         * modules/vasnprintf (License): Likewise.
59089         * modules/wchar (License): Likewise.
59090         * modules/xsize (License): Likewise.
59091
59092 2007-07-13  Bruno Haible  <bruno@clisp.org>
59093
59094         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
59095         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
59096
59097 2007-07-12  Bruno Haible  <bruno@clisp.org>
59098
59099         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
59100         in the modules files.
59101
59102 2007-07-11  Karl Berry  <karl@gnu.org>
59103
59104         * MODULES.html.sh (func_module): use
59105          sed -e '\|^'"${includefile}"'$|d'
59106          instead of /.../d, to avoid errors on $includefile's containing /.
59107
59108 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
59109
59110         * gnulib-tool (func_import): Avoid duplication of --avoid
59111         statements
59112         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
59113         names to `_' in variable names.
59114
59115 2007-07-10  Eric Blake  <ebb9@byu.net>
59116
59117         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
59118         * NEWS: Document this change.
59119
59120 2007-07-08  Bruno Haible  <bruno@clisp.org>
59121
59122         Update to Unicode 5.0.
59123         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
59124         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
59125         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
59126         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
59127         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
59128         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
59129         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
59130         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
59131         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
59132         U+10A3F, U+1D242..U+1D244.
59133         (nonspacing_table_ind): Update.
59134         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
59135         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
59136
59137 2007-07-08  Bruno Haible  <bruno@clisp.org>
59138
59139         Update to Unicode 5.0.
59140         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
59141         code transform. Extend the name index field of unicode_name_to_code and
59142         unicode_code_to_name from 16 to 24 bits.
59143         * lib/uniname/uniname.c (unicode_character_name,
59144         unicode_name_character): Add the range 0x12xxx to the code transform.
59145         * lib/uniname/uninames.h: Regenerated.
59146         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
59147
59148 2007-07-07  Bruno Haible  <bruno@clisp.org>
59149
59150         * modules/wcwidth-tests: New file.
59151         * tests/test-wcwidth.c: New file.
59152
59153         Work around MacOS X wcwidth() bug.
59154         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
59155         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
59156         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
59157         original wcwidth in non-UTF-8 locales.
59158         * modules/wcwidth (Depends-on): Add localcharset, streq,
59159         uniwidth/width.
59160         * doc/functions/wcwidth.texi: Update.
59161
59162 2007-07-07  Bruno Haible  <bruno@clisp.org>
59163
59164         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
59165         (wcwidth): New declaration.
59166         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
59167         macros.
59168         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
59169         here. Prepare for creating <wchar.h> unconditionally.
59170         * modules/wchar (Depends-on): Add link-warning.
59171         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
59172         REPLACE_WCWIDTH, and GL_LINK_WARNING.
59173         * lib/wcwidth.h: Remove file.
59174         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
59175         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
59176         * modules/wcwidth (Files): Remove lib/wcwidth.h.
59177         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
59178         (Include): Replace wcwidth.h with <wchar.h>.
59179         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
59180         * lib/mbchar.h: Don't include wcwidth.h.
59181         * lib/mbswidth.c: Likewise.
59182         * NEWS: Mention the change.
59183
59184 2007-07-07  Bruno Haible  <bruno@clisp.org>
59185
59186         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
59187         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
59188         definition with an external declaration.
59189         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
59190         defined as a function. Remove AC_C_INLINE requirement.
59191         * modules/wcwidth (Files): Add lib/wcwidth.c.
59192         (Makefile.am): Remove redundant statement.
59193
59194 2007-07-07  Bruno Haible  <bruno@clisp.org>
59195
59196         * MODULES.html.sh (Unicode string functions): Add the new modules.
59197
59198         * tests/uniwidth/test-u32-strwidth.c: New file.
59199         * modules/uniwidth/u32-strwidth-tests: New file.
59200
59201         * lib/uniwidth/u32-strwidth.c: New file.
59202         * modules/uniwidth/u32-strwidth: New file.
59203
59204         * tests/uniwidth/test-u16-strwidth.c: New file.
59205         * modules/uniwidth/u16-strwidth-tests: New file.
59206
59207         * lib/uniwidth/u16-strwidth.c: New file.
59208         * modules/uniwidth/u16-strwidth: New file.
59209
59210         * tests/uniwidth/test-u8-strwidth.c: New file.
59211         * modules/uniwidth/u8-strwidth-tests: New file.
59212
59213         * lib/uniwidth/u8-strwidth.c: New file.
59214         * modules/uniwidth/u8-strwidth: New file.
59215
59216         * tests/uniwidth/test-u32-width.c: New file.
59217         * modules/uniwidth/u32-width-tests: New file.
59218
59219         * lib/uniwidth/u32-width.c: New file.
59220         * modules/uniwidth/u32-width: New file.
59221
59222         * tests/uniwidth/test-u16-width.c: New file.
59223         * modules/uniwidth/u16-width-tests: New file.
59224
59225         * lib/uniwidth/u16-width.c: New file.
59226         * modules/uniwidth/u16-width: New file.
59227
59228         * tests/uniwidth/test-u8-width.c: New file.
59229         * modules/uniwidth/u8-width-tests: New file.
59230
59231         * lib/uniwidth/u8-width.c: New file.
59232         * modules/uniwidth/u8-width: New file.
59233
59234         * tests/uniwidth/test-uc_width.c: New file.
59235         * modules/uniwidth/width-tests: New file.
59236
59237         * lib/uniwidth/width.c: New file, from GNU libiconv.
59238         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
59239         * modules/uniwidth/width: New file.
59240
59241         * lib/uniwidth.h: New file, from GNU libiconv.
59242         * modules/uniwidth/base: New file.
59243
59244 2007-07-07  Bruno Haible  <bruno@clisp.org>
59245
59246         * lib/uniname.h: New file, from GNU gettext.
59247         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
59248         * lib/uniname/uninames.h: New file, from GNU gettext.
59249         * lib/uniname/uniname.c: New file, from GNU gettext.
59250         * tests/uniname/test-uninames.sh: New file.
59251         * tests/uniname/test-uninames.c: New file, from GNU gettext.
59252         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
59253         * modules/uniname/base: New file.
59254         * modules/uniname/uniname: New file.
59255         * modules/uniname/uniname-tests: New file.
59256         * MODULES.html.sh (Unicode string functions): Add the new modules.
59257
59258 2007-07-06  Bruno Haible  <bruno@clisp.org>
59259
59260         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
59261
59262 2007-07-06  Bruno Haible  <bruno@clisp.org>
59263
59264         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
59265         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
59266         includes <cygwin/sys_time.h> which includes <sys/select.h> which
59267         include <sys/time.h>.
59268         Reported by Eric Blake.
59269
59270 2007-07-06  Eric Blake  <ebb9@byu.net>
59271
59272         Fix testing canonicalize on cygwin.
59273         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
59274         Revert patch from 2007-06-19.
59275         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
59276         canonicalize module is also in use.
59277         * tests/test-canonicalize.c: New file.
59278         * tests/test-canonicalize.sh: Likewise.
59279         * modules/canonicalize-tests: Likewise.
59280
59281 2007-07-06  Jim Meyering  <jim@meyering.net>
59282
59283         * lib/getugroups.c (getugroups): Detect getgrent failure.
59284         Adjust comment to reflect reality: this function may return -1.
59285
59286 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
59287
59288         * build-aux/bootstrap (TP_URL,get_translations): Update to use
59289         the new TP address.
59290         (usage): Fix typo
59291         (gnulib_mk): New variable.
59292
59293 2007-07-05  Jim Meyering  <jim@meyering.net>
59294
59295         Don't let endgrent clobber errno, no matter how improbable.
59296         * lib/getugroups.c (getugroups): Save and restore errno around
59297         endgrent call.
59298
59299         Close the group DB even when failing with 2^31 or more members.
59300         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
59301
59302 2007-07-04  Jim Meyering  <jim@meyering.net>
59303
59304         * lib/getugroups.h: New file.
59305         * lib/getugroups.c: Include "getugroups.h".
59306         Remove uses of "register" keyword.
59307         Move local variable, "cp", down into scope where used.
59308         Give "username" parameter the "const" attribute.
59309         * modules/getugroups (Files): Add lib/getugroups.h
59310
59311 2007-07-04  Karl Berry  <karl@gnu.org>
59312
59313         * MODULES.html.sh (func_all_modules): Complete rename of
59314         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
59315
59316 2007-07-02  Bruno Haible  <bruno@clisp.org>
59317
59318         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
59319         mode, when inttypes.h comes from gnulib.
59320         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
59321
59322 2007-07-02  Simon Josefsson  <simon@josefsson.org>
59323
59324         * NEWS: Mention lgpl module name change.
59325
59326         * modules/lgpl-2.1: Renamed from lgpl.
59327
59328         * NEWS: Mention gpl module name change.
59329
59330         * modules/gpl-3.0: New file, based on gpl-2.0.
59331
59332         * modules/gpl-2.0: Renamed from gpl.
59333
59334         * modules/gpl: Fix filename, doc/gpl.texi is now found at
59335         doc/gpl-2.0.texi.
59336
59337 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
59338
59339         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
59340         #define __STDC_LIMIT_MACROS temporarily while including
59341         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
59342         Problem reported by Joel E. Denny in
59343         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
59344
59345 2007-07-01  Bruno Haible  <bruno@clisp.org>
59346
59347         * lib/unistdio.h: New file.
59348         * lib/unistdio/u-asnprintf.h: New file.
59349         * lib/unistdio/u-asprintf.h: New file.
59350         * lib/unistdio/u-printf-args.c: New file.
59351         * lib/unistdio/u-printf-args.h: New file.
59352         * lib/unistdio/u-printf-parse.h: New file.
59353         * lib/unistdio/u-snprintf.h: New file.
59354         * lib/unistdio/u-sprintf.h: New file.
59355         * lib/unistdio/u-vasprintf.h: New file.
59356         * lib/unistdio/u-vsnprintf.h: New file.
59357         * lib/unistdio/u-vsprintf.h: New file.
59358         * lib/unistdio/ulc-asnprintf.c: New file.
59359         * lib/unistdio/ulc-asprintf.c: New file.
59360         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
59361         * lib/unistdio/ulc-printf-parse.c: New file.
59362         * lib/unistdio/ulc-snprintf.c: New file.
59363         * lib/unistdio/ulc-sprintf.c: New file.
59364         * lib/unistdio/ulc-vasnprintf.c: New file.
59365         * lib/unistdio/ulc-vasprintf.c: New file.
59366         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
59367         * lib/unistdio/ulc-vsnprintf.c: New file.
59368         * lib/unistdio/ulc-vsprintf.c: New file.
59369         * lib/unistdio/u8-asnprintf.c: New file.
59370         * lib/unistdio/u8-asprintf.c: New file.
59371         * lib/unistdio/u8-printf-parse.c: New file.
59372         * lib/unistdio/u8-snprintf.c: New file.
59373         * lib/unistdio/u8-sprintf.c: New file.
59374         * lib/unistdio/u8-vasnprintf.c: New file.
59375         * lib/unistdio/u8-vasprintf.c: New file.
59376         * lib/unistdio/u8-vsnprintf.c: New file.
59377         * lib/unistdio/u8-vsprintf.c: New file.
59378         * lib/unistdio/u8-u8-asnprintf.c: New file.
59379         * lib/unistdio/u8-u8-asprintf.c: New file.
59380         * lib/unistdio/u8-u8-snprintf.c: New file.
59381         * lib/unistdio/u8-u8-sprintf.c: New file.
59382         * lib/unistdio/u8-u8-vasnprintf.c: New file.
59383         * lib/unistdio/u8-u8-vasprintf.c: New file.
59384         * lib/unistdio/u8-u8-vsnprintf.c: New file.
59385         * lib/unistdio/u8-u8-vsprintf.c: New file.
59386         * lib/unistdio/u16-asnprintf.c: New file.
59387         * lib/unistdio/u16-asprintf.c: New file.
59388         * lib/unistdio/u16-printf-parse.c: New file.
59389         * lib/unistdio/u16-snprintf.c: New file.
59390         * lib/unistdio/u16-sprintf.c: New file.
59391         * lib/unistdio/u16-vasnprintf.c: New file.
59392         * lib/unistdio/u16-vasprintf.c: New file.
59393         * lib/unistdio/u16-vsnprintf.c: New file.
59394         * lib/unistdio/u16-vsprintf.c: New file.
59395         * lib/unistdio/u16-u16-asnprintf.c: New file.
59396         * lib/unistdio/u16-u16-asprintf.c: New file.
59397         * lib/unistdio/u16-u16-snprintf.c: New file.
59398         * lib/unistdio/u16-u16-sprintf.c: New file.
59399         * lib/unistdio/u16-u16-vasnprintf.c: New file.
59400         * lib/unistdio/u16-u16-vasprintf.c: New file.
59401         * lib/unistdio/u16-u16-vsnprintf.c: New file.
59402         * lib/unistdio/u16-u16-vsprintf.c: New file.
59403         * lib/unistdio/u32-asnprintf.c: New file.
59404         * lib/unistdio/u32-asprintf.c: New file.
59405         * lib/unistdio/u32-printf-parse.c: New file.
59406         * lib/unistdio/u32-snprintf.c: New file.
59407         * lib/unistdio/u32-sprintf.c: New file.
59408         * lib/unistdio/u32-vasnprintf.c: New file.
59409         * lib/unistdio/u32-vasprintf.c: New file.
59410         * lib/unistdio/u32-vsnprintf.c: New file.
59411         * lib/unistdio/u32-vsprintf.c: New file.
59412         * lib/unistdio/u32-u32-asnprintf.c: New file.
59413         * lib/unistdio/u32-u32-asprintf.c: New file.
59414         * lib/unistdio/u32-u32-snprintf.c: New file.
59415         * lib/unistdio/u32-u32-sprintf.c: New file.
59416         * lib/unistdio/u32-u32-vasnprintf.c: New file.
59417         * lib/unistdio/u32-u32-vasprintf.c: New file.
59418         * lib/unistdio/u32-u32-vsnprintf.c: New file.
59419         * lib/unistdio/u32-u32-vsprintf.c: New file.
59420         * tests/unistdio/test-ulc-asnprintf1.c: New file.
59421         * tests/unistdio/test-ulc-asnprintf1.h: New file.
59422         * tests/unistdio/test-ulc-printf1.h: New file.
59423         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
59424         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
59425         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
59426         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
59427         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
59428         * tests/unistdio/test-ulc-vasprintf1.c: New file.
59429         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
59430         * tests/unistdio/test-ulc-vsprintf1.c: New file.
59431         * tests/unistdio/test-u8-asnprintf1.c: New file.
59432         * tests/unistdio/test-u8-asnprintf1.h: New file.
59433         * tests/unistdio/test-u8-printf1.h: New file.
59434         * tests/unistdio/test-u8-vasnprintf1.c: New file.
59435         * tests/unistdio/test-u8-vasnprintf2.c: New file.
59436         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
59437         * tests/unistdio/test-u8-vasnprintf3.c: New file.
59438         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
59439         * tests/unistdio/test-u8-vasprintf1.c: New file.
59440         * tests/unistdio/test-u8-vsnprintf1.c: New file.
59441         * tests/unistdio/test-u8-vsprintf1.c: New file.
59442         * tests/unistdio/test-u16-asnprintf1.c: New file.
59443         * tests/unistdio/test-u16-asnprintf1.h: New file.
59444         * tests/unistdio/test-u16-printf1.h: New file.
59445         * tests/unistdio/test-u16-vasnprintf1.c: New file.
59446         * tests/unistdio/test-u16-vasnprintf2.c: New file.
59447         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
59448         * tests/unistdio/test-u16-vasnprintf3.c: New file.
59449         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
59450         * tests/unistdio/test-u16-vasprintf1.c: New file.
59451         * tests/unistdio/test-u16-vsnprintf1.c: New file.
59452         * tests/unistdio/test-u16-vsprintf1.c: New file.
59453         * tests/unistdio/test-u32-asnprintf1.c: New file.
59454         * tests/unistdio/test-u32-asnprintf1.h: New file.
59455         * tests/unistdio/test-u32-printf1.h: New file.
59456         * tests/unistdio/test-u32-vasnprintf1.c: New file.
59457         * tests/unistdio/test-u32-vasnprintf2.c: New file.
59458         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
59459         * tests/unistdio/test-u32-vasnprintf3.c: New file.
59460         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
59461         * tests/unistdio/test-u32-vasprintf1.c: New file.
59462         * tests/unistdio/test-u32-vsnprintf1.c: New file.
59463         * tests/unistdio/test-u32-vsprintf1.c: New file.
59464         * modules/unistdio/base: New file.
59465         * modules/unistdio/u-printf-args: New file.
59466         * modules/unistdio/ulc-asnprintf: New file.
59467         * modules/unistdio/ulc-asprintf: New file.
59468         * modules/unistdio/ulc-fprintf: New file.
59469         * modules/unistdio/ulc-printf-parse: New file.
59470         * modules/unistdio/ulc-snprintf: New file.
59471         * modules/unistdio/ulc-sprintf: New file.
59472         * modules/unistdio/ulc-vasnprintf: New file.
59473         * modules/unistdio/ulc-vasprintf: New file.
59474         * modules/unistdio/ulc-vfprintf: New file.
59475         * modules/unistdio/ulc-vsnprintf: New file.
59476         * modules/unistdio/ulc-vsprintf: New file.
59477         * modules/unistdio/u8-asnprintf: New file.
59478         * modules/unistdio/u8-asprintf: New file.
59479         * modules/unistdio/u8-printf-parse: New file.
59480         * modules/unistdio/u8-snprintf: New file.
59481         * modules/unistdio/u8-sprintf: New file.
59482         * modules/unistdio/u8-vasnprintf: New file.
59483         * modules/unistdio/u8-vasprintf: New file.
59484         * modules/unistdio/u8-vsnprintf: New file.
59485         * modules/unistdio/u8-vsprintf: New file.
59486         * modules/unistdio/u8-u8-asnprintf: New file.
59487         * modules/unistdio/u8-u8-asprintf: New file.
59488         * modules/unistdio/u8-u8-snprintf: New file.
59489         * modules/unistdio/u8-u8-sprintf: New file.
59490         * modules/unistdio/u8-u8-vasnprintf: New file.
59491         * modules/unistdio/u8-u8-vasprintf: New file.
59492         * modules/unistdio/u8-u8-vsnprintf: New file.
59493         * modules/unistdio/u8-u8-vsprintf: New file.
59494         * modules/unistdio/u16-asnprintf: New file.
59495         * modules/unistdio/u16-asprintf: New file.
59496         * modules/unistdio/u16-printf-parse: New file.
59497         * modules/unistdio/u16-snprintf: New file.
59498         * modules/unistdio/u16-sprintf: New file.
59499         * modules/unistdio/u16-vasnprintf: New file.
59500         * modules/unistdio/u16-vasprintf: New file.
59501         * modules/unistdio/u16-vsnprintf: New file.
59502         * modules/unistdio/u16-vsprintf: New file.
59503         * modules/unistdio/u16-u16-asnprintf: New file.
59504         * modules/unistdio/u16-u16-asprintf: New file.
59505         * modules/unistdio/u16-u16-snprintf: New file.
59506         * modules/unistdio/u16-u16-sprintf: New file.
59507         * modules/unistdio/u16-u16-vasnprintf: New file.
59508         * modules/unistdio/u16-u16-vasprintf: New file.
59509         * modules/unistdio/u16-u16-vsnprintf: New file.
59510         * modules/unistdio/u16-u16-vsprintf: New file.
59511         * modules/unistdio/u32-asnprintf: New file.
59512         * modules/unistdio/u32-asprintf: New file.
59513         * modules/unistdio/u32-printf-parse: New file.
59514         * modules/unistdio/u32-snprintf: New file.
59515         * modules/unistdio/u32-sprintf: New file.
59516         * modules/unistdio/u32-vasnprintf: New file.
59517         * modules/unistdio/u32-vasprintf: New file.
59518         * modules/unistdio/u32-vsnprintf: New file.
59519         * modules/unistdio/u32-vsprintf: New file.
59520         * modules/unistdio/u32-u32-asnprintf: New file.
59521         * modules/unistdio/u32-u32-asprintf: New file.
59522         * modules/unistdio/u32-u32-snprintf: New file.
59523         * modules/unistdio/u32-u32-sprintf: New file.
59524         * modules/unistdio/u32-u32-vasnprintf: New file.
59525         * modules/unistdio/u32-u32-vasprintf: New file.
59526         * modules/unistdio/u32-u32-vsnprintf: New file.
59527         * modules/unistdio/u32-u32-vsprintf: New file.
59528         * modules/unistdio/ulc-asnprintf-tests: New file.
59529         * modules/unistdio/ulc-vasnprintf-tests: New file.
59530         * modules/unistdio/ulc-vasprintf-tests: New file.
59531         * modules/unistdio/ulc-vsnprintf-tests: New file.
59532         * modules/unistdio/ulc-vsprintf-tests: New file.
59533         * modules/unistdio/u8-asnprintf-tests: New file.
59534         * modules/unistdio/u8-vasnprintf-tests: New file.
59535         * modules/unistdio/u8-vasprintf-tests: New file.
59536         * modules/unistdio/u8-vsnprintf-tests: New file.
59537         * modules/unistdio/u8-vsprintf-tests: New file.
59538         * modules/unistdio/u16-asnprintf-tests: New file.
59539         * modules/unistdio/u16-vasnprintf-tests: New file.
59540         * modules/unistdio/u16-vasprintf-tests: New file.
59541         * modules/unistdio/u16-vsnprintf-tests: New file.
59542         * modules/unistdio/u16-vsprintf-tests: New file.
59543         * modules/unistdio/u32-asnprintf-tests: New file.
59544         * modules/unistdio/u32-vasnprintf-tests: New file.
59545         * modules/unistdio/u32-vasprintf-tests: New file.
59546         * modules/unistdio/u32-vsnprintf-tests: New file.
59547         * modules/unistdio/u32-vsprintf-tests: New file.
59548         * MODULES.html.sh (Unicode string functions): Add the new modules.
59549
59550 2007-07-01  Bruno Haible  <bruno@clisp.org>
59551
59552         * lib/sprintf.c (sprintf): Limit the available length estimation,
59553         to avoid address wraparound.
59554         * lib/vsprintf.c (vsprintf): Likewise.
59555         * modules/sprintf-posix (Dependencies): Add stdint.
59556         * modules/vsprintf-posix (Dependencies): Likewise.
59557
59558 2007-07-01  Bruno Haible  <bruno@clisp.org>
59559
59560         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
59561         Windows PATH as well. Conservative double-quoting. Comments.
59562
59563 2007-07-01  Bruno Haible  <bruno@clisp.org>
59564             Eric Blake  <ebb9@byu.net>
59565             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59566
59567         * gnulib-tool (self_abspathname): Fix algorithm to cope with
59568         empty components in $PATH, denoting '.'.
59569
59570 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59571
59572         * gnulib-tool: Fix indentation.
59573         (func_create_megatestdir): Likewise.
59574         Report by Bruno Haible.
59575
59576 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59577
59578         Sync from Automake.
59579         * build-aux/gnupload: Fix shell portability issues with for loops.
59580         Report by Karl Berry.
59581
59582 2007-06-29  Simon Josefsson  <simon@josefsson.org>
59583
59584         * build-aux/maint.mk (POURL): Use translationproject.org.
59585
59586 2007-06-27  Simon Josefsson  <simon@josefsson.org>
59587             Bruno Haible  <bruno@clisp.org>
59588
59589         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
59590         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
59591         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
59592         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
59593         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
59594
59595 2007-06-27  Bruno Haible  <bruno@clisp.org>
59596
59597         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
59598         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
59599
59600 2007-06-26  Karl Berry  <karl@gnu.org>
59601
59602         * MODULES.html.sh: remove xreadlink-with-size.
59603
59604 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
59605
59606         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
59607         method that I hope also handles the double-include problem noted
59608         by Bruno Haible in
59609         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
59610
59611 2007-06-23  Bruno Haible  <bruno@clisp.org>
59612
59613         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59614         Don't let the 'mostlyclean' target fail if the last subdirectory could
59615         not be removed.
59616         Reported by Karl Berry.
59617
59618 2007-06-23  Bruno Haible  <bruno@clisp.org>
59619
59620         * gnulib-tool (echo): Add a speedier workaround for ksh.
59621         * tests/test-echo.sh: Likewise.
59622
59623 2007-06-23  Bruno Haible  <bruno@clisp.org>
59624
59625         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
59626         * tests/test-echo.sh: Likewise.
59627
59628 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59629
59630         * gnulib-tool (IFS): Initialize early, so we don't set it to
59631         empty later.
59632         (self_abspathname): Rewrite algorithm to set it, reindent.
59633         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
59634         (func_create_megatestdir): Merge some sed scripts.
59635
59636 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
59637
59638         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
59639         exposed by Sun Studio 11 cc on Solaris 8.
59640
59641 2007-06-22  Bruno Haible  <bruno@clisp.org>
59642
59643         * gnulib-tool (echo): Ensure the echo primitive does not interpret
59644         backslashes.
59645         * tests/test-echo.sh: New file.
59646
59647 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59648
59649         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
59650         simplify `sed_replace_build_aux' scripts, they are portable but
59651         echoing them with `echo' is not.
59652         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
59653
59654 2007-06-21  Karl Berry  <karl@gnu.org>
59655
59656         * config/srclist.txt: guess we can't handle the licenses via
59657         srclist at the moment.
59658
59659 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
59660
59661         * MODULES.html.sh: Add include_next.
59662         * modules/include_next: New file.
59663
59664 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
59665
59666         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
59667         INCLUDE_NEXT.
59668         (gl_CHECK_NEXT_HEADERS): New macro.
59669         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
59670         the obsolescent gl_ABSOLUTE_HEADER.
59671         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
59672         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
59673         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
59674         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
59675         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
59676         * m4/math_h.m4 (gl_MATH_H): Likewise.
59677         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
59678         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
59679         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
59680         * m4/stdint.m4 (gl_STDINT_H): Likewise.
59681         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
59682         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
59683         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
59684         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
59685         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
59686         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
59687         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
59688         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
59689         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
59690         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
59691         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
59692         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
59693         * m4/inttypes.m4 (gl_INTTYPES_H): Define
59694         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
59695         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
59696         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
59697         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
59698         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
59699         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
59700         * lib/float_.h: Likewise.
59701         * lib/inttypes_.h: Likewise.
59702         * lib/math_.h: Likewise.
59703         * lib/search_.h: Likewise.
59704         * lib/signal_.h: Likewise.
59705         * lib/stdint_.h: Likewise.
59706         * lib/stdio_.h: Likewise.
59707         * lib/stdlib_.h: Likewise.
59708         * lib/string_.h: Likewise.
59709         * lib/sys_stat_.h: Likewise.
59710         * lib/sys_time_.h: Likewise.
59711         * lib/time_.h: Likewise.
59712         * lib/unistd_.h: Likewise.
59713         * lib/wchar_.h: Likewise.
59714         * lib/wctype_.h: Likewise.
59715         * lib/dirent_.h: Likewise.
59716         * lib/iconv_.h: Likewise.
59717         * lib/locale_.h: Likewise.
59718         * lib/netinet_in_.h: Likewise.
59719         * lib/sys_select_.h: Likewise.
59720         * lib/sys_socket_.h: Likewise.
59721         * lib/sysexits_.h: Likewise.
59722         * modules/fcntl (Depends-on): Depend on include_next, not
59723         absolute_header.
59724         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
59725         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
59726         * modules/fchdir: Likewise.
59727         * modules/float: Likewise.
59728         * modules/iconv_open: Likewise.
59729         * modules/inttypes: Likewise.
59730         * modules/locale: Likewise.
59731         * modules/math: Likewise.
59732         * modules/netinet_in: Likewise.
59733         * modules/search: Likewise.
59734         * modules/signal: Likewise.
59735         * modules/stdint: Likewise.
59736         * modules/stdio: Likewise.
59737         * modules/stdlib: Likewise.
59738         * modules/string: Likewise.
59739         * modules/sys_select: Likewise.
59740         * modules/sys_socket: Likewise.
59741         * modules/sys_stat: Likewise.
59742         * modules/sys_time: Likewise.
59743         * modules/sysexits: Likewise.
59744         * modules/time: Likewise.
59745         * modules/unistd: Likewise.
59746         * modules/wchar: Likewise.
59747         * modules/wctype: Likewise.
59748         * modules/sys_stat: Change maintainer to "all".
59749         * modules/unistd: Likewise.
59750
59751 2007-06-20  Karl Berry  <karl@gnu.org>
59752
59753         * config/srclist.txt: track www changes in license files.
59754
59755 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
59756
59757         * build-aux/bootstrap: Remove stray dot.
59758         Make sure build_aux settings are honored when linking
59759         gnulib_extra_files.
59760
59761 2007-06-19  Eric Blake  <ebb9@byu.net>
59762
59763         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
59764         Allow compilation on cygwin.
59765
59766 2007-06-19  Jim Meyering  <jim@meyering.net>
59767
59768         xreadlink-with-size: Remove module.  No longer used.
59769         Ex-callers now use xreadlink or mreadlink-with-size.
59770         * modules/xreadlink-with-size: Remove module.
59771         * lib/xreadlink-with-size.c: Remove file.
59772         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
59773         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
59774         just before the function definition *is* accurate.
59775
59776         Eliminate one way canonicalize_filename_mode could exit.
59777         * lib/canonicalize.c (canonicalize_filename_mode):
59778         Use mreadlink_with_size, not xreadlink_with_size.
59779
59780 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
59781
59782         Detect porting problems to FreeBSD/arm, which has time_t wider than
59783         long int.  Original problem reported for GNU diff by Xin Li in
59784         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
59785         * modules/getdate (Depends-on): Add intprops, verify.
59786         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
59787         is an integer type no wider than long int.
59788
59789 2007-06-18  Jim Meyering  <jim@meyering.net>
59790
59791         New module: mreadlink-with-size.
59792         * MODULES.html.sh: Add mreadlink-with-size.
59793         * modules/mreadlink-with-size: New module
59794         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
59795         not xreadlink-with-size.
59796         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
59797
59798 2007-06-16  Bruno Haible  <bruno@clisp.org>
59799
59800         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
59801         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
59802         Reported by Gary V. Vaughan <gary@gnu.org>.
59803
59804 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
59805
59806         Revamp lchown so that it lives in unistd.h where it belongs.
59807         * lib/lchown.h: Remove.
59808         * lib/dirchownmod.c: Don't include lib/lchown.h.
59809         * lib/fchownat.c: Likewise.
59810         * lib/openat.c: Likewise.
59811         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
59812         does not follow symlinks.
59813         (EOPNOTSUPP): Define if not defined.
59814         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
59815         is defined to 0.
59816         (lchown): New decl.
59817         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
59818         Do not check for lchown decl.
59819         Set REPLACE_LCHOWN.
59820         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
59821         REPLACE_LCHOWN.
59822         * modules/chown: Make it clear it follows symlinks.
59823         * modules/lchown: Make it clear it doesn't follow symlinks.
59824         (Files): Remove lib/lchown.h
59825         (Depends-on): Add unistd.
59826         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
59827         (Include): Include <unistd.h>, not "lchown.h".
59828         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
59829         REPLACE_LCHOWN.
59830
59831 2007-06-15  Jim Meyering  <jim@meyering.net>
59832
59833         Change license (GPL to LGPL) of fsusage and dependents.
59834         * modules/fsusage (License): Change to LGPL.
59835         * modules/full-read (License): Likewise.
59836         * modules/full-write (License): Likewise.
59837         * modules/safe-read (License): Likewise.
59838         * modules/safe-write (License): Likewise.
59839
59840 2007-06-14  Ben Pfaff  <blp@gnu.org>
59841
59842         Missing part of allocsa -> malloca transition.
59843         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
59844         gl_MALLOCA.
59845
59846 2007-06-12  Bruno Haible  <bruno@clisp.org>
59847
59848         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
59849         to ia64, x86_64, i386.
59850         Reported by Eric Blake.
59851
59852 2007-06-12  Bruno Haible  <bruno@clisp.org>
59853
59854         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
59855         cross-compiling to x86_64.
59856
59857 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
59858
59859         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
59860         glitch reported by Ralf Wildenhues in
59861         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
59862
59863         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
59864         Vin Shelton.
59865
59866 2007-06-11  Bruno Haible  <bruno@clisp.org>
59867
59868         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
59869         replacement string.
59870         Reported by Eric Blake.
59871
59872 2007-06-10  Bruno Haible  <bruno@clisp.org>
59873
59874         Prepare vasnprintf code for use with Unicode strings.
59875         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
59876         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
59877         TYPE_U32_STRING.
59878         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
59879         a_u32_string variants.
59880         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
59881         * lib/printf-args.c: Don't include config.h and the specification
59882         header if PRINTF_FETCHARGS is already defined.
59883         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
59884         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
59885         TYPE_U16_STRING, TYPE_U32_STRING.
59886         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
59887         u16_directive, u16_directives, u32_directive, u32_directives): New
59888         types.
59889         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
59890         New declarations.
59891         * lib/printf-parse.c: Don't include config.h and the specification
59892         header if PRINTF_PARSE is already defined. Eliminate the set of
59893         parameters for WIDE_CHAR_VERSION; the user of this file must provide
59894         them now. Include c-ctype.h.
59895         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
59896         directive and CHAR_T_ONLY_ASCII.
59897         * lib/vasnprintf.c: Don't include config.h and the specification header
59898         if VASNPRINTF is already defined.
59899         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
59900         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
59901         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
59902         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
59903         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
59904         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
59905         code accordingly.
59906         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
59907         pad_ourselves also in this case, with the 'c' and 's' directives, and
59908         with a different notion of "width".
59909         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
59910
59911 2007-06-10  Bruno Haible  <bruno@clisp.org>
59912
59913         * modules/unistr/u32-mbsnlen: New file.
59914         * lib/unistr/u32-mbsnlen.c: New file.
59915
59916         * modules/unistr/u16-mbsnlen: New file.
59917         * lib/unistr/u16-mbsnlen.c: New file.
59918
59919         * modules/unistr/u8-mbsnlen: New file.
59920         * lib/unistr/u8-mbsnlen.c: New file.
59921
59922         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
59923         declarations.
59924
59925 2007-06-10  Bruno Haible  <bruno@clisp.org>
59926
59927         * lib/string_.h (mbsnlen): New declaration.
59928         * lib/mbsnlen.c: New file.
59929         * m4/mbsnlen.m4: New file.
59930         * modules/mbsnlen: New file.
59931         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
59932         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
59933         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
59934
59935 2007-06-10  Bruno Haible  <bruno@clisp.org>
59936
59937         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
59938
59939 2007-06-10  Bruno Haible  <bruno@clisp.org>
59940
59941         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
59942         * lib/mbuiter.h: Likewise.
59943
59944 2007-06-10  Bruno Haible  <bruno@clisp.org>
59945
59946         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
59947         declaration.
59948
59949 2007-06-10  Karl Berry  <karl@gnu.org>
59950
59951         * config/srclist.txt: remove gettext entries, Bruno prefers
59952         to update individually.
59953
59954 2007-06-10  Bruno Haible  <bruno@clisp.org>
59955
59956         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
59957         'maxlen'. Ensure only length + width bytes are allocated, not
59958         length + 1 + width.
59959
59960 2007-06-09  Bruno Haible  <bruno@clisp.org>
59961
59962         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
59963         (CHAR_T): Remove macro.
59964         (VASNPRINTF): Update.
59965
59966 2007-06-09  Bruno Haible  <bruno@clisp.org>
59967
59968         * MODULES.html.sh (Unicode string functions): Add the new modules.
59969
59970         * modules/uniconv/u32-conv-to-enc: New file.
59971         * lib/uniconv/u32-conv-to-enc.c: New file.
59972         * modules/uniconv/u32-conv-to-enc-tests: New file.
59973         * tests/uniconv/test-u32-conv-to-enc.c: New file.
59974
59975         * modules/uniconv/u16-conv-to-enc: New file.
59976         * lib/uniconv/u16-conv-to-enc.c: New file.
59977         * lib/uniconv/u-conv-to-enc.h: New file.
59978         * modules/uniconv/u16-conv-to-enc-tests: New file.
59979         * tests/uniconv/test-u16-conv-to-enc.c: New file.
59980
59981         * modules/uniconv/u8-conv-to-enc: New file.
59982         * lib/uniconv/u8-conv-to-enc.c: New file.
59983         * modules/uniconv/u8-conv-to-enc-tests: New file.
59984         * tests/uniconv/test-u8-conv-to-enc.c: New file.
59985
59986         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
59987         u32_conv_to_encoding): New declarations.
59988
59989 2007-06-09  Bruno Haible  <bruno@clisp.org>
59990
59991         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
59992
59993 2007-06-09  Bruno Haible  <bruno@clisp.org>
59994
59995         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
59996         * modules/malloca: Renamed from modules/allocsa, updated.
59997         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
59998         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
59999         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
60000         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
60001         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
60002         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
60003         * modules/xmalloca: Renamed from modules/xallocsa, updated.
60004         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
60005         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
60006         * modules/c-strcasestr (Depends-on): Update.
60007         * lib/c-strcasestr.c: Update.
60008         * modules/c-strstr (Depends-on): Update.
60009         * lib/c-strstr.c: Update.
60010         * modules/canonicalize-lgpl (Depends-on): Update.
60011         * lib/canonicalize-lgpl.c: Update.
60012         * modules/clean-temp (Depends-on): Update.
60013         * lib/clean-temp.c: Update.
60014         * modules/csharpcomp (Depends-on): Update.
60015         * lib/csharpcomp.c: Update.
60016         * modules/csharpexec (Depends-on): Update.
60017         * lib/csharpexec.c: Update.
60018         * modules/javacomp (Depends-on): Update.
60019         * lib/javacomp.c: Update.
60020         * modules/javaexec (Depends-on): Update.
60021         * lib/javaexec.c: Update.
60022         * modules/mbscasestr (Depends-on): Update.
60023         * lib/mbscasestr.c: Update.
60024         * modules/mbsstr (Depends-on): Update.
60025         * lib/mbsstr.c: Update.
60026         * modules/setenv (Depends-on): Update.
60027         * lib/setenv.c: Update.
60028         * modules/strcasestr (Depends-on): Update.
60029         * lib/strcasestr.c: Update.
60030         * modules/striconveha (Depends-on): Update.
60031         * lib/striconveha.c: Update.
60032         * modules/relocatable-prog-wrapper (Files): Update.
60033         * lib/relocwrapper.c: Update.
60034         * build-aux/install-reloc: Update.
60035         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
60036
60037 2007-06-08  Bruno Haible  <bruno@clisp.org>
60038
60039         Port to uClibc.
60040         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
60041         * lib/fpurge.c (fpurge): Likewise.
60042         * lib/freading.c (freading): Likewise.
60043         * lib/fseeko.c (rpl_fseeko): Likewise.
60044         * lib/fseterr.c (fseterr): Likewise.
60045         * lib/fwriting.c (fwriting): Likewise.
60046         * tests/test-fflush.c (main): Avoid a failure on uClibc.
60047
60048 2007-06-08  Bruno Haible  <bruno@clisp.org>
60049
60050         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
60051         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
60052         * modules/gettext (Files): Add m4/intlmacosx.m4.
60053
60054 2007-06-07  Bruno Haible  <bruno@clisp.org>
60055
60056         * modules/localename-tests: New file.
60057         * tests/test-localename.c: New file.
60058
60059         New module 'localename'.
60060         * lib/localename.h: New file.
60061         * lib/localename.c: New file, from GNU gettext.
60062         * m4/localename.m4: New file.
60063         * modules/localename: New file.
60064
60065 2007-06-07  Bruno Haible  <bruno@clisp.org>
60066
60067         Work around the lack of <wchar.h> on some builds of uClibc.
60068         * doc/headers/wchar.texi: Update.
60069         * lib/wchar_.h: Include <wchar.h> only if it exists.
60070         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
60071         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
60072         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
60073         doesn't exist.
60074         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
60075         * modules/mbfile (Depends-on): Add wchar.
60076         * modules/mbiter (Depends-on): Likewise.
60077         * modules/mbuiter (Depends-on): Likewise.
60078         Reported by Simon Josefsson.
60079
60080 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
60081
60082         Work around problem reported by Steven M. Schweda in
60083         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
60084         Tru64 5.1B with the Compaq compiler environment installed declares
60085         an 'isblank' function but does not define it in the C library.
60086         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
60087         * lib/regex_internal.h (isblank): Likewise.
60088         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
60089         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60090
60091 2007-06-05  Bruno Haible  <bruno@clisp.org>
60092
60093         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
60094         ia64.
60095         * modules/printf-safe: New file.
60096         * modules/fprintf-posix (Depends-on): Add printf-safe.
60097         * modules/printf-posix (Depends-on): Likewise.
60098         * modules/snprintf-posix (Depends-on): Likewise.
60099         * modules/sprintf-posix (Depends-on): Likewise.
60100         * modules/vasnprintf-posix (Depends-on): Likewise.
60101         * modules/vasprintf-posix (Depends-on): Likewise.
60102         * modules/vfprintf-posix (Depends-on): Likewise.
60103         * modules/vprintf-posix (Depends-on): Likewise.
60104         * modules/vsnprintf-posix (Depends-on): Likewise.
60105         * modules/vsprintf-posix (Depends-on): Likewise.
60106         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
60107         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
60108         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
60109         "no" on i386, x86_64, ia64.
60110         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
60111         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60112         on i386, x86_64, ia64.
60113         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
60114         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60115         on i386, x86_64, ia64.
60116         * tests/test-vasnprintf-posix.c: Include float.h.
60117         (LDBL80_WORDS): New macro.
60118         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60119         on i386, x86_64, ia64.
60120         * tests/test-vasprintf-posix.c: Include float.h.
60121         (LDBL80_WORDS): New macro.
60122         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
60123         on i386, x86_64, ia64.
60124         * tests/test-snprintf-posix.c: Include float.h.
60125         * tests/test-sprintf-posix.c: Likewise.
60126         * tests/test-vsnprintf-posix.c: Likewise.
60127         * tests/test-vsprintf-posix.c: Likewise.
60128
60129 2007-06-05  Bruno Haible  <bruno@clisp.org>
60130
60131         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
60132         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
60133         non-IEEE numbers on i386, x86_64, ia64.
60134         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
60135         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
60136         * tests/test-isnanl.h: Include float.h.
60137         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
60138
60139 2007-06-05  Bruno Haible  <bruno@clisp.org>
60140
60141         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
60142         also the %a / %A. Handle the %a / %A code before this extra handling.
60143
60144 2007-06-05  Bruno Haible  <bruno@clisp.org>
60145
60146         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
60147         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
60148
60149 2007-06-05  Bruno Haible  <bruno@clisp.org>
60150
60151         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
60152         typo in variable name.
60153
60154 2007-06-05  Eric Blake  <ebb9@byu.net>
60155
60156         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
60157         Reported by Simon Josefsson.
60158
60159 2007-06-04  Bruno Haible  <bruno@clisp.org>
60160
60161         Avoid test failures on some PowerPC platforms.
60162         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
60163         Define differently for PowerPC.
60164         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
60165         Reported by Gary V. Vaughan <gary@gnu.org>.
60166
60167 2007-06-02  Bruno Haible  <bruno@clisp.org>
60168
60169         Fix test-stdint failure on FreeBSD/ia64.
60170         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
60171         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
60172         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
60173         * doc/headers/stdint.texi: Update.
60174
60175 2007-06-01  Bruno Haible  <bruno@clisp.org>
60176
60177         * tests/test-binary-io.c (main): Pass a third argument to open().
60178         Reported by Gary V. Vaughan <gary@gnu.org>.
60179
60180 2007-06-01  Bruno Haible  <bruno@clisp.org>
60181
60182         * doc/functions/frexpl.texi: Update for mingw.
60183
60184 2007-06-01  Bruno Haible  <bruno@clisp.org>
60185
60186         * tests/test-lseek.c (main): Disable test of errno for invalid third
60187         argument.
60188         * doc/functions/lseek.texi: Update.
60189         Reported by Gary V. Vaughan <gary@gnu.org>.
60190
60191 2007-05-28  Bruno Haible  <bruno@clisp.org>
60192
60193         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
60194
60195 2007-05-31  Eric Blake  <ebb9@byu.net>
60196
60197         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
60198         cross compiling.
60199
60200 2007-05-30  Eric Blake  <ebb9@byu.net>
60201         and Bruno Haible  <bruno@clisp.org>
60202
60203         Work around mingw test failures exposed by m4-1.4.9b.
60204         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
60205         * tests/test-unistd.c: Disable uid_t and git_t tests for the
60206         moment.
60207
60208 2007-05-30  Bruno Haible  <bruno@clisp.org>
60209
60210         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
60211         assuming that they are closed. Needed on HP-UX 11.
60212
60213 2007-05-29  Bruno Haible  <bruno@clisp.org>
60214
60215         Fix a problem with #include_next.
60216         * lib/dirent_.h: Split the double-inclusion guard.
60217         * lib/fcntl_.h: Likewise.
60218         * lib/float_.h: Likewise.
60219         * lib/iconv_.h: Likewise.
60220         * lib/inttypes_.h: Likewise.
60221         * lib/locale_.h: Likewise.
60222         * lib/math_.h: Likewise.
60223         * lib/netinet_in_.h: Likewise.
60224         * lib/search_.h: Likewise.
60225         * lib/signal_.h: Likewise.
60226         * lib/stdint_.h: Likewise.
60227         * lib/stdio_.h: Likewise.
60228         * lib/stdlib_.h: Likewise.
60229         * lib/string_.h: Likewise.
60230         * lib/sys_select_.h: Likewise.
60231         * lib/sys_socket_.h: Likewise.
60232         * lib/sys_stat_.h: Likewise.
60233         * lib/sys_time_.h: Likewise.
60234         * lib/sysexits_.h: Likewise.
60235         * lib/time_.h: Likewise.
60236         * lib/unistd_.h: Likewise.
60237         * lib/wchar_.h: Likewise.
60238         * lib/wctype_.h: Likewise.
60239
60240 2007-05-29  Bruno Haible  <bruno@clisp.org>
60241
60242         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
60243         for the moment.
60244
60245 2007-05-29  Bruno Haible  <bruno@clisp.org>
60246
60247         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
60248         invocation.
60249         Reported by Eric Blake.
60250
60251 2007-05-29  Bruno Haible  <bruno@clisp.org>
60252
60253         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
60254         compiling case.
60255
60256 2007-05-29  Eric Blake  <ebb9@byu.net>
60257             Bruno Haible  <bruno@clisp.org>
60258
60259         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
60260         cross compiles.
60261
60262 2007-05-28  Eric Blake  <ebb9@byu.net>
60263
60264         * modules/closein-tests (test_closein_LDADD): Support test on
60265         cygwin with libtool.
60266
60267 2007-05-28  Bruno Haible  <bruno@clisp.org>
60268
60269         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
60270         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60271         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60272         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60273         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60274         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60275         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60276         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60277         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60278
60279 2007-05-28  Eric Blake  <ebb9@byu.net>
60280
60281         Unconditionally include <config.h> in unit tests.
60282         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
60283         * tests/test-allocsa.c, tests/test-arcfour.c,
60284         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
60285         tests/test-array_list.c, tests/test-array_oset.c,
60286         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
60287         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
60288         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
60289         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
60290         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
60291         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
60292         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
60293         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
60294         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
60295         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
60296         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
60297         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
60298         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
60299         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
60300         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
60301         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
60302         test-md5.c, test-memmem.c, test-printf-posix.c,
60303         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
60304         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
60305         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
60306         test-strcasestr.c, test-striconv.c, test-striconveh.c,
60307         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
60308         test-vasnprintf-posix2.c, test-vasnprintf.c,
60309         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
60310         test-vfprintf-posix.c, test-vprintf-posix.c,
60311         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
60312         test-xvasprintf.c: Likewise.
60313
60314 2007-05-28  Bruno Haible  <bruno@clisp.org>
60315
60316         * gnulib-tool (func_import): Remember the --with-tests command-line
60317         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
60318         Reported by Eric Blake.
60319
60320 2007-05-28  Bruno Haible  <bruno@clisp.org>
60321
60322         * modules/ftell-tests: New file.
60323         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
60324         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
60325
60326         * lib/ftell.c: New file.
60327         * modules/ftell: New file.
60328         * m4/ftell.m4: New file.
60329         * doc/functions/ftell.texi: Update.
60330         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
60331         REPLACE_FTELL.
60332         * lib/stdio_.h (rpl_ftell): New declaration.
60333         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
60334         REPLACE_FTELL.
60335
60336 2007-05-28  Eric Blake  <ebb9@byu.net>
60337
60338         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
60339
60340 2007-05-28  Bruno Haible  <bruno@clisp.org>
60341
60342         * modules/fseek-tests: New file.
60343         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
60344         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
60345
60346         * lib/fseek.c: New file.
60347         * modules/fseek: New file.
60348         * m4/fseek.m4: New file.
60349         * doc/functions/fseek.texi: Update.
60350         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
60351         REPLACE_FSEEK.
60352         * lib/stdio_.h (rpl_fseek): New declaration.
60353         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
60354         REPLACE_FSEEK.
60355
60356 2007-05-28  Bruno Haible  <bruno@clisp.org>
60357
60358         * lib/stdio_.h (fflush): More comments.
60359
60360 2007-05-28  Bruno Haible  <bruno@clisp.org>
60361
60362         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
60363         runtime test.
60364
60365 2007-05-28  Eric Blake  <ebb9@byu.net>
60366
60367         Improve lseek module.
60368         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
60369         * lib/unistd_.h (lseek): Scale back link warning message.
60370         * tests/test-lseek.c: Beef up test.
60371         * tests/test-lseek.sh: Exercise more facets of lseek.
60372         Reported by Bruno Haible.
60373
60374 2007-05-28  Bruno Haible  <bruno@clisp.org>
60375
60376         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
60377         to define.
60378
60379 2007-05-27  Bruno Haible  <bruno@clisp.org>
60380
60381         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
60382
60383 2007-05-27  Bruno Haible  <bruno@clisp.org>
60384
60385         * modules/openmp: New file.
60386         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
60387         Noah Misch.
60388
60389 2007-05-26  Bruno Haible  <bruno@clisp.org>
60390
60391         * modules/chdir-long (Depends-on): Add fchdir.
60392         * modules/chdir-safer (Depends-on): Likewise.
60393         * modules/fts (Depends-on): Likewise.
60394         * modules/fts-lgpl (Depends-on): Likewise.
60395         * modules/openat (Depends-on): Likewise.
60396         * modules/savewd (Depends-on): Likewise.
60397
60398 2007-05-24  Eric Blake  <ebb9@byu.net>
60399
60400         Fix lseek on mingw.
60401         * modules/lseek: New module.
60402         * m4/lseek.m4: New file.
60403         * lib/lseek.c: New file.
60404         * modules/lseek-tests: New file.
60405         * tests/test-lseek.c: New file.
60406         * tests/test-lseek.sh: New file.
60407         * MODULES.html.sh: Document lseek module.
60408         * modules/fflush (Depends-on): Add lseek, fseeko.
60409         * modules/fseeko (Depends-on): Likewise.
60410         * modules/ftello (Depends-on): Likewise.
60411         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
60412         broken.
60413         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
60414         broken.
60415         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
60416         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
60417         * lib/ftello.c (rpl_ftello): Likewise.
60418         * tests/test-fseeko.c (main): Test this.
60419         * tests/test-fseeko.sh: Likewise.
60420         * tests/test-ftello.c (main): Likewise.
60421         * tests/test-ftello.sh: Likewise.
60422         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
60423         implies replacing fseek.
60424         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
60425         HAVE_FTELLO.
60426         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
60427         * modules/unistd (Makefile.am): Likewise.
60428         * lib/unistd_.h (lseek): Declare a replacement.
60429         * doc/functions/lseek.texi (lseek): Document this fix.
60430         * doc/functions/fseek.texi (fseek): Likewise.
60431         * doc/functions/ftell.texi (ftell): Likewise.
60432
60433 2007-05-24  Bruno Haible  <bruno@clisp.org>
60434
60435         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
60436         in the printed representation of a NaN.
60437         * tests/test-vasprintf-posix.c (test_function): Likewise.
60438         * tests/test-snprintf-posix.h (test_function): Likewise.
60439         * tests/test-sprintf-posix.h (test_function): Likewise.
60440         Reported by Eric Blake.
60441
60442 2007-05-23  Eric Blake  <ebb9@byu.net>
60443
60444         Fix fseeko/ftello on cygwin 1.5.24.
60445         * doc/functions/fseeko.texi (fseeko): Document the fix.
60446         * doc/functions/ftello.texi (ftello): Document the fix.
60447         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
60448         * doc/functions/stdout.text (stdout): New file.
60449         * doc/functions/stderr.text (stderr): New file.
60450         * doc/gnulib.texi (Function Substitutes): Use new files.
60451         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
60452         prior to 1.7.0.
60453         * tests/test-ftello.c (main): Likewise for ftello.
60454         * tests/test-fseeko.sh: New file.
60455         * tests/test-ftello.sh: New file.
60456         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
60457         with seekable stdin.
60458         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
60459         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
60460         (gl_REPLACE_FSEEKO): New macro.
60461         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
60462         * modules/fseeko (Files): Distribute fseeko.c.
60463         * modules/ftello (Files): Distribute ftello.c.
60464         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
60465         mode.
60466         * lib/ftello.c (rpl_ftello): New file.
60467         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
60468         fseeko, ftello.
60469         (gl_STDIN_LARGE_OFFSET): New macro.
60470         * modules/stdio (Makefile.am): Perform the replacement.
60471         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
60472
60473 2007-05-23  Bruno Haible  <bruno@clisp.org>
60474
60475         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
60476         GNULIB_POSIXCHECK is defined.
60477
60478 2007-05-21  Bruno Haible  <bruno@clisp.org>
60479
60480         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
60481         Check also the output for NaN arguments. When cross-compiling, guess
60482         no on IRIX.
60483         * lib/vasnprintf.c: Update comments.
60484         * tests/test-vasnprintf-posix.c (strisnan): New function.
60485         (test_function): Use it.
60486         * tests/test-vasprintf-posix.c (strisnan): New function.
60487         (test_function): Use it.
60488         * tests/test-snprintf-posix.h (strisnan): New function.
60489         (test_function): Use it.
60490         * tests/test-sprintf-posix.h (strisnan): New function.
60491         (test_function): Use it.
60492         Reported by Eric Blake.
60493
60494 2007-05-20  Bruno Haible  <bruno@clisp.org>
60495
60496         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
60497         numbers that fails on BeOS.
60498         * doc/functions/frexpl.texi: Update.
60499
60500 2007-05-20  Jim Meyering  <jim@meyering.net>
60501
60502         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
60503         forced upon us by glibc-2.6.
60504
60505 2007-05-20  Bruno Haible  <bruno@clisp.org>
60506
60507         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
60508         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
60509         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
60510         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
60511         NEED_PRINTF_INFINITE.
60512         (is_infinitel): New function.
60513         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
60514         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
60515         gl_PREREQ_VASNPRINTF_INFINITE.
60516         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
60517         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60518         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
60519         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
60520         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
60521         gl_PREREQ_VASNPRINTF_INFINITE.
60522         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60523         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60524         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60525         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60526         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60527         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60528         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60529         * doc/functions/fprintf.texi: Update.
60530         * doc/functions/printf.texi: Update.
60531         * doc/functions/snprintf.texi: Update.
60532         * doc/functions/sprintf.texi: Update.
60533         * doc/functions/vfprintf.texi: Update.
60534         * doc/functions/vprintf.texi: Update.
60535         * doc/functions/vsnprintf.texi: Update.
60536         * doc/functions/vsprintf.texi: Update.
60537
60538 2007-05-20  Bruno Haible  <bruno@clisp.org>
60539
60540         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
60541         was not found in libc.
60542         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
60543
60544 2007-05-20  Bruno Haible  <bruno@clisp.org>
60545
60546         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
60547         printed as "-nan" instead of "nan".
60548         * tests/test-vasprintf-posix.c (test_function): Likewise.
60549         * tests/test-snprintf-posix.h (test_function): Likewise.
60550         * tests/test-sprintf-posix.h (test_function): Likewise.
60551         Needed for HP-UX 11.
60552
60553 2007-05-20  Jim Meyering  <jim@meyering.net>
60554
60555         Fix buggy test for the fchownat-deref bug.
60556         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
60557         symlink required for the run-test.  Without it, this test would
60558         always declare that fchownat doesn't work, and client code would
60559         unnecessarily use the replacement function with fixed libc.
60560         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
60561         Reported by Greg Schafer.
60562
60563 2007-05-19  Bruno Haible  <bruno@clisp.org>
60564
60565         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
60566         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
60567         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
60568         Needed for IRIX 6.5 and Solaris 2.5.1.
60569
60570 2007-05-19  Bruno Haible  <bruno@clisp.org>
60571
60572         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
60573         (test_function): Skip tests involving -0.0 on platforms where
60574         -0.0 = 0.0.
60575         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
60576         (test_function): Skip tests involving -0.0 on platforms where
60577         -0.0 = 0.0.
60578         * tests/test-snprintf-posix.h (have_minus_zero): New function.
60579         (test_function): Skip tests involving -0.0 on platforms where
60580         -0.0 = 0.0.
60581         * tests/test-sprintf-posix.h (have_minus_zero): New function.
60582         (test_function): Skip tests involving -0.0 on platforms where
60583         -0.0 = 0.0.
60584         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
60585         tests.
60586         * tests/test-printf-posix.h (test_function): Likewise.
60587         * tests/test-printf-posix.output: Remove all -0.0 related results.
60588         Needed for IRIX 6.5.
60589
60590 2007-05-19  Bruno Haible  <bruno@clisp.org>
60591
60592         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
60593         printed as "nan0x7fffffff" instead of "nan".
60594         * tests/test-vasprintf-posix.c (test_function): Likewise.
60595         * tests/test-snprintf-posix.h (test_function): Likewise.
60596         * tests/test-sprintf-posix.h (test_function): Likewise.
60597         * tests/test-fprintf-posix.h (NaN): Remove macro.
60598         (test_function): Remove all NaN related tests.
60599         * tests/test-printf-posix.h (NaN): Remove macro.
60600         (test_function): Remove all NaN related tests.
60601         * tests/test-printf-posix.output: Remove all NaN related results.
60602         Needed for IRIX 6.5.
60603
60604 2007-05-19  Bruno Haible  <bruno@clisp.org>
60605
60606         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
60607         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
60608
60609 2007-05-19  Bruno Haible  <bruno@clisp.org>
60610
60611         * lib/float_.h: New file.
60612         * m4/float_h.m4: New file.
60613         * modules/float: New file.
60614         * modules/isnanl (Dependencies): Add float.
60615         * modules/isnanl-nolibm (Dependencies): Likewise.
60616         * modules/mathl (Dependencies): Likewise.
60617         * modules/printf-frexpl (Dependencies): Likewise.
60618         * modules/signbit (Dependencies): Likewise.
60619         * modules/vasnprintf (Dependencies): Likewise.
60620         * doc/headers/float.texi: Update.
60621
60622 2007-05-19  Jim Meyering  <jim@meyering.net>
60623
60624         * lib/utimens.c (gl_futimens): Rename from futimens,
60625         now that glibc-2.6 declares futimens.
60626         * lib/utimens.h: Likewise.
60627
60628 2007-05-19  Bruno Haible  <bruno@clisp.org>
60629
60630         Avoid test failures on mingw.
60631         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
60632         * tests/test-printf-posix.sh: Likewise.
60633         * tests/test-vfprintf-posix.sh: Likewise.
60634         * tests/test-vprintf-posix.sh: Likewise.
60635
60636 2007-05-19  Bruno Haible  <bruno@clisp.org>
60637
60638         Fix *printf result for NaN, Inf, -0.0 on mingw.
60639         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
60640         * lib/vasnprintf.c: Include math.h and isnan.h.
60641         (is_infinite_or_zero): New function.
60642         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
60643         values in the %f, %F, %e, %E, %g, %G directives.
60644         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
60645         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60646         gl_PRINTF_INFINITE and test its result. Invoke
60647         gl_PREREQ_VASNPRINTF_INFINITE.
60648         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60649         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60650         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60651         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60652         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60653         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60654         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60655         * doc/functions/fprintf.texi: Update.
60656         * doc/functions/printf.texi: Update.
60657         * doc/functions/snprintf.texi: Update.
60658         * doc/functions/sprintf.texi: Update.
60659         * doc/functions/vfprintf.texi: Update.
60660         * doc/functions/vprintf.texi: Update.
60661         * doc/functions/vsnprintf.texi: Update.
60662         * doc/functions/vsprintf.texi: Update.
60663
60664 2007-05-19  Bruno Haible  <bruno@clisp.org>
60665
60666         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
60667         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
60668         Instead of multiplying with 10^k, set extra_zeroes to k.
60669         (scale10_round_long_double): Remove function.
60670
60671 2007-05-18  Bruno Haible  <bruno@clisp.org>
60672
60673         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
60674         introduced on 2007-05-06.
60675
60676 2007-05-18  Bruno Haible  <bruno@clisp.org>
60677
60678         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
60679         %g directives.
60680         * tests/test-vasprintf-posix.c (test_function): Likewise.
60681         * tests/test-snprintf-posix.h (test_function): Likewise.
60682         * tests/test-sprintf-posix.h (test_function): Likewise.
60683
60684 2007-05-18  Bruno Haible  <bruno@clisp.org>
60685
60686         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
60687         (strmatch): New function.
60688         (test_function): Test the %f directive on numbers of various exponents.
60689         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
60690         (strmatch): New function.
60691         (test_function): Test the %f directive on numbers of various exponents.
60692         * tests/test-snprintf-posix.h (strmatch): New function.
60693         (test_function): Test the %f directive on numbers of various exponents.
60694         * tests/test-sprintf-posix.h (strmatch): New function.
60695         (test_function): Test the %f directive on numbers of various exponents.
60696         * tests/test-snprintf-posix.c (SIZEOF): New macro.
60697         * tests/test-sprintf-posix.c (SIZEOF): New macro.
60698         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
60699         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
60700
60701 2007-05-18  Bruno Haible  <bruno@clisp.org>
60702
60703         Add support for 'long double' number output.
60704         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
60705         * lib/vasnprintf.c: Include math.h and float+.h.
60706         (mp_limb_t): New type.
60707         (GMP_LIMB_BITS): New macro.
60708         (mp_twolimb_t): New type.
60709         (GMP_TWOLIMB_BITS): New macro.
60710         (mpn_t): New type.
60711         (multiply, divide, convert_to_decimal, decode_long_double,
60712         scale10_round_long_double, scale10_round_decimal_long_double,
60713         floorlog10l): New functions.
60714         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
60715         for the %f, %F, %e, %E, %g, %G directives.
60716         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
60717         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60718         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
60719         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
60720         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60721         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60722         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60723         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60724         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60725         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60726         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60727         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
60728         * modules/snprintf-posix (Depends-on): Likewise.
60729         * modules/sprintf-posix (Depends-on): Likewise.
60730         * modules/vasnprintf-posix (Depends-on): Likewise.
60731         * modules/vasprintf-posix (Depends-on): Likewise.
60732         * modules/vfprintf-posix (Depends-on): Likewise.
60733         * modules/vsnprintf-posix (Depends-on): Likewise.
60734         * modules/vsprintf-posix (Depends-on): Likewise.
60735         * modules/vasnprintf (Files): Add lib/float+.h.
60736         * doc/functions/fprintf.texi: Update.
60737         * doc/functions/printf.texi: Update.
60738         * doc/functions/snprintf.texi: Update.
60739         * doc/functions/sprintf.texi: Update.
60740         * doc/functions/vfprintf.texi: Update.
60741         * doc/functions/vprintf.texi: Update.
60742         * doc/functions/vsnprintf.texi: Update.
60743         * doc/functions/vsprintf.texi: Update.
60744
60745 2007-05-18  Bruno Haible  <bruno@clisp.org>
60746
60747         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
60748
60749 2007-05-18  Bruno Haible  <bruno@clisp.org>
60750
60751         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
60752         for printing 64-bit integers. Needed for mingw.
60753
60754 2007-05-18  Bruno Haible  <bruno@clisp.org>
60755
60756         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
60757         gl_FUNC_FREXPL_WORKS.
60758         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
60759
60760 2007-05-18  Bruno Haible  <bruno@clisp.org>
60761
60762         * modules/frexpl-nolibm-tests: New file.
60763
60764         * modules/frexpl-nolibm: New file.
60765         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
60766
60767 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
60768
60769         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
60770         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
60771         GCC 4.2, which otherwise issues a lot of warnings.
60772         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
60773         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
60774         Likewise.
60775         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
60776         * modules/iconv_open (iconv.h): Likewise.
60777         * modules/locale (locale.h): Likewise.
60778         * modules/netinet_in (netinet/in.h): Likewise.
60779         * modules/sys_select (sys_select.h): Likewise.
60780         * modules/sys_socket (sys/socket.h): Likewise.
60781         * modules/sys_stat (sys/stat.h): Likewise.
60782         * modules/sysexits (sysexits.h): Likewise.
60783         * modules/unistd (unistd.h): Likewise.
60784
60785 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60786
60787         * modules/closein-tests (Makefile.am): Distribute
60788         `test-closein.sh'.
60789
60790 2007-05-17  Bruno Haible  <bruno@clisp.org>
60791
60792         * tests/test-printf-posix.output: Renamed from
60793         tests/test-fprintf-posix.out.
60794         * modules/fprintf-posix-tests: Update.
60795         * modules/printf-posix-tests: Update.
60796         * modules/vfprintf-posix-tests: Update.
60797         * modules/vprintf-posix-tests: Update.
60798         * tests/test-fprintf-posix.sh: Update.
60799         * tests/test-printf-posix.sh: Update.
60800         * tests/test-vfprintf-posix.sh: Update.
60801         * tests/test-vprintf-posix.sh: Update.
60802         Reported by Ralf Wildenhues.
60803
60804 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
60805
60806         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
60807         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
60808         GCC 4.2, which otherwise issues a lot of warnings.
60809         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
60810         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
60811         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
60812         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
60813         it should no longer be needed.
60814         * lib/string_.h: Likewise.
60815         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
60816         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
60817         * modules/inttypes (inttypes.h): Likewise.
60818         * modules/math (math.h): Likewise.
60819         * modules/search (search.h): Likewise.
60820         * modules/signal (signal.h): Likewise.
60821         * modules/stdint (stdint.h): Likewise.
60822         * modules/stdio (stdio.h): Likewise.
60823         * modules/stdlib (stdlib.h): Likewise.
60824         * modules/string (string.h): Likewise.
60825         * modules/sys_time (sys/time.h): Likewise.
60826         * modules/time (time.h): Likewise.
60827         * modules/wchar (wchar.h): Likewise.
60828         * modules/wctype (wtype.h): Likewise.
60829
60830 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
60831
60832         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
60833
60834 2007-05-13  Bruno Haible  <bruno@clisp.org>
60835
60836         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
60837         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
60838         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
60839         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
60840         (gl_PREREQ_STRTOK_R): Don't require it here.
60841
60842 2007-05-13  Bruno Haible  <bruno@clisp.org>
60843
60844         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
60845         when used in C++ mode.
60846
60847 2007-05-12  Bruno Haible  <bruno@clisp.org>
60848
60849         * lib/linebuffer.h: Tweak doc.
60850         * lib/linebuffer.c: Likewise.
60851
60852 2007-05-12  James Youngman  <jay@gnu.org>
60853
60854         * lib/linebuffer.c (readlinebuffer_delim): New function,
60855         like readlinebuffer, but use a caller-specified delimiter.
60856         (readlinebuffer): Just call readlinebuffer_delim with '\n'
60857         as the delimiter.
60858         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
60859
60860 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60861
60862         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
60863         * modules/openat (Files): Remove openat-die.c.
60864         (Depends-on): Add openat-die.
60865         * modules/openat-die: New module.
60866
60867 2007-05-06  Bruno Haible  <bruno@clisp.org>
60868
60869         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
60870         Update with info about Cygwin.
60871         * doc/functions/fprintf.texi: Update.
60872         * doc/functions/printf.texi: Update.
60873         * doc/functions/snprintf.texi: Update.
60874         * doc/functions/sprintf.texi: Update.
60875         * doc/functions/vfprintf.texi: Update.
60876         * doc/functions/vprintf.texi: Update.
60877         * doc/functions/vsnprintf.texi: Update.
60878         * doc/functions/vsprintf.texi: Update.
60879         Reported by Eric Blake.
60880
60881 2007-05-06  Bruno Haible  <bruno@clisp.org>
60882
60883         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
60884         padding ourselves for the floating-point directives.
60885         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
60886         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
60887         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60888         gl_PRINTF_FLAG_ZERO and test its result. Invoke
60889         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
60890         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60891         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
60892         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60893         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60894         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60895         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60896         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60897         * tests/test-snprintf-posix.h (test_function): Also check the width
60898         and some flags in the %f directive.
60899         * tests/test-sprintf-posix.h (test_function): Likewise.
60900         * tests/test-vasnprintf-posix.c (test_function): Likewise.
60901         * tests/test-vasprintf-posix.c (test_function): Likewise.
60902         * doc/functions/fprintf.texi: Update.
60903         * doc/functions/printf.texi: Update.
60904         * doc/functions/snprintf.texi: Update.
60905         * doc/functions/sprintf.texi: Update.
60906         * doc/functions/vfprintf.texi: Update.
60907         * doc/functions/vprintf.texi: Update.
60908         * doc/functions/vsnprintf.texi: Update.
60909         * doc/functions/vsprintf.texi: Update.
60910
60911 2007-05-06  Bruno Haible  <bruno@clisp.org>
60912
60913         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
60914         pass the ' flag character to sprintf or snprintf.
60915         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
60916         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
60917         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60918         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
60919         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
60920         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60921         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
60922         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60923         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60924         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60925         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60926         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60927         * tests/test-snprintf-posix.h (test_function): Also check the grouping
60928         flag.
60929         * tests/test-sprintf-posix.h (test_function): Likewise.
60930         * tests/test-vasnprintf-posix.c (test_function): Likewise.
60931         * tests/test-vasprintf-posix.c (test_function): Likewise.
60932         * doc/functions/fprintf.texi: Update.
60933         * doc/functions/printf.texi: Update.
60934         * doc/functions/snprintf.texi: Update.
60935         * doc/functions/sprintf.texi: Update.
60936         * doc/functions/vfprintf.texi: Update.
60937         * doc/functions/vprintf.texi: Update.
60938         * doc/functions/vsnprintf.texi: Update.
60939         * doc/functions/vsprintf.texi: Update.
60940
60941 2007-05-01  Bruno Haible  <bruno@clisp.org>
60942
60943         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
60944
60945 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
60946
60947         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
60948         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
60949
60950 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
60951
60952         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
60953         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
60954         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
60955
60956 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
60957
60958         * lib/argp-help.c (struct hol_entry): New member `ord'.
60959         (HOL_ENTRY_PTRCMP): Use ord for comparison
60960         (hol_sort): Initialize ord.
60961
60962 2007-05-01  Bruno Haible  <bruno@clisp.org>
60963
60964         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
60965         Reported by Eric Blake.
60966         * doc/gnulib.texi (Function Substitutes): Update.
60967
60968 2007-05-01  Bruno Haible  <bruno@clisp.org>
60969
60970         * doc/functions.texi: Remove file, now redundant through
60971         doc/functions/*.texi.
60972
60973 2007-05-01  Bruno Haible  <bruno@clisp.org>
60974
60975         * modules/argp (Depends-on): Add sleep.
60976
60977 2007-05-01  Bruno Haible  <bruno@clisp.org>
60978
60979         * modules/sleep-tests: New file.
60980         * tests/test-sleep.c: New file.
60981
60982         * modules/sleep: New file.
60983         * lib/sleep.c: New file.
60984         * m4/sleep.m4: New file.
60985         * lib/unistd_.h (sleep): New declaration.
60986         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
60987         HAVE_SLEEP.
60988         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
60989         * doc/functions/sleep.texi: Document the sleep module.
60990
60991 2007-05-01  Bruno Haible  <bruno@clisp.org>
60992
60993         * lib/sigprocmask.h: Remove file.
60994         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
60995         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
60996         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
60997         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
60998         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
60999         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
61000         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
61001         HAVE_SIGSET_T as a shell variable.
61002         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
61003         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
61004         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
61005         (Depends-on): Add signal. Remove verify.
61006         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
61007         (Include): Mention <signal.h> instead of sigprocmask.h.
61008         * NEWS: Mention the change.
61009         * lib/fatal-signal.c: Don't include sigprocmask.h.
61010
61011 2007-05-01  Bruno Haible  <bruno@clisp.org>
61012
61013         * modules/signal: New file.
61014         * lib/signal_.h: New file.
61015         * m4/signal_h.m4: New file.
61016
61017 2007-05-01  Bruno Haible  <bruno@clisp.org>
61018
61019         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
61020         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
61021         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
61022         HAVE_WCTYPE_CTMP_BUG into wctype.h.
61023
61024 2007-05-01  Bruno Haible  <bruno@clisp.org>
61025
61026         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
61027         configure time.
61028         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
61029         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
61030         * modules/sys_stat (Makefile.am): Substitute their values into
61031         sys/stat.h.
61032
61033 2007-05-01  Bruno Haible  <bruno@clisp.org>
61034
61035         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
61036         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
61037         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
61038
61039 2007-05-01  Bruno Haible  <bruno@clisp.org>
61040
61041         * doc/header/assert.texi: Undo last change: don't mention the gnulib
61042         'assert' module here.
61043
61044 2007-05-01  Bruno Haible  <bruno@clisp.org>
61045
61046         * doc/functions/*.texi: New files.
61047         * doc/functions/google-ranking.txt: New file.
61048         * doc/gnulib.texi (Function Substitutes): New chapter.
61049         (ctime, inet_ntoa): Remove sections.
61050         * doc/ctime.texi: Remove file.
61051         * doc/inet_ntoa.texi: Remove file.
61052         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
61053         dependencies.
61054         (%.info): New rule, specifying a --reference-limit.
61055
61056 2007-05-01  Bruno Haible  <bruno@clisp.org>
61057
61058         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
61059
61060 2007-05-01  Bruno Haible  <bruno@clisp.org>
61061
61062         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
61063         the portability of 'mkdir' to mingw systems.
61064
61065 2007-05-01  Bruno Haible  <bruno@clisp.org>
61066
61067         * doc/headers/google-ranking.txt: New file.
61068
61069 2007-04-30  Eric Blake  <ebb9@byu.net>
61070
61071         Prefer fseeko to fseek.
61072         * modules/getpass (Depends-on): Add fseeko.
61073         * lib/getpass.c (getpass): Use fseeko, not fseek.
61074
61075 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
61076
61077         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
61078         assumes the sorting is stable, while most qsort implementations
61079         are not.  Use argument addresses to ensure they never compare as
61080         equal.
61081
61082         * tests/test-argp-2.sh (usage-indent test): Fix output
61083         (func_compare): Restore diff options
61084         * tests/test-argp.c: Restore #include "progname.h"
61085
61086 2007-04-29  Bruno Haible  <bruno@clisp.org>
61087
61088         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
61089         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61090         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
61091         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61092         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
61093         (configure.ac): Define CHECK_SNPRINTF_POSIX.
61094         (TESTS, check_PROGRAMS): Add test-snprintf.
61095         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
61096         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
61097         (TESTS, check_PROGRAMS): Add test-vsnprintf.
61098         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
61099         assertions that fail on HP-UX, OSF/1, or IRIX.
61100         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
61101
61102 2007-04-29  Bruno Haible  <bruno@clisp.org>
61103
61104         * MODULES.html.sh (posix_functions): Remove 'contents'.
61105
61106 2007-04-29  Karl Berry  <karl@gnu.org>
61107
61108         * config/srclist.txt (gendocs_template_min): new entry.
61109
61110 2007-04-29  Bruno Haible  <bruno@clisp.org>
61111
61112         Work around fpurge bug on BSD systems.
61113         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
61114         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
61115         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
61116         fpurge to rpl_fpurge if the system already has this function.
61117         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
61118         the case where the system already has this function. Correct invariants
61119         on BSD systems.
61120         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
61121         BSD systems.
61122
61123 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61124
61125         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
61126         proposed by Sven Verdoolaege.
61127
61128         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
61129         options.
61130         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
61131         (usage and help tests): Update
61132
61133 2007-04-29  Bruno Haible  <bruno@clisp.org>
61134
61135         * tests/test-fflush.c (main): Use a file of size 17, not 10.
61136         Print more information in case of failure. Disable a test on BeOS.
61137
61138 2007-04-29  Bruno Haible  <bruno@clisp.org>
61139
61140         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
61141         This helps debugging on systems on which no gdb is available.
61142
61143 2007-04-29  Bruno Haible  <bruno@clisp.org>
61144
61145         * lib/freading.h: Improve comments.
61146         * lib/fwriting.h: Likewise.
61147         * tests/test-freading.c (main): Don't check freading immediately after
61148         repositioning. Needed for glibc.
61149
61150 2007-04-29  Bruno Haible  <bruno@clisp.org>
61151
61152         * lib/freading.c (freading): Trivial simplification.
61153
61154 2007-04-28  Bruno Haible  <bruno@clisp.org>
61155
61156         * tests/test-fwriting.c (main): Also test the interaction between
61157         fflush and fwriting.
61158         * modules/fwriting-tests (Depends-on): Add fflush.
61159
61160         * tests/test-freading.c (main): Also test the interaction between
61161         fflush and freading.
61162         * modules/freading-tests (Depends-on): Add fflush.
61163
61164 2007-04-28  Bruno Haible  <bruno@clisp.org>
61165
61166         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
61167         fseeko and ftello.
61168         Suggested by Eric Blake.
61169
61170 2007-04-28  Jim Meyering  <jim@meyering.net>
61171
61172         Avoid false-negative in gl_STDINT_H's C99 conformance test.
61173         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
61174         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
61175
61176 2007-04-27  Eric Blake  <ebb9@byu.net>
61177
61178         * doc/headers/assert.texi (assert.h): Document assert module use.
61179
61180 2007-04-27  Bruno Haible  <bruno@clisp.org>
61181
61182         * doc/headers/*.texi: New files.
61183         * doc/gnulib.texi (Header File Substitutes): New chapter.
61184         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
61185         dependencies.
61186         (standards.info ,standards.html, standards.dvi): Update dependencies.
61187         (mostlyclean, clean): New targets.
61188
61189 2007-04-27  Bruno Haible  <bruno@clisp.org>
61190
61191         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
61192         * modules/sysexits (Files, Makefile.am): Update.
61193
61194         * lib/sys_socket_.h: Renamed from lib/socket_.h.
61195         * modules/sys_socket (Files, Makefile.am): Update.
61196
61197         * lib/sys_stat_.h: Renamed from lib/stat_.h.
61198         * modules/sys_stat (Files, Makefile.am): Update.
61199
61200 2007-04-27  Eric Blake  <ebb9@byu.net>
61201
61202         * lib/freading.h: Improve comments.
61203         * lib/fwriting.h: Likewise.
61204         * lib/fflush.c: Likewise.
61205
61206         Fix closein for mingw.
61207         * modules/closein-tests: Add tests for closein.
61208         * tests/test-closein.c: New file.
61209         * tests/test-closein.sh: Likewise.
61210         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
61211         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
61212
61213 2007-04-27  Bruno Haible  <bruno@clisp.org>
61214
61215         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
61216         version is < 6.
61217         * lib/math_.h [__DECC]: Likewise.
61218         * lib/stdio_.h [__DECC]: Likewise.
61219         * lib/stdlib_.h [__DECC]: Likewise.
61220         * lib/string_.h [__DECC]: Likewise.
61221         * lib/time_.h [__DECC]: Likewise.
61222         * lib/wchar_.h [__DECC]: Likewise.
61223         * lib/wctype_.h [__DECC]: Likewise.
61224
61225 2007-04-27  Bruno Haible  <bruno@clisp.org>
61226
61227         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
61228
61229 2007-04-27  Bruno Haible  <bruno@clisp.org>
61230
61231         * lib/fflush.c: Add comments.
61232         * modules/fpurge-tests (Depends-on): Add fflush.
61233         * modules/freadable-tests (Depends-on): Likewise.
61234         * modules/fwritable-tests (Depends-on): Likewise.
61235
61236 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
61237
61238         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
61239         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
61240         Report by Bruno Haible <bruno@clisp.org>.
61241
61242 2007-04-26  Eric Blake  <ebb9@byu.net>
61243
61244         Fix fflush on mingw.
61245         * modules/fflush (Depends-on): Add freading.
61246         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
61247         but unread data.
61248
61249 2007-04-26  Eric Blake  <ebb9@byu.net>
61250         and Bruno Haible  <bruno@clisp.org>
61251
61252         Implement freading and fwriting.
61253         * lib/freading.c: New file.
61254         * lib/freading.h: Likewise.
61255         * m4/freading.m4: Likewise.
61256         * modules/freading: Likewise.
61257         * modules/freading-tests: Likewise.
61258         * tests/test-freading.c: Likewise.
61259         * lib/fwriting.c: New file.
61260         * lib/fwriting.h: Likewise.
61261         * m4/fwriting.m4: Likewise.
61262         * modules/fwriting: Likewise.
61263         * modules/fwriting-tests: Likewise.
61264         * tests/test-fwriting.c: Likewise.
61265         * MODULES.html.sh (File stream based Input/Output): Mention them.
61266
61267 2007-04-26  Bruno Haible  <bruno@clisp.org>
61268
61269         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
61270         'long' when we assume it.
61271         Suggested by Eric Blake.
61272
61273 2007-04-26  Bruno Haible  <bruno@clisp.org>
61274
61275         Ensure fseeko, ftello are declared on glibc systems.
61276         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
61277         * modules/fseeko (configure.ac-early): Likewise.
61278         * modules/ftello (configure.ac-early): Likewise.
61279         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
61280         AC_FUNC_FSEEKO for this.
61281         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
61282         (gl_CHECK_FSEEKO): Remove macro.
61283
61284 2007-04-26  Bruno Haible  <bruno@clisp.org>
61285
61286         * tests/test-fflush.c (main): Also check the ftell result after
61287         fflush and fseek/fseeko.
61288         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
61289         file descriptor position cache in the stream.
61290         * lib/fseeko.c (rpl_fseeko): Likewise.
61291
61292 2007-04-26  Bruno Haible  <bruno@clisp.org>
61293
61294         * modules/fflush-tests (Depends-on): Add fseeko.
61295
61296 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
61297             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61298
61299         * lib/argz_.h: ensure error_t definition is obtained in same
61300         mechanism system argz.h would have.
61301         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
61302         argz facilities are known bad.  Err on the side of caution if
61303         cross-compiling.
61304
61305 2007-04-25  Eric Blake  <ebb9@byu.net>
61306
61307         * lib/fpurge.c (includes): Use stdlib.h for free.
61308         * tests/test-fflush.c (main): Also test fflush-fseeko.
61309
61310 2007-04-25  Bruno Haible  <bruno@clisp.org>
61311
61312         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
61313         * lib/fseeko.c: New file.
61314         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
61315         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
61316         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
61317         gl_FUNC_FSEEKO.
61318         (gl_FUNC_FSEEKO): Invoke it.
61319         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
61320         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
61321         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
61322
61323 2007-04-25  Bruno Haible  <bruno@clisp.org>
61324
61325         * modules/fflush (Depends-on): Add ftello.
61326
61327 2007-04-25  Bruno Haible  <bruno@clisp.org>
61328
61329         * modules/ftello-tests: New file.
61330         * tests/test-ftello.c: New file.
61331
61332         * modules/ftello: New file.
61333         * m4/ftello.m4: New file.
61334         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
61335         HAVE_FTELLO.
61336         * lib/stdio_.h (ftello): New declaration.
61337         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
61338         HAVE_FTELLO.
61339
61340 2007-04-25  Bruno Haible  <bruno@clisp.org>
61341
61342         * modules/fseeko-tests: New file.
61343         * tests/test-fseeko.c: New file.
61344
61345         * modules/fseeko: New file.
61346         * m4/fseeko.m4: New file.
61347         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
61348         HAVE_FSEEKO.
61349         * lib/stdio_.h (fseeko): New declaration.
61350         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
61351         HAVE_FSEEKO.
61352
61353 2007-04-25  Bruno Haible  <bruno@clisp.org>
61354
61355         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
61356
61357 2007-04-25  Bruno Haible  <bruno@clisp.org>
61358
61359         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
61360         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
61361         * tests/test-unistd.c: Likewise.
61362         * tests/test-fcntl.c: Likewise.
61363
61364 2007-04-23  Eric Blake  <ebb9@byu.net>
61365
61366         * lib/fflush.c: Fix missing include.
61367         Reported by Bruno Haible.
61368
61369 2007-04-23  Bruno Haible  <bruno@clisp.org>
61370
61371         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
61372         Reported by Eric Blake.
61373
61374 2007-04-23  Bruno Haible  <bruno@clisp.org>
61375
61376         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
61377
61378 2007-04-23  Bruno Haible  <bruno@clisp.org>
61379
61380         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
61381
61382 2007-04-23  Bruno Haible  <bruno@clisp.org>
61383
61384         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
61385         Needed on HP-UX 11.
61386
61387 2007-04-16  Eric Blake  <ebb9@byu.net>
61388
61389         Make fflush rely on fpurge.
61390         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
61391         open coding all variants.
61392         * modules/fflush (Depends-on): Add fpurge and unistd.
61393         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
61394         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
61395
61396         Fix --with-tests compilation on cygwin.
61397         * modules/argmatch-tests (Makefile.am): List gnulib library first
61398         in LDADD.
61399         * modules/argp-tests (Makefile.am): Likewise.
61400         * modules/array-list-tests (Makefile.am): Likewise.
61401         * modules/array-oset-tests (Makefile.am): Likewise.
61402         * modules/avltree-list-tests (Makefile.am): Likewise.
61403         * modules/avltree-oset-tests (Makefile.am): Likewise.
61404         * modules/avltreehash-list-tests (Makefile.am): Likewise.
61405         * modules/carray-list-tests (Makefile.am): Likewise.
61406         * modules/dirname-tests (Makefile.am): Likewise.
61407         * modules/frexp-tests (Makefile.am): Likewise.
61408         * modules/isnanl-tests (Makefile.am): Likewise.
61409         * modules/linked-list-tests (Makefile.am): Likewise.
61410         * modules/linkedhash-list-tests (Makefile.am): Likewise.
61411         * modules/lock-tests (Makefile.am): Likewise.
61412         * modules/rbtree-list-tests (Makefile.am): Likewise.
61413         * modules/rbtree-oset-tests (Makefile.am): Likewise.
61414         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
61415         * modules/tls-tests (Makefile.am): Likewise.
61416         * modules/tsearch-tests (Makefile.am): Likewise.
61417         * modules/xvasprintf-tests (Makefile.am): Likewise.
61418
61419         Fix fpurge for cygwin.
61420         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
61421         value.
61422         * modules/fpurge-tests (Depends-on): Clean up trash.
61423
61424 2007-04-16  Simon Josefsson  <simon@josefsson.org>
61425
61426         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
61427
61428         * m4/autobuild.m4: Re-indent.
61429
61430 2007-04-13  Bruno Haible  <bruno@clisp.org>
61431
61432         * modules/fpurge-tests: New file.
61433         * tests/test-fpurge.c: New file.
61434
61435         * modules/fpurge: New file.
61436         * lib/fpurge.h: New file.
61437         * lib/fpurge.c: New file.
61438         * m4/fpurge.m4: New file.
61439
61440 2007-04-13  Bruno Haible  <bruno@clisp.org>
61441
61442         * modules/fbufmode-tests: New file.
61443         * tests/test-fbufmode.c: New file.
61444
61445         * modules/fbufmode: New file.
61446         * lib/fbufmode.h: New file.
61447         * lib/fbufmode.c: New file.
61448         * m4/fbufmode.m4: New file.
61449
61450 2007-04-13  Bruno Haible  <bruno@clisp.org>
61451
61452         * modules/fwritable-tests: New file.
61453         * tests/test-fwritable.c: New file.
61454
61455         * modules/fwritable: New file.
61456         * lib/fwritable.h: New file.
61457         * lib/fwritable.c: New file.
61458         * m4/fwritable.m4: New file.
61459
61460 2007-04-13  Bruno Haible  <bruno@clisp.org>
61461
61462         * modules/freadable-tests: New file.
61463         * tests/test-freadable.c: New file.
61464
61465         * modules/freadable: New file.
61466         * lib/freadable.h: New file.
61467         * lib/freadable.c: New file.
61468         * m4/freadable.m4: New file.
61469
61470 2007-04-13  Bruno Haible  <bruno@clisp.org>
61471
61472         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
61473         MOSTLYCLEANFILES.
61474
61475 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
61476
61477         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
61478         gzip bootstrap.conf to avoid dragging in i18n machinery.
61479         (gnulib_tool_option): Use it.
61480
61481 2007-04-13  Bruno Haible  <bruno@clisp.org>
61482
61483         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
61484         %F directives.
61485         * tests/test-vasprintf-posix.c (test_function): Likewise.
61486         * tests/test-snprintf-posix.h (test_function): Likewise.
61487         * tests/test-sprintf-posix.h (test_function): Likewise.
61488         * tests/test-fprintf-posix.h (test_function): Likewise.
61489         * tests/test-printf-posix.h (test_function): Likewise.
61490         * tests/test-fprintf-posix.out: Likewise.
61491
61492 2007-04-13  Bruno Haible  <bruno@clisp.org>
61493
61494         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
61495         * modules/tls-tests (configure.ac): Likewise.
61496         Reported by Arto C. Nirkko <anirkko@insel.ch>.
61497
61498 2007-04-13  Bruno Haible  <bruno@clisp.org>
61499
61500         * lib/tls.c (glthread_tls_get): Fix return type.
61501         Patch by Arto C. Nirkko <anirkko@insel.ch>.
61502
61503 2007-04-12  Eric Blake  <ebb9@byu.net>
61504
61505         * modules/gettime (Depends-on): Remove gettime.
61506         Reported by Dmitry V. Levin.
61507
61508 2007-04-12  Bruno Haible  <bruno@clisp.org>
61509
61510         * modules/fflush (Include): Mention <stdio.h>.
61511         * modules/strtoimax (Include): Mention <inttypes.h>.
61512         * modules/strtoumax (Include): Likewise.
61513
61514 2007-04-12  Eric Blake  <ebb9@byu.net>
61515
61516         * .cvsignore: New file.
61517         * .gitignore: Likewise.
61518
61519 2007-04-12  Bruno Haible  <bruno@clisp.org>
61520
61521         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
61522         not before, since $(LDADD) often contains libgnu.a.
61523         * modules/striconv-tests (test_striconv_LDADD): Likewise.
61524         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
61525         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
61526         Needed on Cygwin.
61527
61528 2007-04-12  Eric Blake  <ebb9@byu.net>
61529
61530         Work around glibc's failure to flush stdin on fclose.
61531         * lib/closein.c (close_stdin): Flush stdin before closing.
61532
61533         Work around glibc's failure to reset seekable stdin on exit.
61534         * modules/closein: New module.
61535         * lib/closein.c: New file.
61536         * lib/closein.h: Likewise.
61537         * m4/closein.m4: Likewise.
61538         * MODULES.html.sh (File stream based Input/Output): Document it.
61539
61540 2007-04-12  Simon Josefsson  <simon@josefsson.org>
61541
61542         * gnulib-tool: Rename generated 'autobuild' script to
61543         'do-autobuild' in --create-megatestdir output.
61544
61545         * doc/gnulib.texi (Build robot for gnulib): Fix.
61546
61547 2007-04-12  Simon Josefsson  <simon@josefsson.org>
61548
61549         * modules/sysexits (Depends-on): Add absolute-header.
61550
61551 2007-04-12  Eric Blake  <ebb9@byu.net>
61552
61553         No need to preserve errno on success.
61554         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
61555         Reported by Bruno Haible.
61556
61557 2007-04-12  Simon Josefsson  <simon@josefsson.org>
61558
61559         * MODULES.html.sh (Support for maintaining and releasing
61560         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
61561
61562 2007-04-12  Simon Josefsson  <simon@josefsson.org>
61563
61564         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
61565
61566 2007-04-12  Simon Josefsson  <simon@josefsson.org>
61567
61568         * modules/autobuild: New module.
61569
61570         * m4/autobuild.m4: New file.
61571
61572 2007-04-11  Bruno Haible  <bruno@clisp.org>
61573
61574         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
61575         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
61576         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
61577         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
61578         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61579         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
61580         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
61581         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
61582         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
61583         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
61584         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
61585         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
61586         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
61587         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
61588         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
61589         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
61590         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
61591         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
61592         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
61593         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
61594         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
61595         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
61596         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
61597         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
61598         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
61599         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
61600         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
61601         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
61602         Reported by Eric Blake.
61603
61604 2007-04-11  Bruno Haible  <bruno@clisp.org>
61605
61606         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
61607
61608 2007-04-10  Bruno Haible  <bruno@clisp.org>
61609
61610         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
61611         for NaN and Infinity. Needed on FreeBSD 6.1.
61612         * tests/test-vasnprintf-posix.c (test_function): Undo last change
61613         regarding results for "%010a" of Infinity and NaN.
61614         * tests/test-vasprintf-posix.c (test_function): Likewise.
61615         * tests/test-snprintf-posix.h (test_function): Likewise.
61616         * tests/test-sprintf-posix.h (test_function): Likewise.
61617         * tests/test-fprintf-posix.h (test_function): Likewise.
61618         * tests/test-printf-posix.h (test_function): Likewise.
61619         * tests/test-fprintf-posix.out: Likewise.
61620
61621 2007-04-10  Bruno Haible  <bruno@clisp.org>
61622
61623         * modules/locale-tests: New file.
61624         * tests/test-locale.c: New file.
61625
61626         * modules/locale: New file.
61627         * lib/locale_.h: New file.
61628         * m4/locale_h.m4: New file.
61629
61630 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
61631             Bruno Haible  <bruno@clisp.org>
61632
61633         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
61634         be determined, test for availability of the copysignf, copysign,
61635         copysignl functions.
61636         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
61637         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
61638         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
61639
61640 2007-04-09  Eric Blake  <ebb9@byu.net>
61641
61642         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
61643         * modules/stdio (Makefile.am): Support fflush.
61644         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
61645         * modules/fflush: New file.
61646         * lib/fflush.c: Likewise.
61647         * m4/fflush.m4: Likewise.
61648         * modules/fflush-tests: New test.
61649         * tests/test-fflush.c: Likewise.
61650         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
61651
61652 2007-04-06  Bruno Haible  <bruno@clisp.org>
61653
61654         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
61655         (VASNPRINTF): Use signbit for faster determination whether to print a
61656         minus sign.
61657         * modules/vasnprintf (Files): Remove lib/float+.h.
61658         * modules/fprintf-posix (Depends-on): Add signbit.
61659         * modules/snprintf-posix (Depends-on): Likewise.
61660         * modules/sprintf-posix (Depends-on): Likewise.
61661         * modules/vasnprintf-posix (Depends-on): Likewise.
61662         * modules/vasprintf-posix (Depends-on): Likewise.
61663         * modules/vfprintf-posix (Depends-on): Likewise.
61664         * modules/vsnprintf-posix (Depends-on): Likewise.
61665         * modules/vsprintf-posix (Depends-on): Likewise.
61666
61667 2007-04-06  Bruno Haible  <bruno@clisp.org>
61668
61669         * tests/test-frexp.c (main): Test also the sign bit of zero results.
61670         * tests/test-frexpl.c (main): Likewise.
61671         * tests/test-ldexpl.c (main): Likewise.
61672         * modules/frexp-tests (Depends-on): Add signbit.
61673         * modules/frexpl-tests (Depdends-on): Likewise.
61674         * modules/ldexpl-tests (Depdends-on): Likewise.
61675
61676 2007-04-06  Bruno Haible  <bruno@clisp.org>
61677
61678         * modules/signbit-tests: New file.
61679         * tests/test-signbit.c: New file.
61680
61681         * modules/signbit: New file.
61682         * lib/signbitf.c: New file.
61683         * lib/signbitd.c: New file.
61684         * lib/signbitl.c: New file.
61685         * m4/signbit.m4: New file.
61686         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
61687         (signbit): New macro.
61688         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
61689         REPLACE_SIGNBIT.
61690         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
61691         REPLACE_FREXPL into math.h.
61692
61693 2007-04-06  Bruno Haible  <bruno@clisp.org>
61694
61695         * modules/isnanf-nolibm-tests: New file.
61696         * tests/test-isnanf.c: New file.
61697
61698         * modules/isnanf-nolibm: New file.
61699         * lib/isnanf.h: New file.
61700         * lib/isnanf.c: New file.
61701         * lib/isnan.c: Consider the USE_FLOAT macro.
61702         * m4/isnanf.m4: New file.
61703
61704 2007-04-06  Bruno Haible  <bruno@clisp.org>
61705
61706         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
61707         (Link): New section.
61708
61709         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
61710
61711 2007-04-06  Bruno Haible  <bruno@clisp.org>
61712
61713         Assume the 'long double' type.
61714         * m4/longdouble.m4: Remove file.
61715         * config/srclist.txt: Don't mention longdouble.m4.
61716         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
61717         * lib/float+.h: Likewise.
61718         * lib/frexp.c: Likewise.
61719         * lib/printf-args.h: Likewise.
61720         * lib/printf-args.c: Likewise.
61721         * lib/printf-frexp.c: Likewise.
61722         * lib/printf-parse.c: Likewise.
61723         * lib/vasnprintf.c: Likewise.
61724         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
61725         * m4/intl.m4: Likewise.
61726         * m4/isnanl.m4: Likewise.
61727         * m4/printf.m4: Likewise.
61728         * m4/printf-frexpl.m4: Likewise.
61729         * m4/vasnprintf.m4: Likewise.
61730         * modules/allocsa (Files): Remove m4/longdouble.m4.
61731         * modules/gettext (Files): Likewise.
61732         * modules/relocatable-prog-wrapper (Files): Likewise.
61733         * modules/vasnprintf (Files): Likewise.
61734         * modules/isnanl (Files): Likewise.
61735         (Include): Simplify.
61736         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
61737         (Include): Simplify.
61738         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
61739         (Include): Simplify.
61740         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
61741         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
61742         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
61743         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
61744         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
61745         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
61746         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
61747         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
61748         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
61749         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
61750         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
61751         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
61752         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
61753         * tests/test-isnanl.c: Likewise.
61754         * tests/test-snprintf-posix.h: Likewise.
61755         * tests/test-sprintf-posix.h: Likewise.
61756         * tests/test-vasnprintf-posix.c: Likewise.
61757         * tests/test-vasnprintf-posix2.c: Likewise.
61758         * tests/test-vasprintf-posix.c: Likewise.
61759
61760 2007-04-06  Bruno Haible  <bruno@clisp.org>
61761
61762         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
61763         * lib/math_.h [__DECC]: Include the overridden include file through
61764         #include_next, outside the double-inclusion guard.
61765         * lib/stdio_.h [__DECC]: Likewise.
61766         * lib/stdlib_.h [__DECC]: Likewise.
61767         * lib/string_.h [__DECC]: Likewise.
61768         * lib/time_.h [__DECC]: Likewise.
61769         * lib/wchar_.h [__DECC]: Likewise.
61770         * lib/wctype_.h [__DECC]: Likewise.
61771         * lib/inttypes_.h [__DECC]: Likewise.
61772         Reported by Albert Chin <china@thewrittenword.com> in
61773         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
61774
61775 2007-04-04  Eric Blake  <ebb9@byu.net>
61776
61777         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
61778         1.5.x.
61779
61780 2007-04-04  Bruno Haible  <bruno@clisp.org>
61781
61782         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
61783         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
61784
61785 2007-04-04  Bruno Haible  <bruno@clisp.org>
61786
61787         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
61788         results for "%010a" of Infinity and NaN.
61789         * tests/test-vasprintf-posix.c (test_function): Likewise.
61790         * tests/test-snprintf-posix.h (test_function): Likewise.
61791         * tests/test-sprintf-posix.h (test_function): Likewise.
61792         * tests/test-fprintf-posix.h (test_function): Remove these tests.
61793         * tests/test-printf-posix.h (test_function): Likewise.
61794         * tests/test-fprintf-posix.out: Update.
61795         Needed for FreeBSD 6.1.
61796
61797 2007-04-04  Bruno Haible  <bruno@clisp.org>
61798
61799         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
61800         directly used by the gnulib modules nor by gnulib-tool.
61801
61802 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
61803
61804         * DEPENDENCIES: Give overall description of version dependency
61805         desirability.  Use more-typical names for apps.
61806         Add shell, coreutils, diffutils, grep, tar, gzip.
61807
61808 2007-04-04  Simon Josefsson  <simon@josefsson.org>
61809
61810         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
61811
61812 2007-04-04  Karl Berry  <karl@gnu.org>
61813
61814         * MODULES.html.sh (func_module): missing '.
61815
61816 2007-04-03  Bruno Haible  <bruno@clisp.org>
61817
61818         * modules/argmatch-tests (Makefile.am): New variable
61819         test_argmatch_LDADD.
61820         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
61821         * modules/array-list-tests (Makefile.am): New variable
61822         test_array_list_LDADD.
61823         * modules/array-oset-tests (Makefile.am): New variable
61824         test_array_oset_LDADD.
61825         * modules/avltree-list-tests (Makefile.am): New variable
61826         test_avltree_list_LDADD.
61827         * modules/avltree-oset-tests (Makefile.am): New variable
61828         test_avltree_oset_LDADD.
61829         * modules/avltreehash-list-tests (Makefile.am): New variable
61830         test_avltreehash_list_LDADD.
61831         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
61832         test_canonicalize_lgpl_LDADD.
61833         * modules/carray-list-tests (Makefile.am): New variable
61834         test_carray_list_LDADD.
61835         * modules/dirname-tests (Makefile.am): New variable
61836         test_dirname_LDADD.
61837         * modules/linked-list-tests (Makefile.am): New variable
61838         test_linked_list_LDADD.
61839         * modules/linkedhash-list-tests (Makefile.am): New variable
61840         test_linkedhash_list_LDADD.
61841         * modules/rbtree-list-tests (Makefile.am): New variable
61842         test_rbtree_list_LDADD.
61843         * modules/rbtree-oset-tests (Makefile.am): New variable
61844         test_rbtree_oset_LDADD.
61845         * modules/rbtreehash-list-tests (Makefile.am): New variable
61846         test_rbtreehash_list_LDADD.
61847         * modules/xvasprintf-tests (Makefile.am): New variable
61848         test_xvasprintf_LDADD.
61849         Reported by Eric Blake.
61850
61851 2007-04-03  Eric Blake  <ebb9@byu.net>
61852
61853         * DEPENDENCIES: Weaken m4 requirements.
61854
61855 2007-04-03  Bruno Haible  <bruno@clisp.org>
61856
61857         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
61858         * modules/isnanl-tests (configure.ac): Likewise.
61859
61860 2007-04-03  Ben Pfaff  <blp@gnu.org>
61861
61862         * modules/iconv_open: Add $(srcdir)/ to source directory
61863         references in Makefile fragments that call gperf, to fix VPATH
61864         builds.
61865
61866 2007-04-03  Bruno Haible  <bruno@clisp.org>
61867
61868         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
61869         * lib/ldexpl.c: Undo last change.
61870
61871 2007-04-03  Bruno Haible  <bruno@clisp.org>
61872
61873         * modules/printf-frexpl (Depends-on): Undo last change.
61874         (Files): Add m4/ldexpl.m4.
61875
61876 2007-04-03  Bruno Haible  <bruno@clisp.org>
61877
61878         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
61879         * modules/isnanl (Link): New section.
61880
61881         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
61882         * modules/frexp (Link): New section.
61883
61884         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
61885         * modules/frexpl (Link): New section.
61886
61887         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
61888         * modules/ldexpl (Link): New section.
61889
61890 2007-04-03  Bruno Haible  <bruno@clisp.org>
61891
61892         * modules/TEMPLATE-EXTENDED: New file.
61893         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
61894
61895 2007-04-03  Bruno Haible  <bruno@clisp.org>
61896
61897         * DEPENDENCIES: New file.
61898         Suggested by Simon Josefsson.
61899
61900 2007-04-03  Bruno Haible  <bruno@clisp.org>
61901
61902         * doc/gnulib.texi: Escape @.
61903
61904 2007-04-03  James Youngman  <jay@gnu.org>
61905         and Paul Eggert  <eggert@cs.ucla.edu>
61906
61907         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
61908         birthtime on all systems that have birthtime, not just those which
61909         use st_birthtimensec rather than st_birthtim.  Putting zero in
61910         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
61911         that the birth time is not available for files on an NFS mount.
61912
61913 2007-04-03  Simon Josefsson  <simon@josefsson.org>
61914
61915         * modules/memxor: Move back from crypto/, suggested by Bruno.
61916         * modules/crypto/hmac-sha1: Fix memxor dependency.
61917
61918         * modules/crypto/gc: Moved from ../.
61919
61920 2007-04-02  Eric Blake  <ebb9@byu.net>
61921
61922         * lib/ldexpl.c (includes): Avoid libm.
61923
61924         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
61925
61926 2007-04-02  Bruno Haible  <bruno@clisp.org>
61927
61928         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
61929         on IRIX.
61930
61931 2007-04-02  Bruno Haible  <bruno@clisp.org>
61932
61933         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
61934         x86 or x86_64 platforms running MacOS X.
61935         Reported by Ryan Schmidt <@ryandesign.com>.
61936
61937 2007-04-02  Bruno Haible  <bruno@clisp.org>
61938
61939         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
61940         i386.
61941
61942 2007-04-01  Simon Josefsson  <simon@josefsson.org>
61943
61944         * modules/crypto/arcfour: Moved from ../.
61945         * modules/crypto/arcfour-tests: Moved from ../.
61946         * modules/crypto/arctwo: Moved from ../.
61947         * modules/crypto/arctwo-tests: Moved from ../.
61948         * modules/crypto/des: Moved from ../.
61949         * modules/crypto/des-tests: Moved from ../.
61950         * modules/crypto/gc-arcfour: Moved from ../.
61951         * modules/crypto/gc-arcfour-tests: Moved from ../.
61952         * modules/crypto/gc-arctwo: Moved from ../.
61953         * modules/crypto/gc-arctwo-tests: Moved from ../.
61954         * modules/crypto/gc-des: Moved from ../.
61955         * modules/crypto/gc-des-tests: Moved from ../.
61956         * modules/crypto/gc-hmac-md5: Moved from ../.
61957         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
61958         * modules/crypto/gc-hmac-sha1: Moved from ../.
61959         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
61960         * modules/crypto/gc-md2: Moved from ../.
61961         * modules/crypto/gc-md2-tests: Moved from ../.
61962         * modules/crypto/gc-md4: Moved from ../.
61963         * modules/crypto/gc-md4-tests: Moved from ../.
61964         * modules/crypto/gc-md5: Moved from ../.
61965         * modules/crypto/gc-md5-tests: Moved from ../.
61966         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
61967         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
61968         * modules/crypto/gc-random: Moved from ../.
61969         * modules/crypto/gc-rijndael: Moved from ../.
61970         * modules/crypto/gc-rijndael-tests: Moved from ../.
61971         * modules/crypto/gc-sha1: Moved from ../.
61972         * modules/crypto/gc-sha1-tests: Moved from ../.
61973         * modules/crypto/gc-tests: Moved from ../.
61974         * modules/crypto/hmac-md5: Moved from ../.
61975         * modules/crypto/hmac-md5-tests: Moved from ../.
61976         * modules/crypto/hmac-sha1: Moved from ../.
61977         * modules/crypto/hmac-sha1-tests: Moved from ../.
61978         * modules/crypto/md2: Moved from ../.
61979         * modules/crypto/md2-tests: Moved from ../.
61980         * modules/crypto/md4: Moved from ../.
61981         * modules/crypto/md4-tests: Moved from ../.
61982         * modules/crypto/md5: Moved from ../.
61983         * modules/crypto/md5-tests: Moved from ../.
61984         * modules/crypto/memxor: Moved from ../.
61985         * modules/crypto/rijndael: Moved from ../.
61986         * modules/crypto/rijndael-tests: Moved from ../.
61987         * modules/crypto/sha1: Moved from ../.
61988
61989 2007-03-30  James Youngman  <jay@gnu.org>
61990
61991         * tests/test-stat-time.c (prepare_test): use chmod() rather than
61992         rename() to change the ctime of a file (because ctime is unaffected
61993         by rename on jfs2 on AIX 5.1).
61994         (main): Start by doing cleanup, in case a previous run failed leaving
61995         test files behind.
61996
61997 2007-03-31  Bruno Haible  <bruno@clisp.org>
61998
61999         Support old proprietary implementations of iconv.
62000         * modules/iconv_open: New file.
62001         * lib/iconv_.h: New file.
62002         * m4/iconv_h.m4: New file.
62003         * lib/iconv_open.c: New file.
62004         * lib/iconv_open-aix.gperf: New file.
62005         * lib/iconv_open-hpux.gperf: New file.
62006         * lib/iconv_open-irix.gperf: New file.
62007         * lib/iconv_open-osf.gperf: New file.
62008         * m4/iconv_open.m4: New file.
62009         * modules/linebreak (Depends-on): Add iconv_open.
62010         * modules/striconv (Depends-on): Likewise.
62011         * modules/striconveh (Depends-on): Likewise.
62012         * modules/unicodeio (Depends-on): Likewise.
62013         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
62014         (iconv_t)(-1).
62015         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
62016         conversion if cd is (iconv_t)(-1).
62017         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
62018         is not possible.
62019
62020 2007-03-31  Bruno Haible  <bruno@clisp.org>
62021
62022         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
62023         work on Solaris either. Protect also second use of "autodetect_jp".
62024
62025 2007-03-31  Bruno Haible  <bruno@clisp.org>
62026
62027         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
62028         the function is not present.
62029
62030 2007-03-31  Bruno Haible  <bruno@clisp.org>
62031
62032         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
62033         the function is not present.
62034
62035 2007-03-31  Bruno Haible  <bruno@clisp.org>
62036
62037         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
62038         a bug in HP-UX iconv_open().
62039
62040 2007-03-31  Bruno Haible  <bruno@clisp.org>
62041
62042         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
62043         (Mathematics <math.h>): New section, add fpieee.
62044         (Input/output <stdio.h>): Add fseterr.
62045         (Mathematics <math.h>): New section, add printf-frexp.
62046         (Container data structures): Add sublist.
62047         (Core language properties): Add fpucw, inline.
62048         (Functions for greatest-width integer types <inttypes.h>): Add
62049         imaxabs, imaxdiv, inttypes.
62050         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
62051         isnanl-nolibm, ldexp.
62052         (Mathematics <math.h>): New section, add printf-frexpl.
62053         (Support for systems lacking POSIX:2001): Add fprintf-posix,
62054         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
62055         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
62056         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
62057         (Unicode string functions): Add unistr/u*-mbtoucr.
62058         (Java): Add javacomp-script, javaexec-script.
62059         (C#): Add csharpcomp-script, csharpexec-script.
62060         (Support for building libraries and executables): Add havelib,
62061         relocatable-*.
62062         (Support for maintaining and releasing projects): Renamed from
62063         'Support for maintaining and release projects'. Add announce-gen.
62064
62065 2007-03-31  Bruno Haible  <bruno@clisp.org>
62066
62067         * README: Talk primarily about git.
62068         (git and CVS): Renamed from CVS.
62069         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
62070         gnulib is available through git.
62071         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
62072
62073 2007-03-30  Bruno Haible  <bruno@clisp.org>
62074
62075         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
62076         * lib/poll_.h: Likewise.
62077         * lib/stat_.h: Likewise.
62078         * lib/sys_time_.h: Likewise.
62079         * lib/sysexit_.h: Likewise.
62080         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
62081         * lib/stdbool_.h: Likewise.
62082         * lib/byteswap_.h: Add double-inclusion guard.
62083
62084 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
62085
62086         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
62087
62088 2007-03-30  Karl Berry  <karl@gnu.org>
62089
62090         * config/srclist-update: double space after USA in the license
62091         substitution, since that's how it's usually (?) written.
62092
62093 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
62094
62095         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
62096         reported by Bruno Haible.
62097
62098 2007-03-29  Bruno Haible  <bruno@clisp.org>
62099
62100         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
62101         a bug in AIX iconv().
62102
62103 2007-03-29  Bruno Haible  <bruno@clisp.org>
62104
62105         * modules/ldexpl-tests: New file.
62106         * tests/test-ldexpl.c: New file.
62107
62108 2007-03-29  Bruno Haible  <bruno@clisp.org>
62109
62110         * lib/ldexpl.c: Include fpucw.h.
62111         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
62112         multiplication.
62113         * modules/ldexpl (Depends-on): Add fpucw.
62114
62115 2007-03-29  Bruno Haible  <bruno@clisp.org>
62116
62117         * modules/ldexpl: New file.
62118         * m4/ldexpl.m4: New file.
62119         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
62120         set.
62121         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
62122         REPLACE_LDEXPL.
62123         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
62124         REPLACE_LDEXPL.
62125         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
62126         gl_FUNC_LDEXPL_WORKS.
62127         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
62128         * modules/mathl (Files): Remove lib/ldexpl.c.
62129         (Depends-on): Add ldexpl.
62130
62131 2007-03-29  Bruno Haible  <bruno@clisp.org>
62132
62133         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
62134
62135 2007-03-29  Bruno Haible  <bruno@clisp.org>
62136
62137         * tests/test-striconveh.c (main): Don't assume that a direct conversion
62138         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
62139         and possibly also HP-UX.
62140         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
62141         work on AIX, IRIX, HP-UX, OSF/1.
62142         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
62143         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
62144         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
62145         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
62146         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
62147         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
62148
62149 2007-03-29  Bruno Haible  <bruno@clisp.org>
62150
62151         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
62152
62153 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
62154
62155         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
62156         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
62157
62158 2007-03-29  Eric Blake  <ebb9@byu.net>
62159
62160         * lib/acl-internal.h: Remove redundant include.
62161         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
62162         Cygwin when a file is locked.
62163
62164 2007-03-29  Bruno Haible  <bruno@clisp.org>
62165
62166         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
62167         file.
62168         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
62169
62170 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
62171
62172         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
62173         try to remove a parent directory if the child couldn't be removed
62174         (except for the first rmdir, which could fail because the child
62175         doesn't exist).  Problem reported by Jeff Blaine in
62176         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
62177
62178 2007-03-28  Bruno Haible  <bruno@clisp.org>
62179
62180         * lib/striconveh.c (utf8conv_carefully): New function.
62181         (mem_cd_iconveh_internal): Invoke it.
62182
62183 2007-03-28  Bruno Haible  <bruno@clisp.org>
62184
62185         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
62186         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
62187         input.
62188         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
62189         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
62190         unistr/u8-uctomb.
62191
62192 2007-03-28  Bruno Haible  <bruno@clisp.org>
62193
62194         * modules/unistr/u8-mbtoucr: New file.
62195         * lib/unistr/u8-mbtoucr.c: New file.
62196         * modules/unistr/u16-mbtoucr: New file.
62197         * lib/unistr/u16-mbtoucr.c: New file.
62198         * modules/unistr/u16-mbtoucr: New file.
62199         * lib/unistr/u16-mbtoucr.c: New file.
62200         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
62201
62202 2007-03-27  Simon Josefsson  <simon@josefsson.org>
62203             Bruno Haible  <bruno@clisp.org>
62204
62205         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
62206         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
62207         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
62208
62209         * m4/stdio_h.m4: Add stubs for vasprintf too.
62210
62211         * modules/stdio: Support vasprintf in sed command.
62212
62213         * modules/vasprintf: Depend on stdio for prototypes.  Remove
62214         vasprintf.h.  Add stdio module indicator.
62215
62216         * lib/stdio_.h: Declare asprintf and vasprintf, based on
62217         vasprintf.h.
62218
62219         * lib/vasprintf.h: File removed.
62220
62221         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
62222         * lib/vasprintf.c: Ditto.
62223         * lib/xvasprintf.c: Ditto.
62224         * tests/test-vasprintf-posix.c: Ditto.
62225         * tests/test-vasprintf.c: Ditto.
62226
62227 2007-03-27  Bruno Haible  <bruno@clisp.org>
62228
62229         Make vasnprintf multithread-safe.
62230         * lib/vasnprintf.c (decimal_point_char): New function.
62231         (VASNPRINTF): Use it.
62232         Suggested by Simon Josefsson.
62233
62234 2007-03-27  Eric Blake  <ebb9@byu.net>
62235
62236         Support sub-second birthtime on cygwin.
62237         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
62238         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
62239         (get_stat_birthtime): Also work with st_birthtim.
62240
62241 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
62242
62243         * lib/stat-time.h (USE_BIRTHTIME): Remove.
62244         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
62245         (get_stat_birthtime_ns): Do not try to use "spare" fields.
62246         (get_stat_birthtime_ns): Simplify compile-time tests.
62247         (get_stat_birthtime): Change the API to look like
62248         get_stat_mtime etc., except return a negative tv_nsec on error.
62249         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
62250         Don't check for "spare" fields.
62251         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
62252         or for struct stat.st_birthtime, as these tests aren't used.
62253         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
62254
62255 2007-03-27  Bruno Haible  <bruno@clisp.org>
62256
62257         * lib/stat-time.h: Include <sys/stat.h>.
62258
62259 2007-03-27  James Youngman  <jay@gnu.org>
62260
62261         * lib/stat-time.h (get_stat_birthtime): New function for
62262           retrieving st_birthtime as provided by UFS2 (hence *BSD).
62263         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
62264           and its variants.
62265         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
62266         * modules/stat-time-test: New file.
62267         * tests/test-stat-time.c: New test, devised by Bruno Haible.
62268
62269 2007-03-26  Bruno Haible  <bruno@clisp.org>
62270
62271         Better support of signalling NaNs.
62272         * lib/atanl.c: Include isnanl.h.
62273         (atanl): Perform test for NaN at the beginning of the function and
62274         through a call to isnanl.
62275         * lib/cosl.c: Include isnanl.h.
62276         (cosl): Perform test for NaN at the beginning of the function and
62277         through a call to isnanl.
62278         * lib/ldexpl.c: Include isnanl.h.
62279         (ldexpl): Perform test for NaN through a call to isnanl.
62280         * lib/logl.c: Include isnanl.h.
62281         (logl): Perform test for NaN at the beginning of the function and
62282         through a call to isnanl.
62283         * lib/sinl.c: Include isnanl.h.
62284         (sinl): Perform test for NaN at the beginning of the function and
62285         through a call to isnanl.
62286         * lib/sqrtl.c: Include isnanl.h.
62287         (sqrtl): Perform test for NaN at the beginning of the function and
62288         through a call to isnanl.
62289         * lib/tanl.c: Include isnanl.h.
62290         (tanl): Perform test for NaN at the beginning of the function and
62291         through a call to isnanl.
62292         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
62293         * modules/mathl (Depends-on): Add isnanl.
62294
62295 2007-03-26  Eric Blake  <ebb9@byu.net>
62296
62297         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
62298         regression in logic sense of previous patch.
62299
62300 2007-03-26  Bruno Haible  <bruno@clisp.org>
62301
62302         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
62303         unportable shell command "if ! ...".
62304         Reported by Ralf Wildenhues.
62305
62306 2007-03-25  Bruno Haible  <bruno@clisp.org>
62307
62308         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
62309         <sysexits.h> file, and only add EX_CONFIG.
62310         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
62311         absolute file name and whether it is sufficient. Substitute also
62312         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
62313         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
62314         ABSOLUTE_SYSEXITS_H into sysexits.h.
62315
62316 2007-03-25  Bruno Haible  <bruno@clisp.org>
62317
62318         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
62319         hints is NULL.
62320
62321 2007-03-25  Bruno Haible  <bruno@clisp.org>
62322
62323         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
62324         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
62325
62326 2007-03-25  Bruno Haible  <bruno@clisp.org>
62327
62328         * lib/vasnprintf.c: Include langinfo.h.
62329         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
62330         multithread-safe.
62331         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
62332         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
62333         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62334         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62335         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62336         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62337         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62338         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
62339         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62340         Reported by Simon Josefsson.
62341
62342 2007-03-25  Bruno Haible  <bruno@clisp.org>
62343
62344         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
62345         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
62346         * modules/vasnprintf (Depends-on): Add stdint.
62347
62348 2007-03-25  Bruno Haible  <bruno@clisp.org>
62349
62350         * modules/fpieee: New file.
62351         * m4/fpieee.m4: New file.
62352         * modules/isnan-nolibm (Depends-on): Add fpieee.
62353         * modules/isnanl-nolibm (Depends-on): Add fpieee.
62354         * modules/isnanl (Depends-on): Add fpieee.
62355
62356 2007-03-25  Bruno Haible  <bruno@clisp.org>
62357
62358         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
62359
62360 2007-03-25  Bruno Haible  <bruno@clisp.org>
62361
62362         Avoid test failures on IRIX 6.5.
62363         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
62364         (main): Use it.
62365         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
62366         macros.
62367         (main): Use them.
62368
62369 2007-03-25  Bruno Haible  <bruno@clisp.org>
62370
62371         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
62372         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
62373         exists but doesn't work.
62374         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
62375         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
62376         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
62377         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
62378         math.h.
62379
62380 2007-03-25  Bruno Haible  <bruno@clisp.org>
62381
62382         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
62383         returns inf. Needed on IRIX 6.5.
62384
62385 2007-03-25  Bruno Haible  <bruno@clisp.org>
62386
62387         * tests/test-frexpl.c: Include isnanl-nolibm.h.
62388         (main): Use isnanl instead of x != x idiom.
62389         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
62390
62391         * tests/test-frexp.c: Include isnan.h.
62392         (main): Use isnan instead of x != x idiom.
62393         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
62394
62395 2007-03-25  Bruno Haible  <bruno@clisp.org>
62396
62397         * tests/test-frexp.c (NaN): New function/macro.
62398         (main): Use it instead of 0.0 / 0.0.
62399         * tests/test-isnan.c (NaN): New function/macro.
62400         (main): Use it instead of 0.0 / 0.0.
62401         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
62402         (test_function): Use it instead of 0.0 / 0.0.
62403         * tests/test-vasprintf-posix.c (NaN): New function/macro.
62404         (test_function): Use it instead of 0.0 / 0.0.
62405         * tests/test-snprintf-posix.h (NaN): New function/macro.
62406         (test_function): Use it instead of 0.0 / 0.0.
62407         * tests/test-sprintf-posix.h (NaN): New function/macro.
62408         (test_function): Use it instead of 0.0 / 0.0.
62409         * tests/test-fprintf-posix.h (NaN): New function/macro.
62410         (test_function): Use it instead of 0.0 / 0.0.
62411         * tests/test-printf-posix.h (NaN): New function/macro.
62412         (test_function): Use it instead of 0.0 / 0.0.
62413
62414         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
62415
62416 2007-03-25  Bruno Haible  <bruno@clisp.org>
62417
62418         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
62419
62420 2007-03-25  Bruno Haible  <bruno@clisp.org>
62421
62422         * lib/regexec.c (merge_state_with_log): Make static.
62423
62424 2007-03-25  Bruno Haible  <bruno@clisp.org>
62425
62426         * lib/trigl.c (kernel_rem_pio2): Make static.
62427
62428 2007-03-25  Bruno Haible  <bruno@clisp.org>
62429
62430         * lib/sincosl.c (sincosl_table): Make static.
62431
62432 2007-03-25  Bruno Haible  <bruno@clisp.org>
62433
62434         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
62435         if the compiler does not support C99.
62436
62437 2007-03-25  Bruno Haible  <bruno@clisp.org>
62438
62439         * modules/time (Makefile.am): Ensure all rule action lines start with a
62440         tab.
62441
62442 2007-03-24  Bruno Haible  <bruno@clisp.org>
62443
62444         * modules/tsearch-tests: New file.
62445         * tests/test-tsearch.sh: New file.
62446         * tests/test-tsearch.c: New file, mostly copied from glibc.
62447
62448         * modules/search-tests: New file.
62449         * tests/test-search.c: New file.
62450
62451         * modules/search: New file.
62452         * lib/search_.h: New file, incorporating lib/tsearch.h.
62453         * m4/search_h.m4: New file.
62454         * lib/tsearch.h: Remove file.
62455         * lib/tsearch.c: Include search.h instead of tsearch.h.
62456         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
62457         HAVE_TSEARCH.
62458         * modules/tsearch (Files): Remove lib/tsearch.h.
62459         (Depends-on): Add search.
62460         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
62461         (Include): Change tsearch.h into search.h.
62462
62463 2007-03-24  Bruno Haible  <bruno@clisp.org>
62464
62465         * modules/fpucw: New file.
62466         * lib/fpucw.h: New file.
62467         * lib/frexp.c: Include fpucw.h.
62468         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
62469         (FUNC): Use them.
62470         * lib/printf-frexp.c: Include fpucw.h.
62471         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
62472         (FUNC): Use them.
62473         * lib/vasnprintf.c: Include fpucw.h.
62474         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
62475         'long double' calculations.
62476         * tests/test-frexpl.c: Include fpucw.h.
62477         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
62478         * tests/test-printf-frexpl.c: Include fpucw.h.
62479         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
62480         * modules/frexpl (Depends-on): Add fpucw.
62481         * modules/printf-frexpl (Depends-on): Likewise.
62482         * modules/fprintf-posix (Depends-on): Likewise.
62483         * modules/snprintf-posix (Depends-on): Likewise.
62484         * modules/sprintf-posix (Depends-on): Likewise.
62485         * modules/vasnprintf-posix (Depends-on): Likewise.
62486         * modules/vasprintf-posix (Depends-on): Likewise.
62487         * modules/vfprintf-posix (Depends-on): Likewise.
62488         * modules/vsnprintf-posix (Depends-on): Likewise.
62489         * modules/vsprintf-posix (Depends-on): Likewise.
62490         * modules/frexpl-tests (Depends-on): Likewise.
62491         * modules/printf-frexpl-tests (Depends-on): Likewise.
62492
62493 2007-03-24  Bruno Haible  <bruno@clisp.org>
62494
62495         * lib/float+.h: New file.
62496         * lib/isnan.c: Include float+.h.
62497         (SIZE): New macro.
62498         (FUNC): Compare only SIZE bytes of the value.
62499         * lib/vasnprintf.c: Include float+.h.
62500         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
62501         SIZEOF_LDBL or SIZEOF_DBL bytes.
62502         * modules/isnan-nolibm (Files): Add lib/float+.h.
62503         * modules/isnanl-nolibm (Files): Add lib/float+.h.
62504         * modules/isnanl (Files): Add lib/float+.h.
62505         * modules/vasnprintf (Files): Add lib/float+.h.
62506
62507 2007-03-24  Bruno Haible  <bruno@clisp.org>
62508
62509         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
62510         include isnanl-nolibm.h.
62511
62512 2007-03-24  Bruno Haible  <bruno@clisp.org>
62513
62514         * tests/test-read-file.c (main): Don't produce spurious output for
62515         expected situations. Make the test fail if it encountered unexpected
62516         results.
62517
62518 2007-03-24  Bruno Haible  <bruno@clisp.org>
62519
62520         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
62521         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
62522
62523 2007-03-24  Bruno Haible  <bruno@clisp.org>
62524
62525         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
62526
62527 2007-03-24  Bruno Haible  <bruno@clisp.org>
62528
62529         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
62530         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
62531
62532         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
62533         * modules/utf8-ucs4: Turn into a symbolic link to module
62534         unistr/u8-mbtouc.
62535
62536         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
62537         utf8-ucs4-unsafe.
62538         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
62539         unistr/u8-mbtouc-unsafe.
62540
62541         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
62542         * modules/utf16-ucs4: Turn into a symbolic link to module
62543         unistr/u16-mbtouc.
62544
62545         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
62546         utf16-ucs4-unsafe.
62547         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
62548         unistr/u16-mbtouc-unsafe.
62549
62550         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
62551         * modules/ucs4-utf8: Turn into a symbolic link to module
62552         unistr/u8-ubtomb.
62553
62554         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
62555         * modules/ucs4-utf16: Turn into a symbolic link to module
62556         unistr/u16-ubtomb.
62557
62558 2007-03-24  Bruno Haible  <bruno@clisp.org>
62559
62560         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
62561         Enable the function only if HAVE_INLINE.
62562         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
62563         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
62564         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
62565         Enable the function only if HAVE_INLINE.
62566         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
62567         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
62568         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
62569         Enable the function only if HAVE_INLINE.
62570         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
62571         Enable the function only if HAVE_INLINE.
62572         * modules/utf8-ucs4: Update.
62573         * modules/utf8-ucs4-unsafe: Update.
62574         * modules/utf16-ucs4: Update.
62575         * modules/utf16-ucs4-unsafe: Update.
62576         * modules/ucs4-utf8: Update.
62577         * modules/ucs4-utf16: Update.
62578
62579 2007-03-24  Bruno Haible  <bruno@clisp.org>
62580
62581         * lib/utf8-ucs4.h: Remove file.
62582         * lib/utf8-ucs4-unsafe.h: Remove file.
62583         * lib/utf16-ucs4.h: Remove file.
62584         * lib/utf16-ucs4-unsafe.h: Remove file.
62585         * lib/ucs4-utf8.h: Remove file.
62586         * lib/ucs4-utf16.h: Remove file.
62587         * lib/unistr.h: Include their previous contents.
62588         * m4/utf-ucs4.m4: Remove file.
62589         * m4/ucs4-utf.m4: Remove file.
62590         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
62591         (Depends-on): Add unistr/base.
62592         (configure.ac): Remove gl_UTF_UCS4.
62593         (Makefile.am): Update.
62594         (Include): Change to unistr.h.
62595         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
62596         (Depends-on): Add unistr/base.
62597         (configure.ac): Remove gl_UTF_UCS4.
62598         (Makefile.am): Update.
62599         (Include): Change to unistr.h.
62600         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
62601         (Depends-on): Add unistr/base.
62602         (configure.ac): Remove gl_UTF_UCS4.
62603         (Makefile.am): Update.
62604         (Include): Change to unistr.h.
62605         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
62606         (Depends-on): Add unistr/base.
62607         (configure.ac): Remove gl_UTF_UCS4.
62608         (Makefile.am): Update.
62609         (Include): Change to unistr.h.
62610         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
62611         (Depends-on): Add unistr/base.
62612         (configure.ac): Remove gl_UCS4_UTF.
62613         (Makefile.am): Update.
62614         (Include): Change to unistr.h.
62615         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
62616         (Depends-on): Add unistr/base.
62617         (configure.ac): Remove gl_UCS4_UTF.
62618         (Makefile.am): Update.
62619         (Include): Change to unistr.h.
62620         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
62621         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
62622         utf8-ucs4-unsafe.h.
62623         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
62624         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
62625         utf16-ucs4-unsafe.h.
62626         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
62627         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
62628         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
62629         * lib/unistr/u8-strchr.c: Likewise.
62630         * lib/unistr/u8-strrchr.c: Likewise.
62631         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
62632         * lib/unistr/u16-strchr.c: Likewise.
62633         * lib/unistr/u16-strrchr.c: Likewise.
62634         * lib/striconveh.c: Update.
62635         * lib/linebreak.c: Update.
62636
62637 2007-03-24  Bruno Haible  <bruno@clisp.org>
62638
62639         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
62640         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
62641
62642 2007-03-22  Bruno Haible  <bruno@clisp.org>
62643
62644         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
62645
62646 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
62647
62648         * MODULES.html.sh (File system functions): New module write-any-file.
62649         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
62650         * m4/write-any-file.m4: New files.
62651
62652 2007-03-23  Eric Blake  <ebb9@byu.net>
62653
62654         * gnulib-tool: Rearrange space-tab sequences, since some editors
62655         like to eat them.
62656
62657 2007-03-23  Eric Blake  <ebb9@byu.net>
62658
62659         * lib/version-etc.c (version_etc_va): Update license wording to
62660         be more concise.  Recommended by Richard Stallman.
62661
62662 2007-03-22  Bruno Haible  <bruno@clisp.org>
62663
62664         * lib/poll.c (MSG_PEEK): New fallback definition.
62665
62666 2007-03-22  Bruno Haible  <bruno@clisp.org>
62667
62668         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
62669         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
62670         (main): Update.
62671         Fixes a compilation error on BeOS.
62672
62673 2007-03-22  Bruno Haible  <bruno@clisp.org>
62674
62675         * modules/frexpl-tests: New file.
62676         * tests/test-frexpl.c: New file.
62677
62678         * modules/frexpl: New file.
62679         * m4/frexpl.m4: New file.
62680         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
62681         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
62682         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
62683         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
62684         (Depends-on): Add frexpl. Remove isnanl-nolibm.
62685         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
62686
62687 2007-03-22  Bruno Haible  <bruno@clisp.org>
62688
62689         * lib/frexpl.c: Share code with lib/frexp.c.
62690         * modules/mathl (Files): Add lib/frexp.c.
62691         (Depends-on): Add isnanl-nolibm.
62692
62693 2007-03-22  Bruno Haible  <bruno@clisp.org>
62694
62695         * modules/printf-frexp (Files): Add m4/frexp.m4.
62696         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
62697         only if the found frexp function actually works.
62698
62699 2007-03-22  Bruno Haible  <bruno@clisp.org>
62700
62701         * lib/frexp.c: Remove older implementation that uses divisions.
62702
62703 2007-03-21  Bruno Haible  <bruno@clisp.org>
62704
62705         * modules/frexp-tests: New file.
62706         * tests/test-frexp.c: New file.
62707
62708         * modules/frexp: New file.
62709         * lib/frexp.c: New file.
62710         * m4/frexp.m4: New file.
62711         * lib/math_.h (frexp): New declaration.
62712         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
62713         REPLACE_FREXP.
62714         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
62715
62716 2007-03-21  Bruno Haible  <bruno@clisp.org>
62717
62718         * modules/isnanl-tests: New file.
62719         * tests/test-isnanl.c: New file.
62720
62721         * modules/isnanl: New file.
62722         * lib/isnanl.h: New file.
62723         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
62724         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
62725         gl_FUNC_ISNANL_WORKS.
62726         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
62727         New macros.
62728
62729 2007-03-21  Bruno Haible  <bruno@clisp.org>
62730
62731         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
62732         lib/isnanl.h.
62733         (Include): Update.
62734         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
62735         * lib/vasnprintf.c: Update.
62736         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
62737         tests/test-isnanl.h, remove tests/test-isnanl.c.
62738         (Makefile.am): Update.
62739         * tests/test-isnanl-nolibm.c: New file.
62740         * tests/test-isnanl.h: New file.
62741         * tests/test-isnanl.c: Remove file.
62742
62743 2007-03-21  Jim Meyering  <jim@meyering.net>
62744
62745         When trying to open ".", treat ESTALE like EACCES.
62746         * lib/savewd.c (savewd_save): Resort to forking not just upon
62747         failure with EACCES, but also when errno is ESTALE.
62748
62749 2007-03-20  Bruno Haible  <bruno@clisp.org>
62750
62751         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
62752         Needed on AIX 5.1. Reported by Matthew Woehlke.
62753
62754 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
62755
62756         Suggestions by Bruno Haible:
62757         * lib/acl-internal.h: Include "gettext.h" rather than rolling
62758         our own.
62759         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
62760         * modules/acl (Depends-on): Add gettext.
62761
62762 2007-03-19  Bruno Haible  <bruno@clisp.org>
62763
62764         * modules/iconvme: Remove file.
62765         * lib/iconvme.h: Remove file.
62766         * lib/iconvme.c: Remove file.
62767         * m4/iconvme.m4: Remove file.
62768
62769 2007-03-19  Bruno Haible  <bruno@clisp.org>
62770
62771         * doc/relocatable-maint.texi: Break long shell script line.
62772         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
62773
62774 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
62775
62776         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
62777         handle file_has_acl.
62778         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
62779         * lib/acl.c: Move header inclusions and related macro defns into
62780         lib/acl-internal.h.
62781         (S_ISLNK): Remove defn, since that's now done for us.
62782         (file_has_acl): Move to lib/file-has-acl.c.
62783         Call acl_trivial if available.  This is the crucial part of the fix.
62784         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
62785         shared within the library.  Rewrite a bit, partly to make it compatible
62786         with the GNU coding style.
62787         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
62788         Remove unnecessary double-quotes.
62789         Don't test for acl_to_text; the build will catch that.
62790         Replace acl_entries if it doesn't exist and it is needed.
62791         Check for -lsec and acl_trivial (as used on Solaris 10).
62792         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
62793         lib/file-has-acl.c.
62794         (Depends-on): Add sys_stat, for S_ISLNK.
62795
62796 2007-03-19  Ben Pfaff  <blp@gnu.org>
62797
62798         * doc/gnulib.texi: Fix typos.
62799         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
62800
62801 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
62802
62803         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
62804         If size is zero here, buf must be zero.
62805
62806 2007-03-19  Simon Josefsson  <simon@josefsson.org>
62807
62808         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
62809         <bruno@clisp.org>.
62810
62811 2007-03-18  Bruno Haible  <bruno@clisp.org>
62812
62813         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
62814         Suggested by Eric Blake.
62815
62816 2007-03-18  Ben Pfaff  <blp@gnu.org>
62817
62818         * doc/relocatable.texi: Recommend using as prefix a directory
62819         that does not exist and will never be created.  Based on
62820         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
62821         and others.
62822
62823 2007-03-17  Bruno Haible  <bruno@clisp.org>
62824
62825         * lib/fchownat.c: Include lchown.h.
62826
62827 2007-03-17  Bruno Haible  <bruno@clisp.org>
62828
62829         Fix endless loop when the given allocated size was > INT_MAX.
62830         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
62831         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
62832         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
62833         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
62834         * lib/sprintf.c (sprintf): Likewise.
62835
62836 2007-03-17  Bruno Haible  <bruno@clisp.org>
62837
62838         * tests/test-argp-2.sh (func_compare): Output a context diff.
62839
62840 2007-03-17  Bruno Haible  <bruno@clisp.org>
62841
62842         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
62843         locale's decimal-point character.
62844
62845 2007-03-17  Bruno Haible  <bruno@clisp.org>
62846
62847         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
62848         before comparing it. Needed because on some platforms (e.g. x86) a
62849         'long double' occupies less bytes than sizeof (long double).
62850
62851 2007-03-17  Bruno Haible  <bruno@clisp.org>
62852
62853         * tests/test-crc.c (main): Make printf statements 64-bit clean.
62854         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
62855         * tests/test-getaddrinfo.c (simple): Likewise.
62856         * tests/test-read-file.c (main): Likewise.
62857
62858 2007-03-17  Bruno Haible  <bruno@clisp.org>
62859
62860         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
62861
62862 2007-03-17  Bruno Haible  <bruno@clisp.org>
62863
62864         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
62865         unused variable.
62866
62867 2007-03-17  Bruno Haible  <bruno@clisp.org>
62868
62869         * tests/test-c-strcasecmp.c: Include c-strcase.h.
62870         * tests/test-c-strncasecmp.c: Likewise.
62871
62872 2007-03-17  Bruno Haible  <bruno@clisp.org>
62873
62874         * modules/stdlib (Depends-on): Add unistd.
62875         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
62876         Needed for MacOS X 10.3.
62877
62878 2007-03-17  Bruno Haible  <bruno@clisp.org>
62879
62880         * lib/unistr/u-strdup.h: Include <stdlib.h>.
62881
62882 2007-03-17  Bruno Haible  <bruno@clisp.org>
62883
62884         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
62885
62886 2007-03-17  Bruno Haible  <bruno@clisp.org>
62887
62888         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
62889         to reflect files copied from gnulib (with or without modifications).
62890         Suggested by Jim Meyering.
62891
62892 2007-03-17  Eric Blake  <ebb9@byu.net>
62893
62894         * NEWS: Document stdlib change from 2007-02-18.
62895
62896 2007-03-17  Jim Meyering  <jim@meyering.net>
62897
62898         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
62899         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
62900         someone uses a name containing shell meta-characters.
62901         Reported by Alfred M. Szmidt.
62902
62903         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
62904
62905 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
62906
62907         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
62908         and copy gettext configuration files only if configure.ac contains
62909         a use of AM_GNU_GETTEXT_VERSION.
62910
62911 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
62912
62913         * build-aux/bootstrap (gnulib_name): New variable.
62914         (gnulib_tool_options): Use it.
62915
62916 2007-03-13  Simon Josefsson  <simon@josefsson.org>
62917
62918         * tests/test-des.c: Use new namespace.
62919
62920 2007-03-15  Bruno Haible  <bruno@clisp.org>
62921
62922         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
62923         Reported by James Youngman <jay@gnu.org>.
62924
62925 2007-03-15  Bruno Haible  <bruno@clisp.org>
62926
62927         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
62928         declared prototype. Needed with cc on OSF/1 5.1.
62929
62930 2007-03-15  Bruno Haible  <bruno@clisp.org>
62931
62932         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
62933         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
62934         (struct gl_list_implementation): Add dispose_fn argument to the
62935         'create_empty', 'create' methods.
62936         (struct gl_list_impl_base): Add field 'dispose_fn'.
62937         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
62938         argument.
62939         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
62940         dispose_fn argument.
62941         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
62942         dispose_fn on the dropped values.
62943         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
62944         dispose_fn argument.
62945         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
62946         dropped values.
62947         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
62948         (gl_tree_remove_node): Call dispose_fn on the dropped value.
62949         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
62950         (gl_tree_remove_node): Call dispose_fn on the dropped value.
62951         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
62952         argument.
62953         (gl_tree_list_free): Call dispose_fn on the dropped values.
62954         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
62955         the dropped values.
62956         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
62957         Add dispose_fn argument.
62958         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
62959         Call dispose_fn on the dropped values.
62960         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
62961         Add dispose_fn argument.
62962         (gl_sublist_create): Initialize the 'dispose_fn' field.
62963         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
62964         * tests/test-array_list.c (main): Update.
62965         * tests/test-carray_list.c (main): Update.
62966         * tests/test-avltree_list.c (main): Update.
62967         * tests/test-rbtree_list.c (main): Update.
62968         * tests/test-avltreehash_list.c (main): Update.
62969         * tests/test-rbtreehash_list.c (main): Update.
62970         * tests/test-linked_list.c (main): Update.
62971         * tests/test-linkedhash_list.c (main): Update.
62972         * tests/test-array_oset.c (main): Update.
62973
62974 2007-03-15  Bruno Haible  <bruno@clisp.org>
62975
62976         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
62977         (gl_oset_create_empty): Add dispose_fn argument.
62978         (struct gl_oset_implementation): Add dispose_fn argument to
62979         'create_empty' method.
62980         (struct gl_oset_impl_base): Add dispose_fn field.
62981         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
62982         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
62983         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
62984         values.
62985         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
62986         (gl_tree_oset_free): Call dispose_fn on the dropped values.
62987         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
62988         dropped value.
62989         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
62990         dropped value.
62991         * tests/test-array_oset.c (main): Update.
62992         * tests/test-avltree_oset.c (main): Update.
62993         * tests/test-rbtree_oset.c (main): Update.
62994         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
62995
62996 2007-03-13  Bruno Haible  <bruno@clisp.org>
62997
62998         * tests/test-stdbool.c (i): Update after last patch.
62999
63000 2007-03-12  Bruno Haible  <bruno@clisp.org>
63001
63002         * lib/quotearg.c: Include <wctype.h> early, before the definition of
63003         the iswprint macro. Needed on Solaris 2.5.1.
63004
63005 2007-03-12  Bruno Haible  <bruno@clisp.org>
63006
63007         * tests/test-printf-frexp.c (main): Declare x as volatile.
63008
63009 2007-03-12  Simon Josefsson  <simon@josefsson.org>
63010
63011         * doc/gnulib.texi (Build robot for gnulib): New section.
63012
63013 2007-03-12  Jim Meyering  <jim@meyering.net>
63014
63015         * build-aux/bootstrap: New file.
63016         * build-aux/bootstrap.conf: New file, from coreutils.
63017
63018 2007-03-11  Bruno Haible  <bruno@clisp.org>
63019
63020         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
63021
63022 2007-03-12  Simon Josefsson  <simon@josefsson.org>
63023
63024         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
63025         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
63026         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
63027
63028 2007-03-11  Bruno Haible  <bruno@clisp.org>
63029
63030         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
63031         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
63032
63033 2007-03-11  Bruno Haible  <bruno@clisp.org>
63034
63035         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
63036         formula. Needed for SunPRO C 5.0.
63037
63038 2007-03-11  Bruno Haible  <bruno@clisp.org>
63039
63040         * modules/long-options (Depends-on): Add getopt.
63041
63042 2007-03-11  Bruno Haible  <bruno@clisp.org>
63043
63044         * modules/modechange (Depends-on): Add stdbool.
63045
63046 2007-03-11  Bruno Haible  <bruno@clisp.org>
63047
63048         * modules/i-ring (Depends-on): Add stdbool.
63049
63050 2007-03-11  Bruno Haible  <bruno@clisp.org>
63051
63052         * modules/gc-des (Depends-on): Add stdbool.
63053
63054 2007-03-11  Bruno Haible  <bruno@clisp.org>
63055
63056         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
63057
63058 2007-03-11  Bruno Haible  <bruno@clisp.org>
63059
63060         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
63061
63062 2007-03-11  Bruno Haible  <bruno@clisp.org>
63063
63064         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
63065
63066 2007-03-11  Bruno Haible  <bruno@clisp.org>
63067
63068         * lib/vasnprintf.c (sprintf): Undefine.
63069
63070 2007-03-11  Bruno Haible  <bruno@clisp.org>
63071
63072         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
63073         initializers in SunPRO C and Compaq C compilers.
63074
63075 2007-03-11  Bruno Haible  <bruno@clisp.org>
63076
63077         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
63078         decrementing code ANSI C compliant.
63079
63080 2007-03-11  Bruno Haible  <bruno@clisp.org>
63081
63082         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
63083         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
63084
63085 2007-03-11  Bruno Haible  <bruno@clisp.org>
63086
63087         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
63088         <stdbool.h> substitute doesn't pass.
63089
63090 2007-03-11  Bruno Haible  <bruno@clisp.org>
63091
63092         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
63093
63094 2007-03-11  Bruno Haible  <bruno@clisp.org>
63095
63096         * gnulib-tool (func_create_megatestdir): Create also an autobuild
63097         script, for submission to autobuild.josefsson.org.
63098
63099 2007-03-10  Bruno Haible  <bruno@clisp.org>
63100
63101         * modules/canonicalize-lgpl-tests: New file.
63102         * tests/test-canonicalize-lgpl.sh: New file.
63103         * tests/test-canonicalize-lgpl.c: New file.
63104
63105         * modules/c-strcase-tests: New file.
63106         * tests/test-c-strcase.sh: New file.
63107         * tests/test-c-strcasecmp.c: New file.
63108         * tests/test-c-strncasecmp.c: New file.
63109
63110         * modules/atexit-tests: New file.
63111         * tests/test-atexit.sh: New file.
63112         * tests/test-atexit.c: New file.
63113
63114 2007-03-10  Bruno Haible  <bruno@clisp.org>
63115
63116         * tests/test-binary-io.sh: Use temporary filenames that are not so
63117         likely to clash with those of other tests (in a parallel make).
63118         * tests/test-binary-io.c: Likewise.
63119
63120 2007-03-10  Bruno Haible  <bruno@clisp.org>
63121
63122         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
63123         fallback; use #error instead.
63124         Suggested by Simon Josefsson.
63125
63126 2007-03-10  Bruno Haible  <bruno@clisp.org>
63127
63128         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
63129         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
63130         first and the last.
63131
63132 2007-03-10  Bruno Haible  <bruno@clisp.org>
63133
63134         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
63135
63136 2007-03-10  Bruno Haible  <bruno@clisp.org>
63137
63138         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
63139         "make distcheck".
63140         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
63141         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
63142         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
63143
63144 2007-03-10  Bruno Haible  <bruno@clisp.org>
63145
63146         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
63147         variable.
63148         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
63149         variable.
63150
63151 2007-03-09  Eric Blake  <ebb9@byu.net>
63152         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
63153
63154         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
63155         types are not being provided by gnulib.
63156         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
63157         types are supported.
63158
63159 2007-03-10  Bruno Haible  <bruno@clisp.org>
63160
63161         * lib/stdio_.h (__attribute__): New macro.
63162         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
63163         vsprintf): Specify __attribute__ __format__ for GCC.
63164         Suggested by Eric Blake.
63165
63166 2007-03-09  Bruno Haible  <bruno@clisp.org>
63167
63168         * modules/printf-posix-tests: New file.
63169         * tests/test-printf-posix.sh: New file.
63170         * tests/test-printf-posix.c: New file.
63171
63172         * modules/printf-posix: New file.
63173         * lib/printf.c: New file.
63174         * m4/printf-posix-rpl.m4: New file.
63175         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
63176         REPLACE_PRINTF.
63177         * lib/stdio_.h (printf): New declaration.
63178         (format, __format__, ____printf____, ____scanf____, ____strftime____,
63179         ____strfmon____): New macros.
63180         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
63181         REPLACE_PRINTF.
63182
63183 2007-03-09  Bruno Haible  <bruno@clisp.org>
63184
63185         * tests/test-vasnprintf-posix2.sh: New file.
63186         * tests/test-vasnprintf-posix2.c: New file.
63187         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
63188         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
63189         (Makefile.am): Activate test-vasnprintf-posix2.sh.
63190
63191         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
63192         a locale dependent decimal point, rather than always '.'.
63193
63194 2007-03-09  Eric Blake  <ebb9@byu.net>
63195
63196         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
63197         spite of platforms like Tandem/NSK that define it to -1.
63198
63199 2007-03-08  Bruno Haible  <bruno@clisp.org>
63200
63201         * modules/vprintf-posix-tests: New file.
63202         * tests/test-vprintf-posix.sh: New file.
63203         * tests/test-vprintf-posix.c: New file.
63204         * tests/test-printf-posix.h: New file.
63205
63206         * modules/vprintf-posix: New file.
63207         * lib/vprintf.c: New file.
63208         * m4/vprintf-posix.m4: New file.
63209         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
63210         REPLACE_VPRINTF.
63211         * lib/stdio_.h (vprintf): New declaration.
63212         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
63213         REPLACE_VPRINTF.
63214
63215 2007-03-08  Bruno Haible  <bruno@clisp.org>
63216
63217         * modules/fprintf-posix-tests: New file.
63218         * tests/test-fprintf-posix.sh: New file.
63219         * tests/test-fprintf-posix.c: New file.
63220
63221         * modules/fprintf-posix: New file.
63222         * lib/fprintf.c: New file.
63223         * m4/fprintf-posix.m4: New file.
63224         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
63225         REPLACE_FPRINTF.
63226         * lib/stdio_.h (fprintf): New declaration.
63227         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
63228         REPLACE_FPRINTF.
63229
63230 2007-03-08  Bruno Haible  <bruno@clisp.org>
63231
63232         * modules/vfprintf-posix-tests: New file.
63233         * tests/test-vfprintf-posix.sh: New file.
63234         * tests/test-vfprintf-posix.c: New file.
63235         * tests/test-fprintf-posix.h: New file.
63236         * tests/test-fprintf-posix.out: New file.
63237
63238         * modules/vfprintf-posix: New file.
63239         * lib/vfprintf.c: New file.
63240         * m4/vfprintf-posix.m4: New file.
63241         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
63242         REPLACE_VFPRINTF.
63243         * lib/stdio_.h (vfprintf): New declaration.
63244         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
63245         REPLACE_VFPRINTF.
63246
63247 2007-03-08  Bruno Haible  <bruno@clisp.org>
63248
63249         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
63250
63251 2007-03-08  Bruno Haible  <bruno@clisp.org>
63252
63253         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
63254         instead of 'expr' invocations.
63255         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63256         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63257         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63258         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63259         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63260         Suggested by Paul Eggert.
63261
63262 2007-03-08  Bruno Haible  <bruno@clisp.org>
63263
63264         * modules/fseterr-tests: New file.
63265         * tests/test-fseterr.c: New file.
63266
63267         * modules/fseterr: New file.
63268         * lib/fseterr.h: New file.
63269         * lib/fseterr.c: New file.
63270
63271 2007-03-08  Bruno Haible  <bruno@clisp.org>
63272
63273         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
63274         * lib/getopt_.h: Likewise.
63275         * lib/mbswidth.h: Likewise.
63276         * lib/setenv.h: Likewise.
63277         * lib/vasnprintf.h: Likewise.
63278         * lib/vasprintf.h: Likewise.
63279         * lib/verror.h: Likewise.
63280         * lib/xsetenv.h: Likewise.
63281         * lib/xvasprintf.h: Likewise.
63282
63283 2007-03-08  Jim Meyering  <jim@meyering.net>
63284
63285         * users.txt: Add parted.
63286
63287         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
63288
63289 2007-03-07  Bruno Haible  <bruno@clisp.org>
63290
63291         * m4/printf.m4: Make the shell script snippets copy&pastable.
63292
63293 2007-03-02  Bruno Haible  <bruno@clisp.org>
63294
63295         * lib/netinet_in_.h: New file.
63296         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
63297         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
63298         * modules/netinet_in (Files): Add lib/netinet_in_.h.
63299         (Depends-on): Add absolute-header.
63300         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
63301         into netinet/in.h.
63302
63303 2007-03-03  Bruno Haible  <bruno@clisp.org>
63304
63305         * lib/sys_select_.h: New file.
63306         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
63307         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
63308         * modules/sys_select (Files): Add lib/sys_select_.h.
63309         (Depends-on): Add absolute-header.
63310         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
63311         into sys/select.h.
63312
63313 2007-03-02  Bruno Haible  <bruno@clisp.org>
63314
63315         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
63316         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
63317         values.
63318         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
63319         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
63320         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
63321         * modules/sys_socket (Depends-on): Add absolute-header.
63322         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
63323         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
63324         (Include): Remove requirement of inclusion of <sys/types.h>.
63325
63326 2007-03-02  Bruno Haible  <bruno@clisp.org>
63327
63328         * lib/byteswap_.h (bswap_32): Fix formula.
63329
63330 2007-03-06  Bruno Haible  <bruno@clisp.org>
63331
63332         * modules/sprintf-posix-tests: New file.
63333         * tests/test-sprintf-posix.c: New file.
63334
63335         * modules/sprintf-posix: New file.
63336         * lib/sprintf.c: New file.
63337         * m4/sprintf-posix.m4: New file.
63338         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
63339         REPLACE_SPRINTF.
63340         * lib/stdio_.h (sprintf): New declaration.
63341         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
63342         REPLACE_SPRINTF.
63343
63344 2007-03-06  Bruno Haible  <bruno@clisp.org>
63345
63346         * modules/vsprintf-posix-tests: New file.
63347         * tests/test-vsprintf-posix.c: New file.
63348         * tests/test-sprintf-posix.h: New file.
63349
63350         * modules/vsprintf-posix: New file.
63351         * lib/vsprintf.c: New file.
63352         * m4/vsprintf-posix.m4: New file.
63353         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
63354         REPLACE_VSPRINTF.
63355         * lib/stdio_.h (vsprintf): New declaration.
63356         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
63357         REPLACE_VSPRINTF.
63358
63359 2007-03-06  Bruno Haible  <bruno@clisp.org>
63360
63361         * modules/vsnprintf (Depend-on): Remove minmax.
63362
63363 2007-03-06  Bruno Haible  <bruno@clisp.org>
63364
63365         * modules/snprintf-posix-tests: New file.
63366         * tests/test-snprintf-posix.c: New file.
63367
63368         * modules/snprintf-posix: New file.
63369         * m4/snprintf-posix.m4: New file.
63370         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
63371         gl_FUNC_SNPRINTF.
63372         (gl_FUNC_SNPRINTF): Invoke it.
63373         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
63374         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
63375         is set.
63376         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
63377
63378 2007-03-06  Bruno Haible  <bruno@clisp.org>
63379
63380         * modules/vsnprintf-posix-tests: New file.
63381         * tests/test-vsnprintf-posix.c: New file.
63382         * tests/test-snprintf-posix.h: New file.
63383
63384         * modules/vsnprintf-posix: New file.
63385         * m4/vsnprintf-posix.m4: New file.
63386         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
63387         gl_FUNC_VSNPRINTF.
63388         (gl_FUNC_VSNPRINTF): Invoke it.
63389         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
63390         * lib/stdio_.h (vsnprintf): Define as a replacement if
63391         REPLACE_VSNPRINTF is set.
63392         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
63393
63394 2007-03-06  Bruno Haible  <bruno@clisp.org>
63395
63396         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
63397         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
63398
63399 2007-03-06  Bruno Haible  <bruno@clisp.org>
63400
63401         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
63402         (asinl): Declare also if HAVE_DECL_ASINL is set.
63403         (atanl): Declare also if HAVE_DECL_ATANL is set.
63404         (ceill): Declare also if HAVE_DECL_CEILL is set.
63405         (cosl): Declare also if HAVE_DECL_COSL is set.
63406         (expl): Declare also if HAVE_DECL_EXPL is set.
63407         (floorl): Declare also if HAVE_DECL_FLOORL is set.
63408         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
63409         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
63410         (logl): Declare also if HAVE_DECL_LOGL is set.
63411         (sinl): Declare also if HAVE_DECL_SINL is set.
63412         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
63413         (tanl): Declare also if HAVE_DECL_TANL is set.
63414         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
63415         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
63416         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
63417         declaration of frexpl, ldexpl.
63418         * modules/printf-frexpl (Depends-on): Add math.
63419         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
63420
63421 2007-03-05  Bruno Haible  <bruno@clisp.org>
63422
63423         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
63424         frexpl and ldexpl are declared.
63425         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
63426
63427 2007-03-05  Bruno Haible  <bruno@clisp.org>
63428
63429         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
63430         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
63431
63432 2007-03-05  Bruno Haible  <bruno@clisp.org>
63433
63434         * lib/stdio_.h: Include <stddef.h>.
63435
63436 2007-03-05  Bruno Haible  <bruno@clisp.org>
63437
63438         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
63439
63440 2007-03-05  Bruno Haible  <bruno@clisp.org>
63441
63442         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
63443         NetBSD 4, from Ralf Wildenhues.
63444
63445 2007-03-04  Bruno Haible  <bruno@clisp.org>
63446
63447         * lib/vasprintf.h: Update #if logic for the case when the functions
63448         exist but are overridden.
63449
63450 2007-03-04  Bruno Haible  <bruno@clisp.org>
63451
63452         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
63453         implementations: glibc-2.4 and MacOS X 10.3.
63454         * tests/test-vasnprintf-posix.c (test_function): Test also the case
63455         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
63456         * tests/test-vasprintf-posix.c (test_function): Likewise.
63457
63458 2007-03-04  Bruno Haible  <bruno@clisp.org>
63459
63460         * modules/vasprintf-posix-tests: New file.
63461         * tests/test-vasprintf-posix.c: New file.
63462
63463         * modules/vasprintf-posix: New file.
63464         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
63465         defined.
63466         * m4/vasprintf-posix.m4: New file.
63467         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
63468         gl_FUNC_VASPRINTF.
63469         (gl_FUNC_VASPRINTF): Invoke it.
63470         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
63471         here.
63472         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
63473
63474 2007-03-04  Bruno Haible  <bruno@clisp.org>
63475
63476         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
63477         REPLACE_GETTIMEOFDAY.
63478         * modules/sys_time (Makefile.am): Likewise.
63479         * m4/sys_time_h.m4: Likewise.
63480         * m4/gettimeofday.m4: Likewise.
63481
63482 2007-03-04  Bruno Haible  <bruno@clisp.org>
63483
63484         * modules/vasnprintf-posix-tests: New file.
63485         * tests/test-vasnprintf-posix.c: New file.
63486
63487         * modules/vasnprintf-posix: New file.
63488         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
63489         printf-frexpl.h.
63490         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
63491         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
63492         REPLACE_VASNPRINTF is defined.
63493         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
63494         gl_FUNC_VASNPRINTF.
63495         (gl_FUNC_VASNPRINTF): Invoke it.
63496         * m4/vasnprintf-posix.m4: New file.
63497         * m4/printf.m4: New file.
63498
63499 2007-03-04  Bruno Haible  <bruno@clisp.org>
63500
63501         Compile progreloc.c only if --enable-relocatable is specified.
63502         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
63503         if --enable-relocatable was specified.
63504         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
63505         lib_SOURCES.
63506
63507 2007-03-04  Jim Meyering  <jim@meyering.net>
63508
63509         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
63510         Use it consistently, rather than enumerating errno constants.
63511
63512 2007-03-04  Bruno Haible  <bruno@clisp.org>
63513
63514         * modules/xvasprintf-tests: New file.
63515         * tests/test-xvasprintf.c: New file.
63516
63517         * modules/vasprintf-tests: New file.
63518         * tests/test-vasprintf.c: New file.
63519
63520         * modules/vasnprintf-tests: New file.
63521         * tests/test-vasnprintf.c: New file.
63522
63523         * modules/vsnprintf-tests: New file.
63524         * tests/test-vsnprintf.c: New file.
63525
63526         * modules/snprintf-tests: New file.
63527         * tests/test-snprintf.c: New file.
63528
63529 2007-03-04  Bruno Haible  <bruno@clisp.org>
63530
63531         Compile relocatable.c only if --enable-relocatable is specified.
63532         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
63533         gl_RELOCATABLE_LIBRARY.
63534         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
63535         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
63536         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
63537         gl_RELOCATABLE_LIBRARY.
63538         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
63539         (Makefile.am): Remove lib_SOURCES.
63540         * modules/relocatable-lib-lgpl (configure.ac): Invoke
63541         gl_RELOCATABLE_LIBRARY.
63542         (Makefile.am): Remove lib_SOURCES.
63543         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
63544         always.
63545         * modules/relocatable-prog-wrapper (configure.ac): Invoke
63546         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
63547
63548 2007-03-04  Bruno Haible  <bruno@clisp.org>
63549
63550         * modules/argmatch-tests: New file.
63551         * tests/test-argmatch.c: New file.
63552
63553         * tests/test-allocsa.c (main): Halve the number of loop runs.
63554
63555         * modules/alloca-opt-tests: New file.
63556         * tests/test-alloca-opt.c: New file.
63557
63558 2007-03-04  Jim Meyering  <jim@meyering.net>
63559
63560         Work around difference between Linux ACLs and Solaris 10 ZFS.
63561         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
63562         for EINVAL.
63563
63564 2007-03-03  Bruno Haible  <bruno@clisp.org>
63565
63566         * modules/relocatable-prog (Depends-on): Add back progreloc's
63567         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
63568
63569 2007-03-03  Bruno Haible  <bruno@clisp.org>
63570
63571         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
63572         * modules/relocatable-lib: New file.
63573
63574 2007-03-03  Bruno Haible  <bruno@clisp.org>
63575
63576         * modules/relocatable-prog: Renamed from modules/relocatable.
63577         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
63578
63579 2007-03-03  Bruno Haible  <bruno@clisp.org>
63580
63581         * modules/relocatable-script (Files): Add doc/relocatable.texi,
63582         m4/relocatable-lib.m4.
63583         (Depends-on): Remove 'relocatable'.
63584         (configure.ac): Add gl_RELOCATABLE_NOP.
63585
63586 2007-03-03  Bruno Haible  <bruno@clisp.org>
63587
63588         * modules/relocatable-prog-wrapper: New file.
63589         * modules/relocatable (Depends-on): Add it. Remove all other
63590         dependencies except progname.
63591         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
63592
63593         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
63594         (gl_FUNC_STRERROR): Nop.
63595         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
63596
63597         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
63598         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
63599
63600         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
63601         (gl_FUNC_READLINK): Update.
63602
63603         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
63604
63605 2007-03-03  Bruno Haible  <bruno@clisp.org>
63606
63607         * lib/xreadlink.c: Include <unistd.h> unconditionally.
63608         * modules/xreadlink (Depends-on): Add unistd.
63609         * modules/xreadlink-with-size (Depends-on): Likewise.
63610
63611 2007-03-03  Bruno Haible  <bruno@clisp.org>
63612
63613         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
63614         extracted from gt_FUNC_SETENV.
63615         (gt_FUNC_SETENV): Remove macro.
63616         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
63617         remove gt_FUNC_SETENV.
63618
63619 2007-03-03  Bruno Haible  <bruno@clisp.org>
63620
63621         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
63622         ENABLE_RELOCATABLE here.
63623         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
63624
63625 2007-03-03  Bruno Haible  <bruno@clisp.org>
63626
63627         * modules/rbtreehash-list-tests (Depends-on): Add progname.
63628         * tests/test-rbtreehash_list.c: Include progname.h.
63629         (main): Call set_program_name.
63630
63631         * modules/rbtree-oset-tests (Depends-on): Add progname.
63632         * tests/test-rbtree_oset.c: Include progname.h.
63633         (main): Call set_program_name.
63634
63635         * modules/rbtree-list-tests (Depends-on): Add progname.
63636         * tests/test-rbtree_list.c: Include progname.h.
63637         (main): Call set_program_name.
63638
63639         * modules/linked-list-tests (Depends-on): Add progname.
63640         * tests/test-linked_list.c: Include progname.h.
63641         (main): Call set_program_name.
63642
63643 2007-03-03  Bruno Haible  <bruno@clisp.org>
63644
63645         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
63646         All uses of __restrict changed to _Restrict_.
63647         * lib/glob_.h (__restrict): Remove macro.
63648
63649 2007-03-02  Bruno Haible  <bruno@clisp.org>
63650
63651         * modules/gettext (configure.ac): Require gettext infrastructure
63652         from version 0.16.1.
63653
63654 2007-03-02  Bruno Haible  <bruno@clisp.org>
63655
63656         * modules/linkedhash-list-tests (Depends-on): Add progname.
63657         * tests/test-linkedhash_list.c: Include progname.h.
63658         (main): Call set_program_name.
63659
63660         * modules/carray-list-tests (Depends-on): Add progname.
63661         * tests/test-carray_list.c: Include progname.h.
63662         (main): Call set_program_name.
63663
63664         * modules/avltreehash-list-tests (Depends-on): Add progname.
63665         * tests/test-avltreehash_list.c: Include progname.h.
63666         (main): Call set_program_name.
63667
63668         * modules/avltree-oset-tests (Depends-on): Add progname.
63669         * tests/test-avltree_oset.c: Include progname.h.
63670         (main): Call set_program_name.
63671
63672         * modules/avltree-list-tests (Depends-on): Add progname.
63673         * tests/test-avltree_list.c: Include progname.h.
63674         (main): Call set_program_name.
63675
63676         * modules/array-oset-tests (Depends-on): Add progname.
63677         * tests/test-array_oset.c: Include progname.h.
63678         (main): Call set_program_name.
63679
63680         * modules/array-list-tests (Depends-on): Add progname.
63681         * tests/test-array_list.c: Include progname.h.
63682         (main): Call set_program_name.
63683
63684         * modules/argp-tests (Depends-on): Add progname.
63685         * tests/test-argp.c: Include argp.h first. Include progname.h.
63686         (main): Call set_program_name.
63687
63688 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
63689
63690         * doc/gnulib-tool.texi (Initial import): Reword description of
63691         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
63692         limited effect even if defined after the first system include.
63693
63694 2007-03-01  Bruno Haible  <bruno@clisp.org>
63695
63696         * build-aux/config.libpath: Update to libtool-1.5.22.
63697         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
63698
63699 2007-03-01  Bruno Haible  <bruno@clisp.org>
63700
63701         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
63702         foo_CFLAGS.
63703         Reported by Ralf Wildenhues.
63704
63705 2007-03-01  Bruno Haible  <bruno@clisp.org>
63706
63707         * build-aux/install-reloc: Remove object files left over by some
63708         compilers.
63709         Reported by Ralf Wildenhues.
63710
63711 2007-03-01  Bruno Haible  <bruno@clisp.org>
63712
63713         * build-aux/install-reloc: Break long lines.
63714
63715 2007-03-01  Bruno Haible  <bruno@clisp.org>
63716
63717         * doc/relocatable.texi: Document that it may not work on OpenBSD.
63718         Reported by Ralf Wildenhues.
63719
63720 2007-03-01  Bruno Haible  <bruno@clisp.org>
63721
63722         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
63723         include ordering constraints.
63724
63725 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
63726
63727         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
63728         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
63729         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
63730         as another example.
63731         * lib/time_.h: Fix misspelling.
63732         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
63733         Require gl_HEADER_TIME_H_DEFAULTS.
63734         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
63735         * m4/time_r.m4 (gl_TIME_R): Likewise.
63736         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
63737
63738 2007-03-01  Bruno Haible  <bruno@clisp.org>
63739
63740         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
63741         * m4/utimens.m4 (gl_UTIMENS): Likewise.
63742
63743 2007-03-01  Jim Meyering  <jim@meyering.net>
63744
63745         * modules/xreadlink (Maintainer): Add my name.
63746         * modules/xreadlink-with-size (Depends-on): Alphabetize.
63747
63748 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
63749             Bruno Haible  <bruno@clisp.org>
63750
63751         * build-aux/install-reloc: Compile also c-ctype.c.
63752         * build-aux/relocatable.sh.in: New file.
63753         * doc/relocatable.texi: New file.
63754         * doc/relocatable-maint.texi: New file.
63755         * doc/gnulib.texi: Include relocatable-maint.texi.
63756         * lib/progreloc.c: Include unistd.h unconditionally.
63757         * lib/relocwrapper.c: Include unistd.h unconditionally.
63758         Include c-ctype.h.
63759         (add_dotbin): Use c_tolower.
63760         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
63761         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
63762         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
63763         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
63764         to m4/relocatable-lib.m4.
63765         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
63766         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
63767         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
63768         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
63769         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
63770         * modules/relocatable: New file.
63771         * modules/relocatable-lib: New file.
63772         * modules/relocatable-script: New file.
63773
63774 2007-02-28  Bruno Haible  <bruno@clisp.org>
63775
63776         Import --enable-relocatable infrastructure.
63777         * build-aux/config.libpath: New file, from GNU gettext.
63778         * build-aux/install-reloc: New file, from GNU gettext.
63779         * build-aux/reloc-ldflags: New file, from GNU gettext.
63780         * lib/relocatable.h: New file, from GNU gettext.
63781         * lib/relocatable.c: New file, from GNU gettext.
63782         * lib/relocwrapper.c: New file, from GNU gettext.
63783         * m4/relocatable.m4: New file, from GNU gettext.
63784
63785 2007-02-28  Bruno Haible  <bruno@clisp.org>
63786
63787         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
63788
63789         * modules/xreadlink: New file, from GNU gettext with modifications.
63790         * lib/xreadlink.c: New file, from GNU gettext.
63791         * lib/xreadlink.h: Add comments.
63792         (xreadlink): New declaration.
63793
63794         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
63795         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
63796         lib/xreadlink-with-size.c.
63797         (configure.ac): Remove gl_XREADLINK invocation.
63798         (Makefile.am): Augment lib_SOURCES.
63799         * m4/xreadlink.m4: Remove file.
63800         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
63801         (xreadlink_with_size): Renamed from xreadink.
63802         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
63803         * modules/canonicalize (Depends-on): Replace xreadlink with
63804         xreadlink-with-size.
63805         * lib/canonicalize.c (canonicalize_filename_mode): Update.
63806
63807 2007-02-25  Jim Meyering  <jim@meyering.net>
63808
63809         * build-aux/announce-gen: When complaining about excess arguments,
63810         list them.
63811
63812 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
63813
63814         * README: Document signed integer overflow situation more
63815         accurately.
63816
63817 2007-02-25  Bruno Haible  <bruno@clisp.org>
63818
63819         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
63820         'a' or 'A' conversion.
63821
63822 2007-02-25  Bruno Haible  <bruno@clisp.org>
63823
63824         * modules/filename: Renamed from modules/pathname.
63825         (Files): Replace lib/pathname.h with lib/filename.h. Replace
63826         lib/concatpath.c with lib/concat-filename.c.
63827         (Makefile.am): Update.
63828         (Include): Replace pathname.h with filename.h.
63829         * lib/filename.h: Renamed from lib/pathname.h.
63830         (concatenated_filename): Renamed from concatenated_pathname.
63831         * lib/concat-filename.c: Renamed from lib/concatpath.c.
63832         (concatenated_filename): Renamed from concatenated_pathname.
63833         * lib/findprog.c: Include filename.h instead of pathname.h.
63834         (find_in_path): Update.
63835         * lib/javacomp.c: Include filename.h instead of pathname.h.
63836         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
63837         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
63838         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
63839         is_oldgcj_14_13_usable, is_javac_usable): Update.
63840         * lib/javaexec.c: Include filename.h instead of pathname.h.
63841         (execute_java_class): Update.
63842         * modules/findprog: Update.
63843         * modules/javacomp: Update.
63844         * modules/javaexec: Update.
63845         * MODULES.html.sh (File system functions): Add 'filename', remove
63846         'pathname'.
63847
63848 2007-02-25  Bruno Haible  <bruno@clisp.org>
63849
63850         * modules/printf-frexpl-tests: New file.
63851         * tests/test-printf-frexpl.c: New file.
63852
63853         * modules/printf-frexpl: New file.
63854         * lib/printf-frexpl.h: New file.
63855         * lib/printf-frexpl.c: New file.
63856         * m4/printf-frexpl.m4: New file.
63857
63858 2007-02-25  Bruno Haible  <bruno@clisp.org>
63859
63860         * modules/printf-frexp-tests: New file.
63861         * tests/test-printf-frexp.c: New file.
63862
63863         * modules/printf-frexp: New file.
63864         * lib/printf-frexp.h: New file.
63865         * lib/printf-frexp.c: New file.
63866         * m4/printf-frexp.m4: New file.
63867
63868 2007-02-25  Bruno Haible  <bruno@clisp.org>
63869
63870         Assume automake >= 1.10 for the tests.
63871         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
63872         * modules/arctwo-tests: Likewise.
63873         * modules/argp-tests: Likewise.
63874         * modules/avltree-list-tests: Likewise.
63875         * modules/avltree-oset-tests: Likewise.
63876         * modules/avltreehash-list-tests: Likewise.
63877         * modules/carray-list-tests: Likewise.
63878         * modules/crc-tests: Likewise.
63879         * modules/des-tests: Likewise.
63880         * modules/gc-arcfour-tests: Likewise.
63881         * modules/gc-arctwo-tests: Likewise.
63882         * modules/gc-des-tests: Likewise.
63883         * modules/gc-hmac-md5-tests: Likewise.
63884         * modules/gc-hmac-sha1-tests: Likewise.
63885         * modules/gc-md2-tests: Likewise.
63886         * modules/gc-md4-tests: Likewise.
63887         * modules/gc-md5-tests: Likewise.
63888         * modules/gc-pbkdf2-sha1-tests: Likewise.
63889         * modules/gc-rijndael-tests: Likewise.
63890         * modules/gc-sha1-tests: Likewise.
63891         * modules/gc-tests: Likewise.
63892         * modules/getaddrinfo-tests: Likewise.
63893         * modules/hmac-md5-tests: Likewise.
63894         * modules/hmac-sha1-tests: Likewise.
63895         * modules/linked-list-tests: Likewise.
63896         * modules/linkedhash-list-tests: Likewise.
63897         * modules/lock-tests: Likewise.
63898         * modules/md2-tests: Likewise.
63899         * modules/md4-tests: Likewise.
63900         * modules/md5-tests: Likewise.
63901         * modules/rbtree-list-tests: Likewise.
63902         * modules/rbtree-oset-tests: Likewise.
63903         * modules/rbtreehash-list-tests: Likewise.
63904         * modules/read-file-tests: Likewise.
63905         * modules/rijndael-tests: Likewise.
63906         * modules/stdint-tests: Likewise.
63907         * modules/tls-tests: Likewise.
63908
63909 2007-02-24  Bruno Haible  <bruno@clisp.org>
63910
63911         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
63912         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
63913         function; instead check whether isnan with a double argument links.
63914         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
63915         function; instead check whether isnan with a 'long double' argument
63916         links.
63917         Reported by Eric Blake <ebb9@byu.net>.
63918
63919 2007-02-24  Bruno Haible  <bruno@clisp.org>
63920
63921         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
63922         defined.
63923         * lib/isnanl.c: Remove all code. Just include isnan.c.
63924         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
63925
63926 2007-02-25  Jim Meyering  <jim@meyering.net>
63927
63928         Avoid conflicting types for 'unsetenv' on FreeBSD.
63929         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
63930         conflicting with FreeBSD's (5.0 and 6.1) function declaration
63931         in stdlib.h.
63932
63933 2007-02-24  Bruno Haible  <bruno@clisp.org>
63934
63935         * modules/isnanl-nolibm-tests: New file.
63936         * tests/test-isnanl.c: New file.
63937
63938         * modules/isnanl-nolibm: New file.
63939         * lib/isnanl.h: New file.
63940         * lib/isnanl.c: New file.
63941         * m4/isnanl.m4: New file.
63942
63943 2007-02-24  Bruno Haible  <bruno@clisp.org>
63944
63945         * modules/isnan-nolibm-tests: New file.
63946         * tests/test-isnan.c: New file.
63947
63948         * modules/isnan-nolibm: New file.
63949         * lib/isnan.h: New file.
63950         * lib/isnan.c: New file.
63951         * m4/isnan.m4: New file.
63952
63953 2007-02-24  Bruno Haible  <bruno@clisp.org>
63954
63955         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
63956         assume that an exponent fits in 20 bits.
63957
63958 2007-02-24  Jim Meyering  <jim@meyering.net>
63959
63960         * m4/regex.m4: Update the description of the configure-time option,
63961         --without-included-regex, to state accurately what the defaults are,
63962         and perhaps to give people an idea why using this option is risky.
63963
63964 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
63965
63966         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
63967         loops on small arguments.  This attempts to avoid the problem
63968         Bruno Haible reported for AIX 4.3.2 in
63969         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
63970
63971 2007-02-23  Bruno Haible  <bruno@clisp.org>
63972
63973         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
63974         Needed for help2man.
63975
63976 2007-02-23  Karl Berry  <karl@gnu.org>
63977
63978         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
63979         exists, foo.h should be cvs-ignored, not committed.
63980
63981 2007-02-23  Eric Blake  <ebb9@byu.net>
63982
63983         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
63984         * lib/stat-time.h (includes): Likewise.
63985         * lib/utimecmp.c (includes): Likewise.
63986         * lib/utimens.h (includes): Likewise.
63987         * lib/getdate.y (includes): Also include "timespec.h" for use
63988         internal to the module.
63989         * modules/utimens (Depends-on): Revert yesterday's patch.
63990         * modules/nanosleep (Depends-on): Add missing dependency.
63991
63992 2007-02-22  Bruno Haible  <bruno@clisp.org>
63993
63994         * lib/glob.c: Don't include getlogin_r.h.
63995
63996 2007-02-22  Jim Meyering  <jim@meyering.net>
63997
63998         * modules/utimens (Depends-on): Add timespec, required for
63999         utimens.h's inclusion of timespec.h.
64000
64001 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
64002
64003         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
64004         long unreadable paths in GNU/Linux.  Problem reported by Andreas
64005         Schwab in
64006         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
64007         I'll try to think of a better way to fix the Solaris problem.
64008
64009         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
64010         like glibc; on Solaris 10, it fails with errno == EINVAL.
64011         POSIX says the behavior is unspecified if the first argument is NULL,
64012         so play it safe and never pass NULL to the system getcwd.
64013
64014 2007-02-21  Jim Meyering  <jim@meyering.net>
64015
64016         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
64017         of gettimeofday.  It would conflict with the one now always
64018         provided via sys_time_.h.  Reported by Matthew Woehlke, as
64019         an IRIX 6.5 build failure.
64020
64021 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
64022
64023         Minor fixups to port to Solaris 10 with Sun C 5.8.
64024         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
64025         * modules/getcwd (Depends-on): Add dirfd.
64026         * lib/putenv.c (putenv): #undef it.
64027         (rpl_putenv): New decl.
64028         (malloc, free): Include <stdlib.h> rather than prototyping separately.
64029
64030 2007-02-20  Bruno Haible  <bruno@clisp.org>
64031
64032         * modules/stdio-tests: New file.
64033         * tests/test-stdio.c: New file.
64034
64035         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
64036         (Depends-on): Add stdio.
64037         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
64038         (Include): Use <stdio.h> instead of vsnprintf.h.
64039         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
64040         HAVE_DECL_VSNPRINTF.
64041         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
64042
64043         * modules/snprintf (Files): Remove lib/snprintf.h.
64044         (Depends-on): Add stdio.
64045         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
64046         (Include): Use <stdio.h> instead of snprintf.h.
64047         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
64048         HAVE_DECL_SNPRINTF.
64049         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
64050         * lib/getaddrinfo.c: Likewise.
64051
64052         * modules/stdio: New file.
64053         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
64054         * lib/snprintf.h: Remove file.
64055         * lib/vsnprintf.h: Remove file.
64056         * lib/.cppi-disable: Remove snprintf.h.
64057         * m4/stdio_h.m4: New file.
64058         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
64059
64060 2007-02-20  Jim Meyering  <jim@meyering.net>
64061
64062         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
64063         used by e.g., mingw.  From Bruno Haible.
64064
64065 2007-02-19  Bruno Haible  <bruno@clisp.org>
64066
64067         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
64068         warnings.
64069         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64070
64071 2007-02-19  Bruno Haible  <bruno@clisp.org>
64072
64073         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
64074         from mingw users.
64075
64076 2007-02-19  Bruno Haible  <bruno@clisp.org>
64077
64078         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
64079         warnings.
64080         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
64081
64082 2007-02-19  Jim Meyering  <jim@meyering.net>
64083
64084         Don't use FD after a successful "fdopendir (fd)".
64085         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
64086         Reset it by calling dirfd on the just-obtained DIR*.
64087
64088         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
64089         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
64090
64091 2007-02-18  Bruno Haible  <bruno@clisp.org>
64092
64093         * lib/readlink.c: Include <unistd.h>.
64094         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
64095         HAVE_READLINK.
64096         * modules/readlink (Depends-on): Add unistd.
64097         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64098         (Include): Add <unistd.h>.
64099
64100         * lib/getlogin_r.h: Remove file.
64101         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
64102         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
64103         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
64104         HAVE_DECL_GETLOGIN_R.
64105         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
64106         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64107         (Include): Use <unistd.h> instead of getlogin_r.h.
64108
64109         * lib/getcwd.h: Remove file.
64110         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
64111         * lib/xgetcwd.c: Likewise.
64112         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
64113         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
64114         * modules/getcwd (Files): Remove lib/getcwd.h.
64115         (Depends-on): Add unistd.
64116         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64117         (Include): Use <unistd.h> instad of getcwd.h.
64118
64119         * lib/ftruncate.c: Include <unistd.h> first.
64120         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
64121         Set HAVE_FTRUNCATE.
64122         * modules/ftruncate (Depends-on): Add unistd.
64123         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64124
64125         * lib/fchdir.c: Include <unistd.h> first.
64126         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
64127         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
64128         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
64129         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64130         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
64131
64132         * lib/dup2.c: Include <unistd.h> first.
64133         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
64134         HAVE_DUP2.
64135         * modules/dup2 (Depends-on): Add unistd.
64136         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64137
64138         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
64139         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
64140         REPLACE_CHOWN. Don't define chown as a macro here.
64141         * modules/chown (Depends-on): Add unistd.
64142         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
64143
64144         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
64145         Add definition for GL_LINK_WARNING.
64146         (chown, dup2): New declarations.
64147         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
64148         link warning.
64149         (ftruncate): New declaration.
64150         (getcwd): New declaration, taken from old getcwd.h.
64151         (getlogin_r): New declaration, taken from old getlogin_r.h.
64152         (readlink): New declaration.
64153         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
64154         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
64155         (gl_PREREQ_UNISTD): Remove macro.
64156         (gl_UNISTD_MODULE_INDICATOR): New macro.
64157         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
64158         many new variables. Don't set UNISTD_H.
64159         * modules/unistd (Description): Change.
64160         (Depends-on): Add link-warning.
64161         (configure.ac): Update.
64162         (Makefile.am): Create unistd.h always. Substitute many new variables
64163         into it.
64164
64165 2007-02-18  Bruno Haible  <bruno@clisp.org>
64166
64167         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
64168         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
64169         HAVE_GETSUBOPT.
64170         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
64171         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
64172         * lib/getsubopt.h: Remove file.
64173         * modules/getsubopt (Files): Remove lib/getsubopt.h.
64174         (Depends-on): Add stdlib.
64175         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64176         (Includes): Use <stdlib.h> instead of getsubopt.h.
64177         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
64178         Set HAVE_GETSUBOPT.
64179         * lib/getsubopt.c: Don't include getsubopt.h.
64180
64181 2007-02-18  Bruno Haible  <bruno@clisp.org>
64182
64183         * modules/fchdir (Depends-on): Add dup2.
64184
64185 2007-02-18  Bruno Haible  <bruno@clisp.org>
64186
64187         * lib/stdlib_.h: Handle glibc's special invocation convention
64188         specially.
64189
64190 2007-02-18  Bruno Haible  <bruno@clisp.org>
64191
64192         * modules/stdlib-tests: New file.
64193         * tests/test-stdlib.c: New file.
64194
64195         * modules/mkstemp (Files): Remove lib/mkstemp.h.
64196         (Depends-on): Add stdlib.
64197         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64198         (Includes): Use <stdlib.h> instead of mkstemp.h.
64199         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
64200         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
64201         * lib/mkstemp.c: Don't include mkstemp.h.
64202         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
64203         * lib/stdlib--.h: Don't include mkstemp.h.
64204
64205         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
64206         (Depends-on): Add stdlib.
64207         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64208         (Includes): Use <stdlib.h> instead of mkdtemp.h.
64209         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
64210         HAVE_MKDTEMP.
64211         * lib/mkdtemp.c: Don't include mkdtemp.h.
64212         * lib/clean-temp.c: Don't include mkdtemp.h.
64213
64214         * modules/exit (Files): Remove lib/exit.h.
64215         (Depends-on): Add stdlib.
64216         (Makefile.am): Remove lib_SOURCES.
64217         (Include): Use <stdlib.h> instead of exit.h.
64218         * lib/argmatch.c: Don't include exit.h.
64219         * lib/execute.c: Likewise.
64220         * lib/pagealign_alloc.c: Likewise.
64221         * lib/pipe.c: Likewise.
64222         * lib/wait-process.c: Likewise.
64223         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
64224         * lib/exitfail.c: Likewise.
64225         * lib/savewd.c: Likewise.
64226         * lib/xsetenv.c: Likewise.
64227
64228         * modules/stdlib: New file.
64229         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
64230         and extra comments about mkstemp().
64231         * lib/exit.h: Remove file.
64232         * lib/mkdtemp.h: Remove file.
64233         * lib/mkstemp.h: Remove file.
64234         * m4/stdlib_h.m4: New file.
64235         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
64236
64237 2007-02-18  Bruno Haible  <bruno@clisp.org>
64238
64239         * modules/math-tests: New file.
64240         * tests/test-math.c: New file.
64241
64242         * modules/math: New file.
64243         * modules/mathl (Files): Remove lib/mathl.h.
64244         (Depends-on): Add math.
64245         (Makefile.am): Don't mention mathl.h.
64246         (Include): Use <math.h> instead of mathl.h.
64247         * lib/math_.h: New file.
64248         * lib/mathl.h: Remove file.
64249         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
64250         mathl.h.
64251         * lib/asinl.c: Likewise.
64252         * lib/atanl.c: Likewise.
64253         * lib/ceill.c: Likewise.
64254         * lib/cosl.c: Likewise.
64255         * lib/expl.c: Likewise.
64256         * lib/floorl.c: Likewise.
64257         * lib/frexpl.c: Likewise.
64258         * lib/ldexpl.c: Likewise.
64259         * lib/logl.c: Likewise.
64260         * lib/sincosl.c: Likewise.
64261         * lib/sinl.c: Likewise.
64262         * lib/sqrtl.c: Likewise.
64263         * lib/tanl.c: Likewise.
64264         * lib/trigl.c: Likewise.
64265         * m4/math_h.m4: New file.
64266         * MODULES.html.sh (Mathematics): Add math.
64267
64268 2007-02-17  Bruno Haible  <bruno@clisp.org>
64269
64270         * modules/wctype-tests: New file.
64271         * tests/test-wctype.c: New file.
64272
64273         * modules/wchar-tests: New file.
64274         * tests/test-wchar.c: New file.
64275
64276         * modules/unistd-tests: New file.
64277         * tests/test-unistd.c: New file.
64278
64279         * modules/time-tests: New file.
64280         * tests/test-time.c: New file.
64281
64282         * modules/sysexits-tests: New file.
64283         * tests/test-sysexits.c: New file.
64284
64285         * modules/sys_time-tests: New file.
64286         * tests/test-sys_time.c: New file.
64287
64288         * modules/sys_stat-tests: New file.
64289         * tests/test-sys_stat.c: New file.
64290
64291         * modules/sys_socket-tests: New file.
64292         * tests/test-sys_socket.c: New file.
64293
64294         * modules/sys_select-tests: New file.
64295         * tests/test-sys_select.c: New file.
64296
64297         * modules/string-tests: New file.
64298         * tests/test-string.c: New file.
64299
64300         * modules/stdbool-tests: New file.
64301         * tests/test-stdbool.c: New file.
64302
64303         * modules/netinet_in-tests: New file.
64304         * tests/test-netinet_in.c: New file.
64305
64306         * modules/inttypes-tests: New file.
64307         * tests/test-inttypes.c: New file.
64308
64309         * modules/fcntl-tests: New file.
64310         * tests/test-fcntl.c: New file.
64311
64312         * modules/byteswap-tests: New file.
64313         * tests/test-byteswap.c: New file.
64314
64315         * modules/arpa_inet-tests: New file.
64316         * tests/test-arpa_inet.c: New file.
64317
64318 2007-02-17  Bruno Haible  <bruno@clisp.org>
64319
64320         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
64321         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
64322         if the corresponding module is not enabled. Emit link warnings if
64323         the function is used nevertheless.
64324         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
64325         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
64326         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
64327         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
64328         * modules/inttypes (Depends-on): Add link-warning.
64329         (Makefile.am): Copy the contents of build-aux/link-warning.h into
64330         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
64331         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
64332         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
64333         * modules/imaxdiv (configure.ac): Likewise.
64334         * modules/strtoimax (configure.ac): Likewise.
64335         * modules/strtoumax (configure.ac): Likewise.
64336
64337 2007-02-17  Bruno Haible  <bruno@clisp.org>
64338
64339         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
64340         gl_STRING_MODULE_INDICATOR_DEFAULTS.
64341         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
64342         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
64343
64344 2007-02-17  Bruno Haible  <bruno@clisp.org>
64345
64346         * modules/link-warning: New file.
64347         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
64348         * lib/string_.h (GL_LINK_WARNING): Remove definition.
64349         * modules/string (Depends-on): Add link-warning.
64350         (Makefile.am): Copy the contents of build-aux/link-warning.h into
64351         string.h.
64352         * MODULES.html.sh (Support for building libraries and executables): Add
64353         link-warning.
64354
64355 2007-02-17  Bruno Haible  <bruno@clisp.org>
64356
64357         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
64358         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
64359         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
64360         long lines.
64361
64362 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
64363             Bruno Haible  <bruno@clisp.org>
64364
64365         * modules/tmpfile: New file.
64366         * lib/tmpfile.c: New file.
64367         * m4/tmpfile.m4: New file.
64368         * MODULES.html.sh (func_all_modules): New section "Input/output".
64369
64370 2007-02-15  Bruno Haible  <bruno@clisp.org>
64371
64372         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
64373         (supports_delete_on_close): New function.
64374         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
64375
64376 2007-02-14  Bruno Haible  <bruno@clisp.org>
64377
64378         * modules/mbspcasecmp-tests: New file.
64379         * tests/test-mbspcasecmp.sh: New file.
64380         * tests/test-mbspcasecmp.c: New file.
64381
64382         New module mbspcasecmp.
64383         * modules/mbspcasecmp: New file.
64384         * lib/mbspcasecmp.c: New file.
64385         * lib/string_.h (strncasecmp): Change warning message.
64386         (mbspcasecmp): New declaration.
64387         * m4/mbspcasecmp.m4: New file.
64388         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64389         GNULIB_MBSPCASECMP.
64390         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
64391         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
64392
64393 2007-02-14  Bruno Haible  <bruno@clisp.org>
64394
64395         * modules/mbsncasecmp-tests: New file.
64396         * tests/test-mbsncasecmp.sh: New file.
64397         * tests/test-mbsncasecmp.c: New file.
64398
64399         New module mbsncasecmp.
64400         * modules/mbsncasecmp: New file.
64401         * lib/mbsncasecmp.c: New file.
64402         * lib/string_.h (mbsncasecmp): New declaration.
64403         * m4/mbsncasecmp.m4: New file.
64404         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64405         GNULIB_MBSNCASECMP.
64406         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
64407         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
64408
64409 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
64410
64411         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
64412         Verify that it doesn't overlap with our flags.
64413         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
64414         do not have the desired effect in multibyte locales; instead, use
64415         mbscasecmp.
64416         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
64417         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
64418         we don't require GNU fnmatch ourselves (if our users require it, they
64419         should do so explicitly).
64420
64421         Fix regex code so it doesn't rely on strcasecmp.
64422         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
64423         Otherwise, include gnulib's langinfo.h.
64424         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
64425         undesirable behavior in non-C locales.  Instead, rely on localecharset.
64426         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
64427         * modules/regex (FILES): Remove m4/codeset.m4.
64428         (Depends-on): Add localcharset.  Remove strcase.
64429
64430 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64431
64432         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
64433         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
64434
64435 2007-02-13  Bruno Haible  <bruno@clisp.org>
64436
64437         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
64438         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64439
64440 2007-02-12  Bruno Haible  <bruno@clisp.org>
64441
64442         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
64443         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
64444         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
64445         time warning rather than a link error.
64446
64447 2007-02-12  Bruno Haible  <bruno@clisp.org>
64448
64449         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
64450         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64451         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64452
64453 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
64454
64455         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
64456         args, not 2.
64457
64458 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
64459
64460         New module 'time', so that apps can include <time.h> as per
64461         POSIX and GNU instead of separate include files like time_r.h
64462         and timegm.h.  This implementation tries out a simpler approach
64463         for replacing decls in standard include files (as compared to
64464         the string module), somewhat as an experiment.
64465
64466         * config/srclist.txt: Comment out mktime.c for now.
64467         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
64468         since it doesn't apply any more.  Use generic wording instead.
64469         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
64470         'time'.
64471         * lib/time_.h, m4/time_h.m4, modules/time: New files.
64472         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
64473         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
64474         Don't include <sys/types.h>; no longer needed since we assume C89.
64475         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
64476         * lib/strftime.c: Likewise.
64477         * lib/time_r.c: Likewise.
64478         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
64479         * lib/nanosleep.c: Include <time.h> first, to check interface.
64480         * lib/strptime.c: Likewise.
64481         * lib/time_r.c: Likewise.
64482         * lib/timegm.c: Likewise.
64483         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
64484         needed.
64485         * lib/timegm.c: Don't include timegm.h; no longer needed.
64486         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
64487         time.h now handles any problems in that area.
64488         (struct timespec, nanosleep): Remove; time.h now arranges for these.
64489         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
64490         that time.h defines struct timespec.
64491         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
64492         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
64493         handles that.
64494         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
64495         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
64496         needed.  Set REPLACE_LOCALTIME.
64497         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
64498         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
64499         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
64500         nanosleep; time_h.m4 now does that.  Don't require
64501         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
64502         module handles this now.
64503         * modules/getdate (Depends-on): Remove timespec.  Add time.
64504         * modules/nanosleep (Depends-on): Likewise.
64505         * modules/stat-time (Depends-on): Likewise.
64506         * modules/nanosleep (Include): Include time.h, not timespec.h.
64507         * modules/strptime (Files): Remove lib/strptime.h.
64508         (Depends-on): Add extensions, time.
64509         (Include): Include time.h, not strptime.h.
64510         * modules/time_r (Files): Remove lib/time_r.h.
64511         (Depends-on): Add time.
64512         (Include): Include time.h, not time_r.h.
64513         * modules/timegm: Likewise.
64514         * modules/timespec (Description): Now does timespec-related decls
64515         of our own, instead of struct timespec itself.
64516         (Depends-on): Add time; remove extensions.
64517         (Maintainer): Add self.
64518         * modules/utimecmp (Depends-on): Add time; remove timespec.
64519         * modules/utimens (Depends-on): Likewise.
64520         * modules/xnanosleep (Depends-on): Likewise.
64521
64522 2007-02-11  Bruno Haible  <bruno@clisp.org>
64523
64524         * lib/c-strstr.c: Include allocsa.h.
64525         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
64526         * lib/c-strcasestr.c: Include allocsa.h.
64527         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
64528         * lib/strcasestr.c: Include allocsa.h.
64529         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
64530         * lib/mbsstr.c: Include allocsa.h.
64531         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
64532         allocsa/freesa instead of malloc/free.
64533         * lib/mbscasestr.c: Include allocsa.h.
64534         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
64535         allocsa/freesa instead of malloc/free.
64536         * modules/c-strstr (Depends-on): Add allocsa.
64537         * modules/c-strcasestr (Depends-on): Likewise.
64538         * modules/strcasestr (Depends-on): Likewise.
64539         * modules/mbsstr (Depends-on): Likewise.
64540         * modules/mbscasestr (Depends-on): Likewise.
64541
64542 2007-02-11  Bruno Haible  <bruno@clisp.org>
64543
64544         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
64545
64546         * modules/mbsspn-tests: New file.
64547         * tests/test-mbsspn.sh: New file.
64548         * tests/test-mbsspn.c: New file.
64549
64550 2007-02-11  Bruno Haible  <bruno@clisp.org>
64551
64552         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
64553
64554         * modules/mbspbrk-tests: New file.
64555         * tests/test-mbspbrk.sh: New file.
64556         * tests/test-mbspbrk.c: New file.
64557
64558 2007-02-11  Bruno Haible  <bruno@clisp.org>
64559
64560         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
64561         unneeded cast.
64562
64563         * modules/mbscspn-tests: New file.
64564         * tests/test-mbscspn.sh: New file.
64565         * tests/test-mbscspn.c: New file.
64566
64567 2007-02-11  Bruno Haible  <bruno@clisp.org>
64568
64569         * modules/mbscasecmp-tests: New file.
64570         * tests/test-mbscasecmp.sh: New file.
64571         * tests/test-mbscasecmp.c: New file.
64572
64573 2007-02-11  Bruno Haible  <bruno@clisp.org>
64574
64575         Ensure O(n) worst-case complexity of mbscasestr.
64576         * lib/mbscasestr.c: Include stdbool.h.
64577         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
64578         functions.
64579         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
64580         the bookkeeping indicates that it's worth it.
64581         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
64582
64583         * modules/mbscasestr-tests: New file.
64584         * tests/test-mbscasestr1.c: New file.
64585         * tests/test-mbscasestr2.sh: New file.
64586         * tests/test-mbscasestr2.c: New file.
64587         * tests/test-mbscasestr3.sh: New file.
64588         * tests/test-mbscasestr3.c: New file.
64589         * tests/test-mbscasestr4.sh: New file.
64590         * tests/test-mbscasestr4.c: New file.
64591         * m4/locale-tr.m4: New file.
64592
64593 2007-02-11  Bruno Haible  <bruno@clisp.org>
64594
64595         Ensure O(n) worst-case complexity of mbsstr.
64596         * lib/mbsstr.c: Include stdbool.h.
64597         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
64598         functions.
64599         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
64600         bookkeeping indicates that it's worth it.
64601         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
64602
64603         * modules/mbsstr-tests: New file.
64604         * tests/test-mbsstr1.c: New file.
64605         * tests/test-mbsstr2.sh: New file.
64606         * tests/test-mbsstr2.c: New file.
64607         * tests/test-mbsstr3.sh: New file.
64608         * tests/test-mbsstr3.c: New file.
64609         * m4/locale-fr.m4: New file.
64610
64611 2007-02-11  Bruno Haible  <bruno@clisp.org>
64612
64613         * lib/mbsrchr.c (mbsrchr): Fix bug.
64614
64615         * modules/mbsrchr-tests: New file.
64616         * tests/test-mbsrchr.sh: New file.
64617         * tests/test-mbsrchr.c: New file.
64618
64619 2007-02-11  Bruno Haible  <bruno@clisp.org>
64620
64621         * lib/mbschr.c (mbschr): Fix bug.
64622
64623         * modules/mbschr-tests: New file.
64624         * tests/test-mbschr.sh: New file.
64625         * tests/test-mbschr.c: New file.
64626         * m4/locale-zh.m4: New file.
64627
64628 2007-02-11  Bruno Haible  <bruno@clisp.org>
64629
64630         Support for copying multibyte string iterators.
64631         * lib/mbiter.h: Include <string.h>.
64632         (mbiter_multi_copy): New function.
64633         (mbi_copy): New macro.
64634         * lib/mbuiter.h: Include <string.h>.
64635         (mbuiter_multi_copy): New function.
64636         (mbui_copy): New macro.
64637
64638 2007-02-11  Bruno Haible  <bruno@clisp.org>
64639
64640         New module mbslen.
64641         * modules/mbslen: New file.
64642         * lib/mbslen.c: New file.
64643         * lib/string_.h (mbslen): New declaration.
64644         * m4/mbslen.m4: New file.
64645         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64646         GNULIB_MBSLEN.
64647         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
64648         * MODULES.html.sh (Internationalization functions): Add mbslen.
64649
64650 2007-02-11  Bruno Haible  <bruno@clisp.org>
64651
64652         Ensure O(n) worst-case complexity of strcasestr substitute.
64653         * lib/strcasestr.c: Include stdbool.h.
64654         (knuth_morris_pratt): New function.
64655         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
64656         bookkeeping indicates that it's worth it.
64657         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
64658
64659         * modules/strcasestr-tests: New file.
64660         * tests/test-strcasestr.c: New file.
64661
64662 2007-02-11  Bruno Haible  <bruno@clisp.org>
64663
64664         Ensure O(n) worst-case complexity of c_strcasestr.
64665         * lib/c-strcasestr.c: Include stdbool.h, string.h.
64666         (knuth_morris_pratt): New function.
64667         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
64668         the bookkeeping indicates that it's worth it.
64669         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
64670
64671         * modules/c-strcasestr-tests: New file.
64672         * tests/test-c-strcasestr.c: New file.
64673
64674 2007-02-11  Bruno Haible  <bruno@clisp.org>
64675
64676         Ensure O(n) worst-case complexity of c_strstr.
64677         * lib/c-strstr.c: Include stdbool.h, string.h.
64678         (knuth_morris_pratt): New function.
64679         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
64680         bookkeeping indicates that it's worth it.
64681         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
64682
64683         * lib/c-strstr.c: Complete rewrite for maintainability.
64684
64685         * modules/c-strstr-tests: New file.
64686         * tests/test-c-strstr.c: New file.
64687
64688 2007-02-11  Bruno Haible  <bruno@clisp.org>
64689
64690         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
64691         5.2.1 and earlier, whereby \055 was treated just like the range
64692         delimiter '-'.
64693         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
64694
64695 2007-02-08  Bruno Haible  <bruno@clisp.org>
64696
64697         * modules/regex (Depends-on): Add stdbool.
64698         Reported by Dalibor Topic <robilad@kaffe.org>.
64699
64700 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
64701
64702         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
64703         Prefer returning from main to exiting from it.
64704         Remove unnecessary parens after sizeof.
64705
64706 2007-02-05  Bruno Haible  <bruno@clisp.org>
64707
64708         New module mbssep.
64709         * modules/mbssep: New file.
64710         * lib/mbssep.c: New file.
64711         * lib/string_.h (strsep): Add a conditional link warning.
64712         (mbssep): New declaration.
64713         * m4/mbssep.m4: New file.
64714         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64715         GNULIB_MBSSEP.
64716         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
64717         * MODULES.html.sh (Internationalization functions): Add mbssep.
64718
64719 2007-02-05  Bruno Haible  <bruno@clisp.org>
64720
64721         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
64722         Optimize search in case of 1 delimiter.
64723
64724 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
64725
64726         * lib/acl.h: Include sys/types.h before sys/acl.h.
64727
64728 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
64729
64730         Merge upstream fix for glibc bugzilla #3957:
64731
64732         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
64733
64734         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
64735         bit for RE_HAT_LISTS_NOT_NEWLINE.
64736         (build_charclass_op): Remove bogus comment.
64737
64738 2007-02-05  Simon Josefsson  <simon@josefsson.org>
64739
64740         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
64741
64742 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
64743
64744         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
64745         * lib/memmem.c [!defined _LIBC]: Include config.h.
64746
64747 2007-02-04  Bruno Haible  <bruno@clisp.org>
64748
64749         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
64750         warning message.
64751
64752 2007-02-04  Bruno Haible  <bruno@clisp.org>
64753
64754         New module mbstok_r.
64755         * modules/mbstok_r: New file.
64756         * lib/mbstok_r.c: New file.
64757         * lib/string_.h (strtok_r): Change argument names to match the
64758         comments. Add a conditional link warning.
64759         (mbstok_r): New declaration.
64760         * m4/mbstok_r.m4: New file.
64761         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64762         GNULIB_MBSTOK_R.
64763         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
64764         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
64765
64766 2007-02-04  Bruno Haible  <bruno@clisp.org>
64767
64768         New module mbsspn.
64769         * modules/mbsspn: New file.
64770         * lib/mbsspn.c: New file.
64771         * lib/string_.h (strspn): Add a conditional link warning.
64772         (mbsspn): New declaration.
64773         * m4/mbsspn.m4: New file.
64774         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64775         GNULIB_MBSSPN.
64776         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
64777         * MODULES.html.sh (Internationalization functions): Add mbsspn.
64778
64779 2007-02-04  Bruno Haible  <bruno@clisp.org>
64780
64781         New module mbspbrk.
64782         * modules/mbspbrk: New file.
64783         * lib/mbspbrk.c: New file.
64784         * lib/string_.h (strpbrk): Add a conditional link warning.
64785         (mbspbrk): New declaration.
64786         * m4/mbspbrk.m4: New file.
64787         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64788         GNULIB_MBSPBRK.
64789         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
64790         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
64791
64792 2007-02-04  Bruno Haible  <bruno@clisp.org>
64793
64794         New module mbscspn.
64795         * modules/mbscspn: New file.
64796         * lib/mbscspn.c: New file.
64797         * lib/string_.h (strcspn): Add a conditional link warning.
64798         (mbscspn): New declaration.
64799         * m4/mbscspn.m4: New file.
64800         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64801         GNULIB_MBSCSPN.
64802         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
64803         * MODULES.html.sh (Internationalization functions): Add mbscspn.
64804
64805 2007-02-04  Bruno Haible  <bruno@clisp.org>
64806
64807         New module mbscasestr, reduced goal of strcasestr.
64808         * modules/mbscasestr: New file.
64809         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
64810         (mbscasestr): Renamed from strcasestr.
64811         * lib/strcasestr.c: Don't include mbuiter.h.
64812         (strcasestr): Remove support for multibyte locales.
64813         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
64814         Change the conditional link warning.
64815         (mbscasestr): New declaration.
64816         * m4/mbscasestr.m4: New file.
64817         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
64818         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
64819         REPLACE_STRCASESTR.
64820         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
64821         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
64822         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
64823         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
64824         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
64825         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
64826         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
64827         (Depends-on): Remove mbuiter.
64828         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
64829
64830 2007-02-04  Bruno Haible  <bruno@clisp.org>
64831
64832         Simplify handling of strncasecmp.
64833         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
64834         the conditional link warning.
64835         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
64836         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
64837         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
64838         * modules/strcase (configure.ac): Don't invoke
64839         gl_STRING_MODULE_INDICATOR.
64840         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
64841
64842 2007-02-04  Bruno Haible  <bruno@clisp.org>
64843
64844         New module mbscasecmp, reduced goal of strcasecmp.
64845         * modules/mbscasecmp: New file.
64846         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
64847         (mbscasecmp): Renamed from strcasecmp.
64848         * lib/strcasecmp.c: Don't include mbuiter.h.
64849         (strcasecmp): Remove support for multibyte locales.
64850         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
64851         Change the conditional link warning.
64852         (mbscasecmp): New declaration.
64853         * m4/mbscasecmp.m4: New file.
64854         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
64855         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
64856         REPLACE_STRCASECMP.
64857         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
64858         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64859         GNULIB_MBSCASECMP.
64860         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
64861         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
64862         * modules/strcase (Files): Remove m4/mbrtowc.m4.
64863         (Depends-on): Remove mbuiter.
64864         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
64865
64866 2007-02-04  Bruno Haible  <bruno@clisp.org>
64867
64868         New module mbsstr. Remove module strstr.
64869         * modules/mbsstr: New file.
64870         * modules/strstr: Remove file.
64871         * lib/mbsstr.c: Renamed from lib/strstr.c.
64872         (mbsstr): Renamed from strstr.
64873         * lib/string_.h (strstr): Remove declaration. Change the conditional
64874         link warning.
64875         (mbsstr): New declaration.
64876         * m4/mbsstr.m4: New file.
64877         * m4/strstr.m4: Remove file.
64878         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
64879         REPLACE_STRSTR.
64880         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
64881         Don't initialize GNULIB_STRSTR.
64882         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
64883         substitute GNULIB_STRSTR and REPLACE_STRSTR.
64884         * MODULES.html.sh (Internationalization functions): Add mbsstr.
64885         (Support for systems lacking ANSI C 89): Remove strstr.
64886
64887 2007-02-04  Bruno Haible  <bruno@clisp.org>
64888
64889         New module mbsrchr.
64890         * modules/mbsrchr: New file.
64891         * lib/mbsrchr.c: New file.
64892         * lib/string_.h (strrchr): Add a conditional link warning.
64893         (mbsrchr): New declaration.
64894         * m4/mbsrchr.m4: New file.
64895         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64896         GNULIB_MBSRCHR.
64897         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
64898         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
64899
64900 2007-02-04  Bruno Haible  <bruno@clisp.org>
64901
64902         New module mbschr.
64903         * modules/mbschr: New file.
64904         * lib/mbschr.c: New file.
64905         * lib/string_.h (strchr): Add a conditional link warning.
64906         (mbschr): New declaration.
64907         * m4/mbschr.m4: New file.
64908         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
64909         GNULIB_MBSCHR.
64910         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
64911         * MODULES.html.sh (Internationalization functions): Add mbschr.
64912
64913 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
64914
64915         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
64916
64917         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
64918
64919 2007-02-04  Bruno Haible  <bruno@clisp.org>
64920
64921         New module description section 'configure.ac-early'.
64922         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
64923         (func_get_autoconf_early_snippet): New function.
64924         (func_import, func_create_testdir): Use it. Remove special cases for
64925         modules 'extensions' and 'lock'.
64926         * modules/extensions (configure.ac-early): Require
64927         gl_USE_SYSTEM_EXTENSIONS.
64928         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
64929
64930 2007-02-04  Bruno Haible  <bruno@clisp.org>
64931
64932         Make use of gcj-4.3's -fsource and -ftarget option.
64933         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
64934         and if so try the options -fsource and -ftarget.
64935         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
64936         source_version, ftarget_option, target_version arguments.
64937         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
64938         (is_envjavac_oldgcj_14_14_usable): Renamed from
64939         is_envjavac_gcj_14_14_usable.
64940         (is_envjavac_oldgcj_14_13_usable): Renamed from
64941         is_envjavac_gcj_14_13_usable.
64942         (is_gcj_present): Update.
64943         (is_gcj_43, is_gcj43_usable): New functions.
64944         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
64945         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
64946         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
64947         try the options -fsource and -ftarget.
64948
64949 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
64950
64951         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
64952         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
64953         larger value.
64954
64955 2007-02-03  Jim Meyering  <jim@meyering.net>
64956
64957         Give tools a better chance to allocate space for very large buffers.
64958         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
64959
64960         Make pwd and readlink work also when run with an unreadable parent dir
64961         on systems with openat support.
64962         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
64963         provided getcwd function, even when we have openat support.
64964         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
64965
64966 2007-02-02  Bruno Haible  <bruno@clisp.org>
64967
64968         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
64969         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
64970         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
64971         portability problems if one of these functions is only used on specific
64972         platforms.
64973         Reported by Paul Eggert.
64974
64975 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
64976
64977         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
64978         is causing more trouble than it's curing.
64979         * lib/regex_internal.h (__mempcpy): Remove.
64980         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
64981         (and make the code a tad smaller to boot).
64982         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
64983
64984 2007-02-02  Jim Meyering  <jim@meyering.net>
64985
64986         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
64987         section, not in the Makefile.am: one.
64988
64989 2007-02-02  Eric Blake  <ebb9@byu.net>
64990
64991         * lib/strchrnul.c: Always include config.h first.
64992
64993         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
64994         gnulib strstr is not necessary here.
64995
64996 2007-02-02  Simon Josefsson  <simon@josefsson.org>
64997
64998         * m4/socklen.m4: Fix typo.
64999
65000 2007-02-02  Eric Blake  <ebb9@byu.net>
65001
65002         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
65003         * modules/netinet_in (Makefile.am): Likewise.
65004
65005 2007-02-01  Bruno Haible  <bruno@clisp.org>
65006
65007         * lib/string_.h (GL_LINK_WARNING): New macro.
65008         (strcasecmp, strstr, strcasestr): If provided by the system,
65009         conditionally define as a macro that leads to a warning instead of to
65010         an error.
65011         (strncasecmp): Conditionally define as a macro that leads to a warning.
65012
65013 2007-02-01  Karl Berry  <karl@gnu.org>
65014
65015         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
65016
65017 2007-02-01  Bruno Haible  <bruno@clisp.org>
65018
65019         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
65020         renamings.
65021
65022 2007-02-01  Eric Blake  <ebb9@byu.net>
65023
65024         * modules/regex (Depends-on): Revert dependence on mempcpy.
65025         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
65026         module's definition of mempcpy.
65027         Reported by Paul Eggert.
65028
65029 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
65030
65031         * lib/string_.h: If the gnulib module XYZ is not present, undefine
65032         the symbol XYZ before redefining it.  This fixes a problem with
65033         programs that don't use XYZ, when compiled on systems that define
65034         XYZ to something else.
65035
65036 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
65037
65038         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
65039         occurs when "mkdir -m foo" creates a setgid directory that is (1)
65040         writeable to group or other and (2) is intended to have a special
65041         mode bit that is set or cleared.  In such a case, the directory
65042         should be neither group- nor other-writeable until the special
65043         mode bits are right.
65044
65045 2007-01-31  Eric Blake  <ebb9@byu.net>
65046
65047         * modules/mountlist (Depends-on): Add strstr.
65048
65049         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
65050         bug.
65051         * modules/string (Makefile.am): Remove redundant replacement.
65052         * modules/regex (Depends-on): Add mempcpy.
65053
65054 2007-01-31  Bruno Haible  <bruno@clisp.org>
65055
65056         New module description field 'Link'.
65057         * gnulib-tool (func_usage): Document --extract-link-directive.
65058         (sed_extract_prog): Recognize 'Link' directive.
65059         (func_get_link_directive): New function.
65060         (func_import): Show summary of link directives.
65061         Handle --extract-link-directive option.
65062         * modules/acl (Link): New section.
65063         * modules/clock-time (Link): New section.
65064         * modules/euidaccess (Link): New section.
65065         * modules/gettext (Link): New section.
65066         * modules/iconv (Link): New section.
65067         * modules/lock (Link): New section.
65068         * modules/nanosleep (Link): New section.
65069         * modules/readline (Link): New section.
65070
65071 2007-01-27  Bruno Haible  <bruno@clisp.org>
65072
65073         Enforce the use of gnulib modules for unportable <string.h> functions.
65074         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
65075         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
65076         (gl_HEADER_STRING_H_BODY): Require it.
65077         * lib/string_.h: If the gnulib module XYZ is not present, redefine
65078         the symbol XYZ to one that gives a link error.
65079         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
65080         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
65081         * modules/mempcpy (configure.ac): Likewise.
65082         * modules/memrchr (configure.ac): Likewise.
65083         * modules/stpcpy (configure.ac): Likewise.
65084         * modules/stpncpy (configure.ac): Likewise.
65085         * modules/strcase (configure.ac): Likewise.
65086         * modules/strcasestr (configure.ac): Likewise.
65087         * modules/strchrnul (configure.ac): Likewise.
65088         * modules/strdup (configure.ac): Likewise.
65089         * modules/strndup (configure.ac): Likewise.
65090         * modules/strnlen (configure.ac): Likewise.
65091         * modules/strpbrk (configure.ac): Likewise.
65092         * modules/strsep (configure.ac): Likewise.
65093         * modules/strstr (configure.ac): Likewise.
65094         * modules/strtok_r (configure.ac): Likewise.
65095
65096 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
65097
65098         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
65099
65100 2007-01-30  Jim Meyering  <jim@meyering.net>
65101
65102         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
65103
65104 2007-01-29  Bruno Haible  <bruno@clisp.org>
65105
65106         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
65107         * lib/execute.c: Likewise.
65108         * lib/pipe.c: Likewise.
65109         * lib/printf-args.h: Likewise.
65110         * lib/printf-args.c: Likewise.
65111         * lib/printf-parse.c: Likewise.
65112         * lib/vasnprintf.c: Likewise.
65113
65114 2007-01-29  Eric Blake  <ebb9@byu.net>
65115
65116         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
65117         declaration.
65118
65119 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
65120
65121         * lib/strptime.h (strptime): Use 'restrict' for args where
65122         POSIX requires this.
65123         * lib/strptime.c (strptime): Likewise.
65124         Change license notice from LGPL to GPL, since gnulib-tool will
65125         change this as needed.
65126         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
65127         defined.
65128         Include "strptime.h" first, to check interface.
65129         Do not #undef _LIBC and _NL_CURRENT.
65130         Do not include <stdlib.h>; no longer needed.
65131         Include "time_r.h" and declare ptime_locale_status
65132         only if _LIBC is not defined.
65133         (__P): Remove unused macro.
65134         (match_string): Bring back glibc version, but use it only if _LIBC
65135         is defined.
65136         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
65137         Remove unnecessary assertion and abort() call.
65138         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
65139         * m4/strptime.m4: Fix serial number comment.
65140         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
65141         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
65142         (Depends-on): Add time_r.
65143
65144 2007-01-29  Bruno Haible  <bruno@clisp.org>
65145
65146         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65147         strptime.
65148         * modules/strptime (Depends-on): Add stdbool.
65149         * lib/strptime.h: Include <time.h> always. Add comments.
65150
65151 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
65152
65153         * modules/strptime: New file.
65154         * lib/strptime.h: New file.
65155         * lib/strptime.c: New file.
65156         * m4/strptime.m4: New file.
65157
65158 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
65159
65160         * MODULES.html.sh: New module mpsort.
65161         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
65162
65163         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
65164         a circularity problem with HP-UX ia64 reported by Bob Proulx in
65165         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
65166         All uses changed.
65167         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
65168         All uses changed.
65169         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
65170         to _Restrict_.
65171         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
65172         the parameter matches the prototype.
65173
65174 2007-01-28  Jim Meyering  <jim@meyering.net>
65175
65176         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
65177         sys/time.h here, reverting that part of the previous patch:
65178         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
65179
65180 2007-01-28  Bruno Haible  <bruno@clisp.org>
65181
65182         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
65183         value of $(SYS_TIME_H).
65184         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
65185         remove it conditionally, too. [added by Jim Meyering]
65186         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
65187         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
65188         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
65189         GETTIMEOFDAY_REPLACEMENT to 1.
65190
65191 2007-01-28  Bruno Haible  <bruno@clisp.org>
65192
65193         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
65194         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
65195         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
65196         Set UNISTD_H instead of UNISTD_H2.
65197         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
65198
65199 2007-01-28  Bruno Haible  <bruno@clisp.org>
65200
65201         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
65202         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
65203
65204 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65205
65206         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
65207         (func_create_testdir): Ensure C locale for `grep' and `tr'
65208         character ranges.
65209         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
65210         ACLOCAL_AMFLAGS parsing state machine.
65211
65212 2007-01-27  Bruno Haible  <bruno@clisp.org>
65213
65214         * modules/unistr/base: Update.
65215
65216 2007-01-27  Bruno Haible  <bruno@clisp.org>
65217
65218         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
65219         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
65220         * modules/unistr/u32-mbtouc-unsafe: Renamed from
65221         modules/unistr/u32-mbtouc.
65222         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
65223         * lib/unistr.h: Update.
65224         * lib/linebreak.c: Update.
65225         * modules/unistr/u32-mbtouc: Renamed from
65226         modules/unistr/u32-mbtouc-safe.
65227         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
65228         * lib/unistr.h: Update.
65229         * lib/unistr/u32-to-u8.c: Update.
65230         * lib/unistr/u32-to-u16.c: Update.
65231
65232 2007-01-27  Bruno Haible  <bruno@clisp.org>
65233
65234         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
65235         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
65236         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
65237         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
65238         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
65239         * modules/unistr/u16-mbtouc-unsafe: Renamed from
65240         modules/unistr/u16-mbtouc.
65241         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
65242         * lib/unistr.h: Update.
65243         * lib/linebreak.c: Update.
65244         * modules/linebreak: Update.
65245         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
65246         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
65247         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
65248         * modules/unistr/u16-mbtouc: Renamed from
65249         modules/unistr/u16-mbtouc-safe.
65250         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
65251         * lib/unistr.h: Update.
65252         * lib/unistr/u16-to-u8.c: Update.
65253         * modules/unistr/u16-to-u8: Update.
65254         * lib/unistr/u16-to-u32.c: Update.
65255         * modules/unistr/u16-to-u32: Update.
65256
65257 2007-01-27  Bruno Haible  <bruno@clisp.org>
65258
65259         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
65260         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
65261         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
65262         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
65263         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
65264         * modules/unistr/u8-mbtouc-unsafe: Renamed from
65265         modules/unistr/u8-mbtouc.
65266         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
65267         * lib/unistr.h: Update.
65268         * lib/striconveh.c: Update.
65269         * modules/striconveh: Update.
65270         * lib/linebreak.c: Update.
65271         * modules/linebreak: Update.
65272         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
65273         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
65274         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
65275         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
65276         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
65277         * lib/unistr.h: Update.
65278         * lib/striconveh.c: Update.
65279         * modules/striconveh: Update.
65280         * lib/unistr/u8-to-u16.c: Update.
65281         * modules/unistr/u8-to-u16: Update.
65282         * lib/unistr/u8-to-u32.c: Update.
65283         * modules/unistr/u8-to-u32: Update.
65284
65285 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65286
65287         Sync from Libtool.
65288         * lib/argz.c: Do not include strings.h nor memory.h, include
65289         string.h unconditionally.  Patch by Simon Josefsson.
65290
65291 2007-01-27  Bruno Haible  <bruno@clisp.org>
65292
65293         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
65294         from gl_HEADER_STRING_H_BODY.
65295         (gl_HEADER_STRING_H_BODY): Require it.
65296         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
65297         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
65298         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
65299         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
65300         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65301         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
65302         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
65303         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
65304         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
65305         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
65306         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
65307         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
65308         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
65309         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
65310         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
65311
65312 2007-01-27  Bruno Haible  <bruno@clisp.org>
65313
65314         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
65315         check_PROGRAMS into noinst_PROGRAMS.
65316         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
65317         check_PROGRAMS in this case.
65318         (func_import): Set for_test to false.
65319         (func_create_testdir): Set for_test to true.
65320
65321 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
65322             Bruno Haible  <bruno@clisp.org>
65323
65324         * modules/strcasestr (Files): Remove lib/strcasestr.h.
65325         (Depends-on): Add string.
65326         (Includes): Use <string.h> instead of strcasestr.h.
65327         * modules/string (Makefile.am): Also substitute the value of
65328         REPLACE_STRCASESTR.
65329         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
65330         assume strcasestr is declared in <string.h> not <strings.h>. Also
65331         set REPLACE_STRCASESTR.
65332         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
65333         REPLACE_STRCASESTR.
65334         * lib/strcasestr.h: Remove file.
65335         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
65336         * lib/string_.h (strcasestr): New declaration.
65337
65338 2007-01-27  Bruno Haible  <bruno@clisp.org>
65339
65340         * lib/string_.h: Use 'extern'.
65341
65342 2007-01-27  Jim Meyering  <jim@meyering.net>
65343
65344         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
65345         of set-but-not-used local, "q".
65346
65347         * lib/mempcpy.c: Include <config.h> before <string.h>.
65348         This fixes a compilation error on HP-UX, due to the system's
65349         "restrict"-using mempcpy prototype.
65350
65351 2007-01-26  Bruno Haible  <bruno@clisp.org>
65352
65353         Small optimization.
65354         * lib/javacomp.c: Include c-strstr.h.
65355          (is_envjavac_gcj): Use c_strstr instead of strstr.
65356         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
65357
65358 2007-01-26  Bruno Haible  <bruno@clisp.org>
65359
65360         * MODULES.html.sh (Unicode string functions): Add the new modules.
65361
65362         * modules/uniconv/u32-strconv-to-locale: New file.
65363         * lib/uniconv/u32-strconv-to-locale.c: New file.
65364
65365         * modules/uniconv/u16-strconv-to-locale: New file.
65366         * lib/uniconv/u16-strconv-to-locale.c: New file.
65367
65368         * modules/uniconv/u8-strconv-to-locale: New file.
65369         * lib/uniconv/u8-strconv-to-locale.c: New file.
65370
65371         * modules/uniconv/u32-strconv-from-locale: New file.
65372         * lib/uniconv/u32-strconv-from-locale.c: New file.
65373
65374         * modules/uniconv/u16-strconv-from-locale: New file.
65375         * lib/uniconv/u16-strconv-from-locale.c: New file.
65376
65377         * modules/uniconv/u8-strconv-from-locale: New file.
65378         * lib/uniconv/u8-strconv-from-locale.c: New file.
65379
65380         * modules/uniconv/u32-strconv-to-enc: New file.
65381         * lib/uniconv/u32-strconv-to-enc.c: New file.
65382         * modules/uniconv/u32-strconv-to-enc-tests: New file.
65383         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
65384
65385         * modules/uniconv/u16-strconv-to-enc: New file.
65386         * lib/uniconv/u16-strconv-to-enc.c: New file.
65387         * lib/uniconv/u-strconv-to-enc.h: New file.
65388         * modules/uniconv/u16-strconv-to-enc-tests: New file.
65389         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
65390
65391         * modules/uniconv/u8-strconv-to-enc: New file.
65392         * lib/uniconv/u8-strconv-to-enc.c: New file.
65393         * modules/uniconv/u8-strconv-to-enc-tests: New file.
65394         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
65395
65396         * modules/uniconv/u32-strconv-from-enc: New file.
65397         * lib/uniconv/u32-strconv-from-enc.c: New file.
65398         * modules/uniconv/u32-strconv-from-enc-tests: New file.
65399         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
65400
65401         * modules/uniconv/u16-strconv-from-enc: New file.
65402         * lib/uniconv/u16-strconv-from-enc.c: New file.
65403         * modules/uniconv/u16-strconv-from-enc-tests: New file.
65404         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
65405
65406         * modules/uniconv/u8-strconv-from-enc: New file.
65407         * lib/uniconv/u8-strconv-from-enc.c: New file.
65408         * lib/uniconv/u-strconv-from-enc.h: New file.
65409         * modules/uniconv/u8-strconv-from-enc-tests: New file.
65410         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
65411
65412         * modules/uniconv/u32-conv-from-enc: New file.
65413         * lib/uniconv/u32-conv-from-enc.c: New file.
65414         * modules/uniconv/u32-conv-from-enc-tests: New file.
65415         * tests/uniconv/test-u32-conv-from-enc.c: New file.
65416
65417         * modules/uniconv/u16-conv-from-enc: New file.
65418         * lib/uniconv/u16-conv-from-enc.c: New file.
65419         * lib/uniconv/u-conv-from-enc.h: New file.
65420         * modules/uniconv/u16-conv-from-enc-tests: New file.
65421         * tests/uniconv/test-u16-conv-from-enc.c: New file.
65422
65423         * modules/uniconv/u8-conv-from-enc: New file.
65424         * lib/uniconv/u8-conv-from-enc.c: New file.
65425         * modules/uniconv/u8-conv-from-enc-tests: New file.
65426         * tests/uniconv/test-u8-conv-from-enc.c: New file.
65427
65428         * modules/uniconv/base: New file.
65429         * lib/uniconv.h: New file.
65430
65431 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
65432
65433         * doc/gnulib-tool.texi (Initial import): Update to match current
65434         behavior with strdup module.
65435         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
65436         * lib/memmem.h: Remove; all uses removed.  This is now done
65437         by <string.h>.
65438         * lib/mempcpy.h: Likewise.
65439         * lib/memrchr.h: Likewise.
65440         * lib/stpcpy.h: Likewise.
65441         * lib/stpncpy.h: Likewise.
65442         * lib/strcase.h: Likewise.
65443         * lib/strchrnul.h: Likewise.
65444         * lib/strdup.h: Likewise.
65445         * lib/strndup.h: Likewise.
65446         * lib/strnlen.h: Likewise.
65447         * lib/strpbrk.h: Likewise.
65448         * lib/strsep.h: Likewise.
65449         * lib/strstr.h: Likewise.
65450         * lib/strtok_r.h: Likewise.
65451         * lib/string_.h: New file.
65452         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
65453         Rely on <string.h> instead.
65454         * lib/canon-host.c: Likewise.
65455         * lib/chdir-long.c: Likewise.
65456         * lib/concatpath.c: Likewise.
65457         * lib/exclude.c: Likewise.
65458         * lib/fchdir.c: Likewise.
65459         * lib/getaddrinfo.c: Likewise.
65460         * lib/getcwd.c: Likewise.
65461         * lib/getsubopt.c: Likewise.
65462         * lib/glob.c: Likewise.
65463         * lib/hard-locale.c: Likewise.
65464         * lib/iconvme.c: Likewise.
65465         * lib/javacomp.c: Likewise.
65466         * lib/mempcpy.c: Likewise.
65467         * lib/memrchr.c: Likewise.
65468         * lib/regex_internal.h: Likewise.
65469         * lib/stpncpy.c: Likewise.
65470         * lib/strcasecmp.c: Likewise.
65471         * lib/strchrnul.c: Likewise.
65472         * lib/strdup.c: Likewise.
65473         * lib/striconv.c: Likewise.
65474         * lib/striconveh.c: Likewise.
65475         * lib/striconveha.c: Likewise.
65476         * lib/strncasecmp.c: Likewise.
65477         * lib/strndup.c: Likewise.
65478         * lib/strnlen.c: Likewise.
65479         * lib/strsep.c: Likewise.
65480         * lib/strstr.c: Likewise.
65481         * lib/strtok_r.c: Likewise.
65482         * lib/userspec.c: Likewise.
65483         * lib/w32spawn.h: Likewise.
65484         * lib/xstrndup.c: Likewise.
65485         * lib/mountlist.c (strstr): Remove decl.
65486         * m4/string_h.m4: New file.
65487         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
65488         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
65489         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
65490         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
65491         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
65492         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
65493         Set REPLACE_STRCASECMP if necessary.
65494         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
65495         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
65496         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
65497         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
65498         HAVE_DECL_STRDUP if necessary.
65499         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
65500         since gl_FUNC_STRNDUP does that now.
65501         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
65502         Check for decl here...
65503         (gl_PREREQ_STRNLEN): ... not here.
65504         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
65505         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
65506         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
65507         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
65508         necessary.
65509         * modules/string: New file.
65510         * modules/memmem (Files): Remove special-purpose include file.
65511         (Depends-on): Add string.
65512         (Include): Include <string.h>, not the removed file.
65513         * modules/mempcpy: Likewise.
65514         * modules/memrchr: Likewise.
65515         * modules/stpcpy: Likewise.
65516         * modules/stpncpy: Likewise.
65517         * modules/strcase: Likewise.
65518         * modules/strchrnul: Likewise.
65519         * modules/strdup: Likewise.
65520         * modules/strndup: Likewise.
65521         * modules/strnlen: Likewise.
65522         * modules/strpbrk: Likewise.
65523         * modules/strsep: Likewise.
65524         * modules/strstr: Likewise.
65525         * modules/strtok_r: Likewise.
65526         * tests/test-dirname.c: Don't include "strdup.h", since
65527         <string.h> now suffices.
65528         * tests/test-memmem.c: Don't include "memmem.h", since
65529         <string.h> now suffices.
65530
65531 2007-01-25  Bruno Haible  <bruno@clisp.org>
65532
65533         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
65534         *resultp is 0.
65535
65536         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
65537         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
65538         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
65539         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
65540
65541         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
65542         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
65543         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
65544         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
65545         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
65546         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
65547
65548 2007-01-24  Bruno Haible  <bruno@clisp.org>
65549
65550         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
65551         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
65552         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
65553         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
65554         gl_FUNC_FTS_CORE.
65555         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
65556         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
65557         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65558         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
65559         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
65560         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
65561         gl_FUNC_FCHOWNAT.
65562         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
65563         gl_FUNC_STRFTIME.
65564         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
65565         Reported by Ralf Wildenhues.
65566
65567 2007-01-24  Bruno Haible  <bruno@clisp.org>
65568
65569         Drop AC_REQUIRE calls that are redundant with the module dependencies.
65570         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
65571         gl_GETADDRINFO.
65572         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
65573         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
65574         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
65575
65576 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
65577
65578         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
65579         Don't use 'exit'; just return from 'main'.
65580         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
65581
65582         * lib/fnmatch_.h: Readjust white space and comments to match
65583         glibc, to avoid spurious diffs.
65584
65585 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65586
65587         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
65588         2004-12-01 change by Jakub Jelinek, since this code won't compile
65589         if !LIBC.  Problem reported by Bob Proulx.
65590
65591 2007-01-23  Bruno Haible  <bruno@clisp.org>
65592
65593         * lib/striconveh.c: Include c-strcaseeq.h.
65594         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
65595         * modules/striconveh (Depends-on): Add c-strcaseeq.
65596
65597 2007-01-23  Bruno Haible  <bruno@clisp.org>
65598
65599         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
65600
65601         * modules/c-strcaseeq: New file.
65602         * lib/c-strcaseeq.h: New file.
65603
65604         * modules/streq: New file.
65605         * lib/streq.h: New file.
65606
65607 2007-01-23  Bruno Haible  <bruno@clisp.org>
65608
65609         * modules/striconveha-tests: New file.
65610         * tests/test-striconveha.c: New file.
65611
65612         * lib/striconveha.h: Include <stdbool.h>.
65613         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
65614         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
65615         (mem_iconveha_notranslit): Renamed from mem_iconveha.
65616         (mem_iconveha): New function.
65617         (str_iconveha_notranslit): Renamed from str_iconveha.
65618         (str_iconveha): New function.
65619         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
65620         c-strcase.
65621
65622 2007-01-23  Bruno Haible  <bruno@clisp.org>
65623
65624         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
65625         encodings without forgiving before trying any encoding with handler.
65626         (str_iconveha): Try all encodings without forgiving before trying any
65627         encoding with handler.
65628
65629 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
65630
65631         Import the following changes from libc.
65632
65633         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
65634
65635         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
65636
65637         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
65638
65639         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
65640         normal_bracket label.
65641
65642         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
65643
65644         [BZ #361]
65645         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
65646         to normal_bracket after fetching the next character.
65647
65648 2007-01-22  Bruno Haible  <bruno@clisp.org>
65649
65650         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
65651         argument.
65652         * lib/striconveh.c (iconv_carefully_1): New function.
65653         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
65654         argument.
65655         (str_cd_iconveh): Update.
65656         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
65657         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
65658         * tests/test-striconveh.c (MAGIC): New macro.
65659         (new_offsets): New function.
65660         (main): Test call with and without offsets.
65661
65662 2007-01-22  Bruno Haible  <bruno@clisp.org>
65663
65664         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
65665         * modules/sys_select (Makefile.am): Likewise.
65666         * modules/sys_socket (Makefile.am): Likewise.
65667         * modules/sys_time (Makefile.am): Likewise.
65668
65669 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
65670
65671         * modules/gettimeofday (License): Change from GPL to LGPL, since
65672         gettimeofday is a library function.
65673
65674 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65675
65676         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
65677
65678 2007-01-21  Bruno Haible  <bruno@clisp.org>
65679
65680         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
65681
65682 2007-01-21  Bruno Haible  <bruno@clisp.org>
65683
65684         * modules/striconveha: New file.
65685         * lib/striconveha.h: New file.
65686         * lib/striconveha.c: New file.
65687         * MODULES.html.sh (Internationalization functions): Add striconveha.
65688         * lib/striconv.c (str_iconv): Optimize the case of an empty input
65689         string.
65690         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
65691
65692 2007-01-21  Bruno Haible  <bruno@clisp.org>
65693
65694         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
65695         * lib/striconveh.c (str_iconveh): Likewise.
65696
65697 2007-01-21  Bruno Haible  <bruno@clisp.org>
65698
65699         * lib/striconveh.h (mem_iconveh): New declaration.
65700         * lib/striconveh.c (mem_iconveh): New function.
65701         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
65702
65703 2007-01-21  Bruno Haible  <bruno@clisp.org>
65704
65705         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
65706
65707         * lib/striconveh.h (mem_cd_iconveh): Change specification.
65708         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
65709         original result buffer.
65710         (str_cd_iconveh): Update.
65711         * tests/test-striconveh.c (main): Update.
65712
65713         * lib/striconv.h (mem_cd_iconv): Change specification.
65714         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
65715         result buffer.
65716         (str_cd_iconv): Update.
65717         * tests/test-striconv.c (main): Update.
65718
65719 2007-01-21  Bruno Haible  <bruno@clisp.org>
65720
65721         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
65722
65723 2007-01-20  Jim Meyering  <jim@meyering.net>
65724
65725         * lib/userspec.c (parse_with_separator): If a user or group string
65726         starts with "+", skip the corresponding name-to-ID look-up, since
65727         such a look-up must fail: user and group names may not include "+".
65728
65729 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
65730
65731         * lib/poll.c: Include sys/time.h and time.h unconditionally,
65732         since we now assume the sys_time module.
65733         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
65734         check for sys/time.h; no longer needed.
65735         * modules/poll (Depends-on): Depend on sys_time.
65736
65737 2007-01-18  Bruno Haible  <bruno@clisp.org>
65738
65739         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
65740         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
65741
65742         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
65743         gettimeofday.
65744
65745         * tests/test-gettimeofday.c: Include <time.h>.
65746         (dummy): Remove variable.
65747
65748         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
65749         gl_HEADER_SYS_TIME_H.
65750         (gl_HEADER_SYS_TIME_H): New macro.
65751
65752         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
65753         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
65754         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
65755         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
65756         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
65757         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
65758         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
65759         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
65760         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
65761         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
65762         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
65763
65764         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
65765         last change; it caused a compilation error when cross-compiling to
65766         Cygwin.
65767
65768 2007-01-18  Jim Meyering  <jim@meyering.net>
65769
65770         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
65771         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
65772         than the race-prone "test -d sys || mkdir sys".
65773         (configure.ac): Use AC_PROG_MKDIR_P.
65774         * modules/sys_select: Likewise.
65775         * modules/sys_socket: Likewise.
65776         * modules/sys_time: Likewise.
65777
65778 2007-01-18  Eric Blake  <ebb9@byu.net>
65779
65780         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
65781         replace gettimeofday.
65782         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
65783         name, to avoid infinite recursion.
65784
65785 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
65786
65787         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
65788         module sys_time.
65789         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
65790         assume timespec.h defines struct timeval.
65791         * lib/settime.c: Likewise.
65792         * lib/utimens.c: Likewise.
65793         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
65794         since we now assume the gettimeofday module.
65795         * lib/tempname.c (__gen_tempname): Likewise.
65796         * lib/gettimeofday.h: Remove.
65797         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
65798         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
65799         Include <time.h>, for 'time()'.
65800         (localtime_buffer_addr): Also use this workaround if
65801         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
65802         to simplify the uses.  All uses changed.
65803         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
65804         that #undef is inside {}, and 'const' follows type name consistently.
65805         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
65806         (gettimeofday): Do not use the maximum possible value for
65807         tv->tv_usec, since that might break usages other than ls.c.
65808         Instead, we'll leave ls.c alone.  This undoes today's patch
65809         by Bruno.  Add a compile-time warning for 1s-clock resolution;
65810         we've never observed the problem but might as well keep the
65811         canary.
65812         * lib/nanosleep.c: Include timespec.h first, for interface check.
65813         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
65814         now assume the sys_time module.
65815         * lib/tempname.c: Likewise.
65816         * lib/timespec.h: Likewise.
65817         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
65818         needed.
65819         * lib/strftime.c: Likewise.
65820         * lib/timespec.h: Likewise.
65821         * lib/posixtm.c: Include posixtm.h first, for interface check.
65822         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
65823         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
65824         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
65825         * lib/sys_time_.h: New file.
65826         * lib/timespec.h (struct timespec): Use long int, not long.
65827         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
65828         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
65829         Remove obsolescent call to AC_HEADER_TIME.
65830         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
65831         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
65832         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
65833         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
65834         Likewise.
65835         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
65836         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
65837         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
65838         into the sys_time module.  Check for gettimeofday just once.
65839         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
65840         for gettimeofday signature to just check the signature.  Merely
65841         compile it, since linking doesn't test signature.  Improve test for
65842         whether gettimeofday.o is actually needed.
65843         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
65844         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
65845         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
65846         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
65847         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
65848         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
65849         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
65850         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
65851         than worrying about sys/time.h.
65852         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
65853         Don't bother worrying about TIME_WITH_SYS_TIME.
65854         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
65855         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
65856         * m4/sys_time_h.m4: New file.
65857         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
65858         Don't include sys/time.h.  Return from main rather than exiting.
65859         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
65860         all uses changed.
65861         * modules/gethrxtime (Depends-on): Add sys_time.
65862         * modules/gettime (Depends-on): Likewise.
65863         * modules/gettimeofday (Depends-on): Likewise.
65864         * modules/nanosleep (Depends-on): Likewise.
65865         * modules/settime (Depends-on): Likewise.
65866         * modules/tempname (Depends-on): Likewise.
65867         * modules/utimens (Depends-on): Likewise.
65868         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
65869         (Include): Change back to <sys/time.h>.
65870         (Maintainer): Add self.
65871         * modules/sys_time: New file.
65872         * modules/tempname (Depends-on): Add gettimeofday.
65873         * tests/test-gettimeofday.c: Include <sys/time.h>
65874         rather than gettimeofday.h.
65875
65876 2007-01-17  Bruno Haible  <bruno@clisp.org>
65877
65878         * gnulib-tool (func_get_license): Revert last patch. Instead, let
65879         the license default to GPL.
65880         (func_create_testdir): Don't complain if a module is LGPL and its
65881         tests module depends on GPLed modules.
65882
65883 2007-01-17  Bruno Haible  <bruno@clisp.org>
65884
65885         * lib/gettimeofday.c (gettimeofday): Add code for the case
65886         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
65887         maximum possible value for tv->tv_usec, rather than the minimum one.
65888
65889 2005-10-08  Martin Lambers  <marlam@marlam.de>
65890 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65891 2007-01-16  Bruno Haible  <bruno@clisp.org>
65892
65893         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
65894         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
65895         gl_FUNC_GETTIMEOFDAY.
65896         (Include): Add gettimeofday.h.
65897         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
65898         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
65899         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
65900         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
65901         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
65902         * lib/gettimeofday.h: New file.
65903         * lib/gettimeofday.c: Include <sys/timeb.h>.
65904         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
65905         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
65906         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
65907         fall back on time().
65908
65909         * tests/test-gettimeofday.c: New file.
65910         * modules/gettimeofday-tests: New file.
65911
65912 2007-01-16  Eric Blake  <ebb9@byu.net>
65913
65914         * modules/fnmatch (Depends-on): Depend on wchar.
65915         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
65916         * m4/fnmatch.m4: Likewise.
65917         * modules/mbchar (Makefile.am): Assume <wchar.h>.
65918         * m4/mbchar.m4: Likewise.
65919         * modules/mbswidth (Depends-on): Depend on wchar.
65920         * lib/mbswidth.c: Assume <wchar.h>.
65921         * m4/mbswidth.m4: Likewise.
65922         * modules/quotearg (Depends-on): Depend on wchar.
65923         * lib/quotearg.c: Assume <wchar.h>.
65924         * m4/quotearg.m4: Likewise.
65925         * modules/regex (Depends-on): Depend on wchar.
65926         * lib/regex_internal.h: Assume <wchar.h>.
65927         * m4/regex.m4: Likewise.
65928         * modules/stdint (Depends-on): Depend on wchar.
65929         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
65930         * m4/stdint.m4: Likewise.
65931         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
65932         * modules/strftime (Depends-on): Depend on wchar.
65933         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
65934         * modules/strtol (Depends-on): Depend on wchar.
65935         * lib/strtol.c: Assume <wchar.h>.
65936         * modules/wcwidth (Depends-on): Depend on wchar.
65937         * lib/wcwidth.h: Assume <wchar.h>.
65938         * m4/wcwidth.m4: Likewise.
65939
65940 2007-01-16  Bruno Haible  <bruno@clisp.org>
65941
65942         * modules/csharpexec-script: New, created from...
65943         * modules/csharpexec: ... this.
65944
65945 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
65946
65947         * modules/javaexec-script: New, created from...
65948         * modules/javaexec: ... this.
65949
65950 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65951
65952         * modules/poll (Dependencies): Add sys_select.
65953
65954 2007-01-15  Jim Meyering  <jim@meyering.net>
65955
65956         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
65957         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
65958         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
65959         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
65960
65961 2007-01-15  Bruno Haible  <bruno@clisp.org>
65962
65963         * modules/striconveh: New file.
65964         * lib/striconveh.h: New file.
65965         * lib/striconveh.c: New file.
65966         * MODULES.html.sh (Internationalization functions): Add striconveh.
65967
65968         * modules/striconveh-tests: New file.
65969         * tests/test-striconveh.c: New file.
65970
65971 2007-01-15  Bruno Haible  <bruno@clisp.org>
65972
65973         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
65974         not from GNU libiconv or GNU libc.
65975
65976 2007-01-15  Bruno Haible  <bruno@clisp.org>
65977
65978         * doc/gnulib-intro.texi (Copyright): Explain the different license
65979         terms for module descriptions, autoconf macros, tests, documentation.
65980
65981 2007-01-14  Bruno Haible  <bruno@clisp.org>
65982
65983         * modules/striconv-tests: New file.
65984         * tests/test-striconv.c: New file.
65985
65986 2007-01-14  Bruno Haible  <bruno@clisp.org>
65987
65988         * modules/iconv-tests: New file.
65989         * tests/test-iconv.c: New file.
65990
65991 2007-01-14  Bruno Haible  <bruno@clisp.org>
65992
65993         * gnulib-tool (func_get_license): For test modules, use the license of
65994         the main module.
65995
65996 2007-01-14  Bruno Haible  <bruno@clisp.org>
65997
65998         * modules/iconv (Include): Clarify that <iconv.h> can only be included
65999         if iconv is found to exist.
66000
66001 2007-01-14  Bruno Haible  <bruno@clisp.org>
66002
66003         * modules/c-ctype-tests: New file.
66004         * tests/test-c-ctype.c: New file.
66005
66006 2007-01-14  Bruno Haible  <bruno@clisp.org>
66007
66008         * modules/binary-io-tests: New file.
66009         * tests/test-binary-io.sh: New file.
66010         * tests/test-binary-io.c: New file.
66011
66012 2007-01-14  Bruno Haible  <bruno@clisp.org>
66013
66014         * modules/array-oset-tests: New file.
66015         * tests/test-array_oset.c: New file.
66016
66017 2007-01-14  Bruno Haible  <bruno@clisp.org>
66018
66019         * modules/array-list-tests: New file.
66020         * tests/test-array_list.c: New file.
66021
66022 2007-01-14  Bruno Haible  <bruno@clisp.org>
66023
66024         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
66025         and make.
66026         Reported by Simon Josefsson in
66027         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
66028
66029 2007-01-14  Bruno Haible  <bruno@clisp.org>
66030
66031         * modules/allocsa-tests: New file.
66032         * tests/test-allocsa.c: New file.
66033
66034 2007-01-14  Bruno Haible  <bruno@clisp.org>
66035
66036         * modules/fchdir (Depends-on): Add absolute-header.
66037         * modules/unistd (Depends-on): Likewise.
66038
66039 2006-12-30  Bruno Haible  <bruno@clisp.org>
66040
66041         * modules/fchdir: New file.
66042         * modules/unistd (Files): Add lib/unistd_.h.
66043         (Makefile.am): Generate unistd.h from unistd_.h.
66044         * lib/fchdir.c: New file.
66045         * lib/dirent_.h: New file.
66046         * lib/unistd_.h: New file.
66047         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
66048         * m4/fchdir.m4: New file.
66049         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
66050         (gl_HEADER_UNISTD): Invoke it.
66051         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
66052         function.
66053         * lib/backupfile.c (opendir, closedir): Undefine.
66054         * lib/chown.c (open, close): Undefine.
66055         * lib/clean-temp.c (open, close): Undefine.
66056         * lib/copy-file.c (open, close): Undefine.
66057         * lib/execute.c (open, close): Undefine.
66058         * lib/fsusage.c (open, close): Undefine.
66059         * lib/gc-gnulib.c (open, close): Undefine.
66060         * lib/getcwd.c (opendir, closedir): Undefine.
66061         * lib/glob.c (opendir, closedir): Undefine.
66062         * lib/javacomp.c (open, close): Undefine.
66063         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
66064         * lib/openat-proc.c (open, close): Undefine.
66065         * lib/pagealign_alloc.c (open, close): Undefine.
66066         * lib/pipe.c (open, close): Undefine.
66067         * lib/progreloc.c (open, close): Undefine.
66068         * lib/savedir.c (opendir, closedir): Undefine.
66069         * lib/utime.c (open, close): Undefine.
66070         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
66071
66072 2007-01-10  Bruno Haible  <bruno@clisp.org>
66073
66074         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
66075
66076 2007-01-12  Eric Blake  <ebb9@byu.net>
66077
66078         Provide a robust <wchar.h>.  Further simplifications are now
66079         possible in other modules, but not included here.
66080         * modules/wchar: New module.
66081         * m4/wchar.m4: New file.
66082         * lib/wchar_.h: Likewise.
66083         * modules/mbchar (Depends-on): Depend on wchar, as the first use
66084         of the new module.
66085         * MODULES.html.sh (Extended multibyte and wide character utilities):
66086         New section.
66087
66088 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
66089
66090         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
66091         to a reasonable default for memory allocation.
66092         (xreadlink): Don't allocate a huge buffer, to work around a buggy
66093         file system that reports garbage st_size values for symlinks.
66094         Problem reported by Liyang Hu.
66095
66096 2007-01-11  Simon Josefsson  <simon@josefsson.org>
66097
66098         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
66099         Emacs .#* auto-save files).
66100
66101 2007-01-11  Bruno Haible  <bruno@clisp.org>
66102
66103         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
66104         directory.
66105
66106 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
66107
66108         Use @...@ consistently in lib/wctype_.h.
66109         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
66110         on it being set to 1 or 0.
66111         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
66112         go back to AC_SUBSTing it.
66113         * modules/wctype (Makefile.am): Undo previous change.
66114
66115 2007-01-10  Eric Blake  <ebb9@byu.net>
66116
66117         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
66118         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
66119         * modules/wctype (Makefile.am): Likewise.
66120         Reported by Chris McGuire.
66121
66122 2007-01-10  Jim Meyering  <jim@meyering.net>
66123
66124         fts.c: a small readability/maintainability improvement
66125         * lib/fts.c (fts_read): Make this code slightly more readable and
66126         maintainable by hoisting the "sp->fts_cur = p" assignments to
66127         immediately follow the statements that set P.  Derived from
66128         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
66129
66130 2007-01-10  Eric Blake  <ebb9@byu.net>
66131
66132         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
66133         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
66134         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66135         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
66136         Reported by Chris McGuire.
66137
66138 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66139
66140         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
66141         in sed script.
66142
66143 2007-01-09  Bruno Haible  <bruno@clisp.org>
66144
66145         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
66146         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
66147         variables.
66148         (func_module): Use them.
66149
66150 2007-01-09  Bruno Haible  <bruno@clisp.org>
66151
66152         * modules/unistr/base: New file.
66153         * lib/unistr.h: New file.
66154
66155         * modules/unistr/u8-to-u16: New file.
66156         * lib/unistr/u8-to-u16.c: New file.
66157
66158         * modules/unistr/u8-to-u32: New file.
66159         * lib/unistr/u8-to-u32.c: New file.
66160
66161         * modules/unistr/u16-to-u8: New file.
66162         * lib/unistr/u16-to-u8.c: New file.
66163
66164         * modules/unistr/u16-to-u32: New file.
66165         * lib/unistr/u16-to-u32.c: New file.
66166
66167         * modules/unistr/u32-to-u8: New file.
66168         * lib/unistr/u32-to-u8.c: New file.
66169
66170         * modules/unistr/u32-to-u16: New file.
66171         * lib/unistr/u32-to-u16.c: New file.
66172
66173         * modules/unistr/u8-check: New file.
66174         * modules/unistr/u16-check: New file.
66175         * modules/unistr/u32-check: New file.
66176         * lib/unistr/u8-check.c: New file.
66177         * lib/unistr/u16-check.c: New file.
66178         * lib/unistr/u32-check.c: New file.
66179
66180         * modules/unistr/u8-chr: New file.
66181         * modules/unistr/u16-chr: New file.
66182         * modules/unistr/u32-chr: New file.
66183         * lib/unistr/u8-chr.c: New file.
66184         * lib/unistr/u16-chr.c: New file.
66185         * lib/unistr/u32-chr.c: New file.
66186
66187         * modules/unistr/u8-cmp: New file.
66188         * modules/unistr/u16-cmp: New file.
66189         * modules/unistr/u32-cmp: New file.
66190         * lib/unistr/u8-cmp.c: New file.
66191         * lib/unistr/u16-cmp.c: New file.
66192         * lib/unistr/u32-cmp.c: New file.
66193
66194         * modules/unistr/u8-cpy: New file.
66195         * modules/unistr/u16-cpy: New file.
66196         * modules/unistr/u32-cpy: New file.
66197         * lib/unistr/u8-cpy.c: New file.
66198         * lib/unistr/u16-cpy.c: New file.
66199         * lib/unistr/u32-cpy.c: New file.
66200         * lib/unistr/u-cpy.h: New file.
66201
66202         * modules/unistr/u8-cpy-alloc: New file.
66203         * modules/unistr/u16-cpy-alloc: New file.
66204         * modules/unistr/u32-cpy-alloc: New file.
66205         * lib/unistr/u8-cpy-alloc.c: New file.
66206         * lib/unistr/u16-cpy-alloc.c: New file.
66207         * lib/unistr/u32-cpy-alloc.c: New file.
66208         * lib/unistr/u-cpy-alloc.h: New file.
66209
66210         * modules/unistr/u8-endswith: New file.
66211         * modules/unistr/u16-endswith: New file.
66212         * modules/unistr/u32-endswith: New file.
66213         * lib/unistr/u8-endswith.c: New file.
66214         * lib/unistr/u16-endswith.c: New file.
66215         * lib/unistr/u32-endswith.c: New file.
66216         * lib/unistr/u-endswith.h: New file.
66217
66218         * modules/unistr/u8-mblen: New file.
66219         * modules/unistr/u16-mblen: New file.
66220         * modules/unistr/u32-mblen: New file.
66221         * lib/unistr/u8-mblen.c: New file.
66222         * lib/unistr/u16-mblen.c: New file.
66223         * lib/unistr/u32-mblen.c: New file.
66224
66225         * modules/unistr/u8-mbtouc: New file.
66226         * modules/unistr/u16-mbtouc: New file.
66227         * modules/unistr/u32-mbtouc: New file.
66228         * lib/unistr/u8-mbtouc.c: New file.
66229         * lib/unistr/u16-mbtouc.c: New file.
66230         * lib/unistr/u32-mbtouc.c: New file.
66231
66232         * modules/unistr/u8-mbtouc-safe: New file.
66233         * modules/unistr/u16-mbtouc-safe: New file.
66234         * modules/unistr/u32-mbtouc-safe: New file.
66235         * lib/unistr/u8-mbtouc-safe.c: New file.
66236         * lib/unistr/u16-mbtouc-safe.c: New file.
66237         * lib/unistr/u32-mbtouc-safe.c: New file.
66238
66239         * modules/unistr/u8-move: New file.
66240         * modules/unistr/u16-move: New file.
66241         * modules/unistr/u32-move: New file.
66242         * lib/unistr/u8-move.c: New file.
66243         * lib/unistr/u16-move.c: New file.
66244         * lib/unistr/u32-move.c: New file.
66245         * lib/unistr/u-move.h: New file.
66246
66247         * modules/unistr/u8-next: New file.
66248         * modules/unistr/u16-next: New file.
66249         * modules/unistr/u32-next: New file.
66250         * lib/unistr/u8-next.c: New file.
66251         * lib/unistr/u16-next.c: New file.
66252         * lib/unistr/u32-next.c: New file.
66253
66254         * modules/unistr/u8-prev: New file.
66255         * modules/unistr/u16-prev: New file.
66256         * modules/unistr/u32-prev: New file.
66257         * lib/unistr/u8-prev.c: New file.
66258         * lib/unistr/u16-prev.c: New file.
66259         * lib/unistr/u32-prev.c: New file.
66260
66261         * modules/unistr/u8-set: New file.
66262         * modules/unistr/u16-set: New file.
66263         * modules/unistr/u32-set: New file.
66264         * lib/unistr/u8-set.c: New file.
66265         * lib/unistr/u16-set.c: New file.
66266         * lib/unistr/u32-set.c: New file.
66267         * lib/unistr/u-set.h: New file.
66268
66269         * modules/unistr/u8-startswith: New file.
66270         * modules/unistr/u16-startswith: New file.
66271         * modules/unistr/u32-startswith: New file.
66272         * lib/unistr/u8-startswith.c: New file.
66273         * lib/unistr/u16-startswith.c: New file.
66274         * lib/unistr/u32-startswith.c: New file.
66275         * lib/unistr/u-startswith.h: New file.
66276
66277         * modules/unistr/u8-stpcpy: New file.
66278         * modules/unistr/u16-stpcpy: New file.
66279         * modules/unistr/u32-stpcpy: New file.
66280         * lib/unistr/u8-stpcpy.c: New file.
66281         * lib/unistr/u16-stpcpy.c: New file.
66282         * lib/unistr/u32-stpcpy.c: New file.
66283         * lib/unistr/u-stpcpy.h: New file.
66284
66285         * modules/unistr/u8-stpncpy: New file.
66286         * modules/unistr/u16-stpncpy: New file.
66287         * modules/unistr/u32-stpncpy: New file.
66288         * lib/unistr/u8-stpncpy.c: New file.
66289         * lib/unistr/u16-stpncpy.c: New file.
66290         * lib/unistr/u32-stpncpy.c: New file.
66291         * lib/unistr/u-stpncpy.h: New file.
66292
66293         * modules/unistr/u8-strcat: New file.
66294         * modules/unistr/u16-strcat: New file.
66295         * modules/unistr/u32-strcat: New file.
66296         * lib/unistr/u8-strcat.c: New file.
66297         * lib/unistr/u16-strcat.c: New file.
66298         * lib/unistr/u32-strcat.c: New file.
66299         * lib/unistr/u-strcat.h: New file.
66300
66301         * modules/unistr/u8-strchr: New file.
66302         * modules/unistr/u16-strchr: New file.
66303         * modules/unistr/u32-strchr: New file.
66304         * lib/unistr/u8-strchr.c: New file.
66305         * lib/unistr/u16-strchr.c: New file.
66306         * lib/unistr/u32-strchr.c: New file.
66307
66308         * modules/unistr/u8-strcmp: New file.
66309         * modules/unistr/u16-strcmp: New file.
66310         * modules/unistr/u32-strcmp: New file.
66311         * lib/unistr/u8-strcmp.c: New file.
66312         * lib/unistr/u16-strcmp.c: New file.
66313         * lib/unistr/u32-strcmp.c: New file.
66314
66315         * modules/unistr/u8-strcpy: New file.
66316         * modules/unistr/u16-strcpy: New file.
66317         * modules/unistr/u32-strcpy: New file.
66318         * lib/unistr/u8-strcpy.c: New file.
66319         * lib/unistr/u16-strcpy.c: New file.
66320         * lib/unistr/u32-strcpy.c: New file.
66321         * lib/unistr/u-strcpy.h: New file.
66322
66323         * modules/unistr/u8-strcspn: New file.
66324         * modules/unistr/u16-strcspn: New file.
66325         * modules/unistr/u32-strcspn: New file.
66326         * lib/unistr/u8-strcspn.c: New file.
66327         * lib/unistr/u16-strcspn.c: New file.
66328         * lib/unistr/u32-strcspn.c: New file.
66329         * lib/unistr/u-strcspn.h: New file.
66330
66331         * modules/unistr/u8-strdup: New file.
66332         * modules/unistr/u16-strdup: New file.
66333         * modules/unistr/u32-strdup: New file.
66334         * lib/unistr/u8-strdup.c: New file.
66335         * lib/unistr/u16-strdup.c: New file.
66336         * lib/unistr/u32-strdup.c: New file.
66337         * lib/unistr/u-strdup.h: New file.
66338
66339         * modules/unistr/u8-strlen: New file.
66340         * modules/unistr/u16-strlen: New file.
66341         * modules/unistr/u32-strlen: New file.
66342         * lib/unistr/u8-strlen.c: New file.
66343         * lib/unistr/u16-strlen.c: New file.
66344         * lib/unistr/u32-strlen.c: New file.
66345         * lib/unistr/u-strlen.h: New file.
66346
66347         * modules/unistr/u8-strmblen: New file.
66348         * modules/unistr/u16-strmblen: New file.
66349         * modules/unistr/u32-strmblen: New file.
66350         * lib/unistr/u8-strmblen.c: New file.
66351         * lib/unistr/u16-strmblen.c: New file.
66352         * lib/unistr/u32-strmblen.c: New file.
66353
66354         * modules/unistr/u8-strmbtouc: New file.
66355         * modules/unistr/u16-strmbtouc: New file.
66356         * modules/unistr/u32-strmbtouc: New file.
66357         * lib/unistr/u8-strmbtouc.c: New file.
66358         * lib/unistr/u16-strmbtouc.c: New file.
66359         * lib/unistr/u32-strmbtouc.c: New file.
66360
66361         * modules/unistr/u8-strncat: New file.
66362         * modules/unistr/u16-strncat: New file.
66363         * modules/unistr/u32-strncat: New file.
66364         * lib/unistr/u8-strncat.c: New file.
66365         * lib/unistr/u16-strncat.c: New file.
66366         * lib/unistr/u32-strncat.c: New file.
66367         * lib/unistr/u-strncat.h: New file.
66368
66369         * modules/unistr/u8-strncmp: New file.
66370         * modules/unistr/u16-strncmp: New file.
66371         * modules/unistr/u32-strncmp: New file.
66372         * lib/unistr/u8-strncmp.c: New file.
66373         * lib/unistr/u16-strncmp.c: New file.
66374         * lib/unistr/u32-strncmp.c: New file.
66375
66376         * modules/unistr/u8-strncpy: New file.
66377         * modules/unistr/u16-strncpy: New file.
66378         * modules/unistr/u32-strncpy: New file.
66379         * lib/unistr/u8-strncpy.c: New file.
66380         * lib/unistr/u16-strncpy.c: New file.
66381         * lib/unistr/u32-strncpy.c: New file.
66382         * lib/unistr/u-strncpy.h: New file.
66383
66384         * modules/unistr/u8-strnlen: New file.
66385         * modules/unistr/u16-strnlen: New file.
66386         * modules/unistr/u32-strnlen: New file.
66387         * lib/unistr/u8-strnlen.c: New file.
66388         * lib/unistr/u16-strnlen.c: New file.
66389         * lib/unistr/u32-strnlen.c: New file.
66390         * lib/unistr/u-strnlen.h: New file.
66391
66392         * modules/unistr/u8-strpbrk: New file.
66393         * modules/unistr/u16-strpbrk: New file.
66394         * modules/unistr/u32-strpbrk: New file.
66395         * lib/unistr/u8-strpbrk.c: New file.
66396         * lib/unistr/u16-strpbrk.c: New file.
66397         * lib/unistr/u32-strpbrk.c: New file.
66398         * lib/unistr/u-strpbrk.h: New file.
66399
66400         * modules/unistr/u8-strrchr: New file.
66401         * modules/unistr/u16-strrchr: New file.
66402         * modules/unistr/u32-strrchr: New file.
66403         * lib/unistr/u8-strrchr.c: New file.
66404         * lib/unistr/u16-strrchr.c: New file.
66405         * lib/unistr/u32-strrchr.c: New file.
66406
66407         * modules/unistr/u8-strspn: New file.
66408         * modules/unistr/u16-strspn: New file.
66409         * modules/unistr/u32-strspn: New file.
66410         * lib/unistr/u8-strspn.c: New file.
66411         * lib/unistr/u16-strspn.c: New file.
66412         * lib/unistr/u32-strspn.c: New file.
66413         * lib/unistr/u-strspn.h: New file.
66414
66415         * modules/unistr/u8-strstr: New file.
66416         * modules/unistr/u16-strstr: New file.
66417         * modules/unistr/u32-strstr: New file.
66418         * lib/unistr/u8-strstr.c: New file.
66419         * lib/unistr/u16-strstr.c: New file.
66420         * lib/unistr/u32-strstr.c: New file.
66421         * lib/unistr/u-strstr.h: New file.
66422
66423         * modules/unistr/u8-strtok: New file.
66424         * modules/unistr/u16-strtok: New file.
66425         * modules/unistr/u32-strtok: New file.
66426         * lib/unistr/u8-strtok.c: New file.
66427         * lib/unistr/u16-strtok.c: New file.
66428         * lib/unistr/u32-strtok.c: New file.
66429         * lib/unistr/u-strtok.h: New file.
66430
66431         * modules/unistr/u8-uctomb: New file.
66432         * modules/unistr/u16-uctomb: New file.
66433         * modules/unistr/u32-uctomb: New file.
66434         * lib/unistr/u8-uctomb.c: New file.
66435         * lib/unistr/u16-uctomb.c: New file.
66436         * lib/unistr/u32-uctomb.c: New file.
66437
66438         * MODULES.html.sh (Unicode string functions): Add the new modules.
66439
66440 2007-01-08  Bruno Haible  <bruno@clisp.org>
66441
66442         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
66443         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
66444         subdirectories.
66445
66446 2007-01-08  Karl Berry  <karl@gnu.org>
66447
66448         * doc/error.texi: mention that main() fns must set program_name
66449         when progname is used.
66450
66451 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
66452
66453         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
66454         WCTYPE_H is empty, for the benefit of builds from non-distclean
66455         directories.  Problem reported by Eric Blake in
66456         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
66457
66458 2007-01-08  Bruno Haible  <bruno@clisp.org>
66459
66460         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
66461         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
66462         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
66463         PROVIDE_CANONICALIZE_FILENAME_MODE.
66464         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
66465
66466 2007-01-08  Bruno Haible  <bruno@clisp.org>
66467
66468         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
66469         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
66470         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
66471         * lib/fts.c: Likewise.
66472         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
66473
66474 2006-12-25  Bruno Haible  <bruno@clisp.org>
66475
66476         * modules/utf8-ucs4-safe: New file.
66477         * lib/utf8-ucs4-safe.h: New file.
66478         * lib/unistr/utf8-ucs4-safe.c: New file.
66479
66480         * modules/utf16-ucs4-safe: New file.
66481         * lib/utf16-ucs4-safe.h: New file.
66482         * lib/unistr/utf16-ucs4-safe.c: New file.
66483
66484         * MODULES.html.sh (Unicode string functions): Add the new modules.
66485
66486 2007-01-08  Bruno Haible  <bruno@clisp.org>
66487
66488         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
66489         (Depends-on): Add unitypes.
66490         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
66491         (u8_mbtouc_aux): Move out to separate file.
66492         (u8_mbtouc): Use ucs4_t, uint8_t types.
66493         * lib/unistr/utf8-ucs4.c: New file.
66494
66495         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
66496         (Depends-on): Add unitypes.
66497         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
66498         (u16_mbtouc_aux): Move out to separate file.
66499         (u16_mbtouc): Use ucs4_t, uint16_t types.
66500         * lib/unistr/utf16-ucs4.c: New file.
66501
66502         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
66503         (Depends-on): Add unitypes.
66504         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
66505         (u8_uctomb_aux): Move out to separate file.
66506         (u8_uctomb): Use ucs4_t, uint8_t types.
66507         * lib/unistr/ucs4-utf8.c: New file.
66508
66509         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
66510         (Depends-on): Add unitypes.
66511         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
66512         (u16_uctomb_aux): Move out to separate file.
66513         (u16_uctomb): Use ucs4_t, uint16_t types.
66514         * lib/unistr/ucs4-utf16.c: New file.
66515
66516 2006-12-25  Bruno Haible  <bruno@clisp.org>
66517
66518         * modules/unitypes: New file.
66519         * lib/unitypes.h: New file.
66520         * MODULES.html.sh (func_all_modules): New section "Unicode string
66521         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
66522         this section. Add unitypes.
66523
66524 2007-01-08  Bruno Haible  <bruno@clisp.org>
66525
66526         Avoid variable names that conflict with those from libtool.
66527         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
66528         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
66529         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
66530         library_names_spec to acl_library_names_spec, hardcode_* to
66531         acl_hardcode_*.
66532         Reported by Ralf Wildenhues.
66533
66534 2007-01-08  Bruno Haible  <bruno@clisp.org>
66535
66536         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
66537         definition.
66538         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
66539         definition.
66540         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
66541         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
66542         definition.
66543         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
66544         definition.
66545         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
66546         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
66547         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
66548         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
66549         definition.
66550         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
66551         definition.
66552         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
66553         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
66554         GC_USE_<algorithm>.
66555         * lib/gc-libgcrypt.c: Likewise.
66556         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
66557         * modules/gc-arctwo (configure.ac): Likewise.
66558         * modules/gc-des (configure.ac): Likewise.
66559         * modules/gc-hmac-md5 (configure.ac): Likewise.
66560         * modules/gc-hmac-sha1 (configure.ac): Likewise.
66561         * modules/gc-md2 (configure.ac): Likewise.
66562         * modules/gc-md4 (configure.ac): Likewise.
66563         * modules/gc-md5 (configure.ac): Likewise.
66564         * modules/gc-random (configure.ac): Likewise.
66565         * modules/gc-rijndael (configure.ac): Likewise.
66566         * modules/gc-sha1 (configure.ac): Likewise.
66567
66568 2007-01-08  Bruno Haible  <bruno@clisp.org>
66569
66570         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
66571         macro definition.
66572         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
66573         definition.
66574         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
66575         definition.
66576         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
66577         * modules/fcntl-safer (configure.ac): Likewise.
66578         * modules/fopen-safer (configure.ac): Likewise.
66579         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
66580         GNULIB_FWRITEERROR macro definition.
66581
66582 2007-01-08  Bruno Haible  <bruno@clisp.org>
66583
66584         * m4/gnulib-common.m4: New file.
66585         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
66586         (func_get_filelist): Add m4/gnulib-common.m4.
66587
66588 2007-01-08  Bruno Haible  <bruno@clisp.org>
66589
66590         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
66591         command.
66592
66593 2007-01-08  Jim Meyering  <jim@meyering.net>
66594
66595         Use a more robust test for a "can't happen" condition.
66596         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
66597         narrowed the st_size value.  Presuming the "can't happen" condition
66598         is true, that narrowing could conceivably convert an invalid st_size
66599         value into a valid one.  Instead, use a change based on Matthew
66600         Woehlke's original patch.
66601
66602         Slight readability improvement: use an assert-like macro
66603         in place of literal "abort ()" uses.
66604         * lib/fts.c (fts_assert): Define.
66605         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
66606         Use this macro instead of a bare 'abort'.
66607
66608 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
66609
66610         Don't worry about using IRIX 5.3's wctype.h broken definitions;
66611         simply work around them.
66612         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
66613         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
66614         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
66615         declaring.
66616         Don't bother to define as macros, since the standard doesn't require it.
66617         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
66618         longer worry about IRIX 5.3.
66619         (HAVE_WCTYPE_CTMP_BUG): Remove.
66620
66621 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
66622
66623         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
66624         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
66625         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
66626         Problems reported by Georg Schwarz for IRIX 5.3.
66627
66628         * gnulib-tool (autoconf_minversion): Take the maximum version number
66629         found, not the minimum.  Problem reported by James Youngman.
66630
66631 2007-01-03  Karl Berry  <karl@gnu.org>
66632
66633         * doc/error.texi: new file, explaining interaction with progname.
66634         * doc/gnulib.texi: include it.  Update copyright.
66635
66636 2007-01-03  Simon Josefsson  <simon@josefsson.org>
66637
66638         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
66639         AC_CANONICAL_HOST, to improve autobuild outputs.
66640
66641 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
66642             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
66643
66644         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
66645         sockets, server sockets, and other file descriptors.  Count errors
66646         to compute the return value.  Reorder the code a bit to be easier
66647         to follow.  Don't set event bits that were not requested (except
66648         POLLERR and POLLHUP).
66649
66650 2007-01-01  Bruno Haible  <bruno@clisp.org>
66651
66652         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
66653
66654 2007-01-03  Jim Meyering  <jim@meyering.net>
66655
66656         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
66657
66658 2007-01-02  Bruno Haible  <bruno@clisp.org>
66659
66660         * modules/settime (Include): Require timespec.h.
66661         * modules/nanosleep (Include): Likewise.
66662
66663 2007-01-01  Bruno Haible  <bruno@clisp.org>
66664
66665         * gnulib-tool (func_emit_copyright_notice): Bump year.
66666         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
66667
66668 2007-01-01  Bruno Haible  <bruno@clisp.org>
66669
66670         Improve support for OpenBSD.
66671         * build-aux/config.rpath (libname_spec): Export.
66672         (library_names_spec): New variable. Export.
66673         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
66674         library_names_spec from the config.rpath output. Locate shared library
66675         through the name pattern in library_names_spec.
66676
66677 2007-01-01  Eric Blake  <ebb9@byu.net>
66678
66679         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
66680
66681 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
66682
66683         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
66684         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
66685         assume the C locale, and avoid an "eval" that could cause trouble.
66686         Problem with SORT reported by Bob Proulx.
66687
66688         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
66689         Define.  Trivial patch from Henning Nielsen Lund, originally
66690         sent to bug-grep@gnu.org today.
66691
66692 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
66693
66694         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
66695         struct stat.  Problem reported by Henning Nielsen Lund.
66696         * lib/acl.c: Include acl.h first, to check interface.  Don't
66697         bother to include sys/types.h and sys/stat.h again.
66698
66699 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
66700
66701         Import the following change from libc; problem reported by
66702         Sven Verdoolaege.
66703
66704         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
66705
66706         [BZ #1373]
66707         * lib/argp.h: Remove __NTH for __argp_usage inline function.
66708
66709 2006-12-28  Jim Meyering  <jim@meyering.net>
66710
66711         * build-aux/announce-gen: Do not assume that the package
66712         builds any of tar.gz, tar.bz2, and .xdelta files.
66713         Suggestion from Simon Josefsson.
66714
66715 2006-12-28  Simon Josefsson  <simon@josefsson.org>
66716
66717         * modules/announce-gen: New file.
66718
66719 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
66720
66721         * lib/mbchar.h: Just include <wctype.h>; the wctype module
66722         handles its gotchas now.
66723         * lib/mbswidth.c: Likewise.
66724         * lib/wcwidth.h: Likewise.
66725         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
66726         and iswcntrl; the wctype module does this stuff now.
66727         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
66728         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66729         * modules/mbchar (Depends-on): Add wctype.
66730         * modules/mbswidth (Depends-on): Likewise.
66731         * modules/wcwidth (Depends-on): Likewise.
66732
66733 2006-12-27  Eric Blake  <ebb9@byu.net>
66734
66735         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
66736         module uses more than what <wctype.h> is required to provide.
66737
66738 2006-12-26  Eric Blake  <ebb9@byu.net>
66739
66740         * gnulib-tool (sed_extract_prog): Avoid space-tab.
66741
66742 2006-12-26  Eric Blake  <ebb9@byu.net>
66743
66744         * modules/absolute-header: New module.
66745         * modules/fcntl (Depends-on): Depend on it.
66746         * modules/inttypes (Depends-on): Likewise.
66747         * modules/stdint (Depends-on): Likewise.
66748         * modules/sys_stat (Depends-on): Likewise.
66749         * modules/wctype (Depends-on): Likewise.
66750         * MODULES.html.sh (Support for building libraries and
66751         executables): Document it.
66752
66753 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
66754
66755         * gnulib-tool (SED): Remove, undoing previous change.
66756         The problem was that it broke coreutils on Solaris, because
66757         "sed --posix" leaked into a makefile.
66758         (sed): New alias, if 'alias' and GNU sed.
66759
66760 2006-12-24  Jim Meyering  <jim@meyering.net>
66761
66762         Work around an fchownat bug in glibc-2.4:
66763         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
66764         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
66765         in spite of the -P option.
66766         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
66767         New macros.
66768         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
66769         * modules/openat (Files): Add lib/fchownat.c.
66770         * lib/openat.c (fchownat): Don't define here.  Move to...
66771         * lib/fchownat.c: ...this new file.
66772
66773 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
66774
66775         Fix bug reported by Bruno Haible in
66776         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
66777         where quotearg.c didn't compile on Mac OS X 10.2 because it
66778         lacks <wchar.h> and wint_t.
66779         * lib/wctype_.h (__wctype_wint_t): New type.
66780         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
66781         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
66782         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
66783         Arg is now of type __wctype_wint_t, not wint_t.
66784         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
66785         substitute HAVE_WINT_T.
66786         * modules/wctype (Files): Add m4/wint_t.m4.
66787         (wctype.h): Substitute HAVE_WINT_T.
66788
66789 2006-12-23  Bruno Haible  <bruno@clisp.org>
66790
66791         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
66792
66793 2006-12-23  Bruno Haible  <bruno@clisp.org>
66794
66795         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
66796         S_ISLNK.
66797         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
66798         mingw.
66799
66800 2006-12-22  Bruno Haible  <bruno@clisp.org>
66801
66802         * lib/copy-file.c: Include acl.h.
66803         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
66804         Close the file descriptors only after being done with copy_acl.
66805         * modules/copy-file (Depends-on): Add acl.
66806
66807 2006-12-22  Bruno Haible  <bruno@clisp.org>
66808
66809         * gnulib-tool (SED): New variable.
66810         Use $SED instead of sed everywhere.
66811
66812 2006-12-22  Bruno Haible  <bruno@clisp.org>
66813
66814         * modules/no-c++: New file.
66815         * m4/no-c++.m4: New file.
66816         * MODULES.html.sh (Support for building libraries and executables):
66817         Add no-c++.
66818
66819 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
66820
66821         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
66822         Include <limits.h>, and use its INT_MAX to rewrite the
66823         j loop so that it does not overflow 'int'.  Problem reported by
66824         Ralf Wildenhues in
66825         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
66826         Play it safe by shifting left by 1 rather than multiplying by 2,
66827         as GCC is less likely to optimize this away when the value
66828         is signed (when it assumes overflow leads to undefined behavior).
66829         Also, don't assume time_t uses two's complement.
66830
66831 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
66832
66833         * MODULES.html.sh: New module wctype.
66834         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
66835         * lib/fnmatch.c: Don't bother to include <wchar.h> before
66836         <wctype.h>, since the new wctype module should fix this.
66837         * lib/quotearg.c: Include <wctype.h> unconditionally, since
66838         the wctype module should arrange for it.
66839         * lib/regex_internal.h: Likewise.
66840         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
66841         since the wctype module should handle this now.
66842         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
66843         * modules/fnmatch (Depends-on): Add wctype.
66844         * modules/quotearg (Depends-on): Likewise.
66845         * modules/regex (Depends-on): Likewise.
66846
66847 2006-12-19  Bruno Haible  <bruno@clisp.org>
66848
66849         * lib/strdup.h [C++]: Wrap definitions in extern "C".
66850         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
66851
66852 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66853
66854         * modules/savewd (Depends-on): Fix dependency on fcntl.
66855
66856 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
66857
66858         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
66859         conforms to C99, rather than relying on the user's environment
66860         setting of STDINT_H.
66861
66862 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
66863         and Eric Blake  <ebb9@byu.net>
66864
66865         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
66866         This is more consistent with the other defines here.
66867         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
66868         Port to z/OS.  Problem reported by Paul Gilmartin.
66869         Change local vars to use gl_ prefix rather than ac_.
66870         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
66871         with other defines.
66872         * modules/double-slash-root: New module.
66873         * modules/dirname (Files): Remove m4/double-slash-root.m4.
66874         (Depends-on): Add double-slash-root.
66875         * MODULES.html.sh (File system functions): Mention new module.
66876
66877 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
66878
66879         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
66880         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
66881         This is for the benefit of gzip, which doesn't do i18n.
66882
66883 2006-12-12  Jim Meyering  <jim@meyering.net>
66884
66885         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
66886         Reported by Andreas Schwab <schwab@suse.de>.
66887
66888 2006-12-12  Bruno Haible  <bruno@clisp.org>
66889
66890         Merge these changes.
66891         2006-09-05  Bruno Haible  <bruno@clisp.org>
66892         * lib/iconvme.c (iconv_string): No need to save and restore errno when
66893         iconv_alloc succeeded.
66894         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
66895         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
66896         test for " && dest " at the end - dest is always != NULL there. Call
66897         iconv with 4xNULL arguments initially, to reset the state. Call iconv
66898         with 2xNULL arguments, also to flush the state storage. Handle the
66899         IRIX iconv behaviour. Realloc the final result, to throw away unused
66900         memory.
66901
66902 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
66903
66904         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
66905         and fchmodat unconditionally, since glibc 2.4 has them.
66906         Problem reported by Arkadiusz Miskiewicz.
66907
66908 2006-12-10  Bruno Haible  <bruno@clisp.org>
66909
66910         * gnulib-tool (func_import): Show the include files only for those
66911         modules that are copied and specified.
66912         Reported by Karl Berry.
66913
66914 2006-12-08  Jim Meyering  <jim@meyering.net>
66915
66916         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
66917         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
66918
66919         * build-aux/announce-gen: Add two new options, both optional:
66920         --bootstrap-tools=TOOL_LIST
66921               a comma-separated list of tools, e.g.,
66922               autoconf,automake,bison,gnulib
66923         --gnulib-snapshot-date=DATE
66924               if gnulib is in the bootstrap tool list,
66925               then report this as the snapshot date.
66926               If not specified, use the current date/time.
66927               If you specify a date here, be sure it's UTC.
66928
66929 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66930
66931         * tests/test-argp-2.sh: Fix test to match actual output.
66932         (func_compare): Fix sed script to be portable.
66933
66934 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
66935
66936         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
66937         workaround for this case.  It is not autoconfigured now; offhand
66938         it's hard to see how to autoconfigure it.
66939
66940 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
66941
66942         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
66943         a directory that is about to be chowned.  Such a directory's
66944         initial file permissions should permit the owner only and this
66945         should not be changed until after the chown, since the group and
66946         other bits would be incorrect if they granted permission before
66947         the chown.
66948
66949         Fix porting problem for iswctype reported by Georg Schwarz in:
66950         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
66951         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
66952         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
66953         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
66954         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66955
66956 2006-12-03  Jim Meyering  <jim@meyering.net>
66957
66958         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
66959         p->fts_statp may not yet be defined.
66960         (fts_read): Instead, set it in the caller, once p->fts_statp is
66961         sure to be defined, and corresponds to a top-level directory.
66962         This bug made du -x fail.  Here's the coreutils test case:
66963         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
66964         Reported by Mike Frysinger.
66965
66966 2006-12-01  Jim Meyering  <jim@meyering.net>
66967
66968         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
66969         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
66970         Reported by Simon Josefsson.
66971
66972 2006-11-30  Jim Meyering  <jim@meyering.net>
66973
66974         * m4/warning.m4: Use the all-permissive copyright notice
66975         recommended by RMS (rather than LGPL).
66976         * m4/vararrays.m4: Likewise.
66977         * m4/flexmember.m4: Likewise.
66978
66979 2006-11-29  Bruno Haible  <bruno@clisp.org>
66980
66981         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
66982         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
66983         using +=.
66984         Reported by Simon Josefsson <simon@josefsson.org>.
66985
66986 2006-11-28  James Youngman <jay@gnu.org>
66987
66988         * README: Advise users that they might find the bug-gnulib@gnu.org
66989         and autotools-announce@gnu.org mailing lists useful.
66990
66991 2006-11-28  Bruno Haible  <bruno@clisp.org>
66992
66993         * m4/ptrdiff_max.m4: Remove file.
66994
66995 2006-11-21  Bruno Haible  <bruno@clisp.org>
66996
66997         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
66998         _AC_COMPUTE_INT.
66999         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67000         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
67001         _AC_COMPUTE_INT.
67002         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67003         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
67004         _AC_COMPUTE_INT.
67005         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67006
67007 2006-11-28  Jim Meyering  <jim@meyering.net>
67008
67009         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
67010         warning from "gcc -Wshadow" about shadowing the builtin.
67011
67012 2006-11-27  Bruno Haible  <bruno@clisp.org>
67013
67014         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
67015         _AC_COMPUTE_INT.
67016         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
67017
67018 2006-11-27  Bruno Haible  <bruno@clisp.org>
67019             Paul Eggert  <eggert@cs.ucla.edu>
67020
67021         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
67022
67023 2006-11-26  Bruno Haible  <bruno@clisp.org>
67024
67025         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
67026         noinst_LTLIBRARIES.
67027
67028 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
67029             Bruno Haible  <bruno@clisp.org>
67030
67031         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
67032         if compiling with "gcc -ansi".
67033
67034 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
67035
67036         Fix some incompatibilities with gcc -ansi -pedantic.
67037         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
67038         if compiling pedantically with GCC, unless it's C99 or later.
67039         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
67040         it mishandles gcc -ansi -pedantic as well.
67041         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
67042         if gcc -pedantic.
67043         * lib/regexec.c (check_node_accept_bytes): Don't use auto
67044         initializers for struct if -pedantic, unless it's C99 or later.
67045
67046 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
67047
67048         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
67049         Don't close an fd more than once. Identical atimes indicate
67050         success, not failure.
67051
67052 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
67053
67054         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
67055
67056 2006-11-23  Jim Meyering  <jim@meyering.net>
67057
67058         * build-aux/announce-gen: New file.  From coreutils.
67059
67060 2006-11-22  Jim Meyering  <jim@meyering.net>
67061
67062         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
67063         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
67064         (fts_read): Use a temporary to narrow the overused st_size member
67065         before using it in a switch statement.  Reported by Matthew Woehlke.
67066
67067         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
67068         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
67069
67070 2006-11-20  Bruno Haible  <bruno@clisp.org>
67071
67072         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
67073         changequote instead of pairs of brackets.
67074         Reported by Andreas Schwab <schwab@suse.de>.
67075
67076 2006-11-21  Jim Meyering  <jim@meyering.net>
67077
67078         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
67079         so as to remain compatible with older compilers.
67080         Patch from Michael Deutschmann.
67081
67082 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
67083
67084         * MODULES.html.sh (File system functions): Add openat.
67085
67086         * lib/openat.h (rpl_fstatat): New macro, if
67087         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
67088         (fstatat): Define to rpl_fstatat under the same conditions,
67089         unless COMPILING_FSTATAT.
67090         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
67091         seems to have the bug.
67092         * lib/fstatat.c: New file.
67093         * modules/openat (Files): Add it.
67094
67095 2006-11-20  Bruno Haible  <bruno@clisp.org>
67096
67097         * Makefile: New file.
67098
67099 2006-11-20  Jim Meyering  <jim@meyering.net>
67100
67101         The beginnings of syntax-related checks for gnulib.
67102         * lib/Makefile: New file.
67103         * lib/t-idcache: New script.  Ensure that the two halves of
67104         idcache.c stay in sync.
67105
67106         * lib/idcache.c: Adjust comments in user- and group- portions to
67107         be more accurate, and to be consistent with one another.
67108
67109 2006-11-20  Jim Meyering  <jim@meyering.net>
67110
67111         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
67112         continue using the flexible array member (thus, this module performs
67113         half as many malloc calls), with the addition that...
67114         (getgroup, getuser): Consistently record a non-match via an empty
67115         "name" string, and map an empty string match to a NULL return value.
67116         * modules/idcache (Depends-on): Re-add flexmember.
67117
67118         * lib/idcache.c (getuser): Remove all uses of the register keyword.
67119         (getuidbyname, getgroup, getgidbyname): Likewise.
67120
67121         Use cleaner syntax: NULL rather than 0.
67122         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
67123
67124 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
67125
67126         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
67127         It mishandled the case where the group was missing.
67128         Problem reported by Greg Schafer.
67129         * modules/idcache: Likewise.
67130
67131 2006-11-18  Jim Meyering  <jim@meyering.net>
67132
67133         * check-module (%exempt_header): Add exception for some
67134         conditionally-included headers.
67135
67136         * modules/i-ring (Depends-on): Add verify.
67137         (License): Change to LGPL.
67138
67139 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
67140
67141         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
67142         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
67143         and inttostr.h.  Use snprintf rather than uinttostr, so that
67144         LGPLed code doesn't depend on GPLed.
67145
67146 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
67147
67148         * modules/inline (License): Change from GPL to LGPL.
67149
67150 2006-11-17  Jim Meyering  <jim@meyering.net>
67151
67152         * modules/d-type (License): Switch to LGPL.
67153
67154 2006-11-15  Bruno Haible  <bruno@clisp.org>
67155
67156         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
67157
67158 2006-11-15  Eric Blake  <ebb9@byu.net>
67159
67160         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
67161         the module dependency.
67162
67163 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67164             Bruno Haible  <bruno@clisp.org>
67165
67166         * gnulib-tool (func_create_testdir): Add license consistency check.
67167
67168 2006-11-15  Eric Blake  <ebb9@byu.net>
67169
67170         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
67171         random "(cached)" in configure output.
67172
67173 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67174
67175         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
67176         test for conforming inttypes.h is both announced and cached.
67177
67178         * MODULES.html.sh (seen_modules, seen_files): New variables.
67179         (func_module): Rewrite to use a few less gnulib-tool and sed
67180         invocations.  Avoid a couple of quadratic algorithms for ...
67181         (missed_modules, missed_files): ... these, with ...
67182         (func_append, func_tmpdir): ... these new functions, from
67183         gnulib-tool.  Analogously, install traps for cleanup.
67184
67185         * tests/test-gc.c (main): Remove unused variables.
67186         * tests/test-read-file.c: Include stdlib.h, for 'free'.
67187
67188 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
67189
67190         * modules/inttostr (License): Change to LGPL.
67191
67192 2006-11-14  Eric Blake  <ebb9@byu.net>
67193
67194         * modules/tempname (License): Change to LGPL.
67195
67196 2006-11-14  Eric Blake  <ebb9@byu.net>
67197
67198         * doc/functions.texi (Function Portability): *printf functions on
67199         Cygwin now understand all POSIX size specifiers.
67200
67201 2006-11-14  Bruno Haible  <bruno@clisp.org>
67202
67203         * modules/c-ctype (License): Change to LGPL.
67204
67205 2006-11-12  Bruno Haible  <bruno@clisp.org>
67206
67207         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
67208         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
67209         for GNOME libraries, for which the include files are installed in
67210         subdirectories of $prefix/include.
67211
67212 2006-11-12  Bruno Haible  <bruno@clisp.org>
67213
67214         * m4/lib-link.m4: Require at least autoconf-2.54.
67215         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
67216         name to underscores for the --with option.
67217
67218 2006-11-13  Bruno Haible  <bruno@clisp.org>
67219
67220         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
67221         the tests directory.
67222         Reported by Ralf Wildenhues.
67223
67224 2006-11-13  Bruno Haible  <bruno@clisp.org>
67225
67226         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
67227         (func_emit_initmacro_end): Undo the override here.
67228         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
67229         Works around the famous automake error in coreutils.
67230
67231 2006-11-13  Eric Blake  <ebb9@byu.net>
67232
67233         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
67234         element, not its node.
67235
67236 2006-11-12  Bruno Haible  <bruno@clisp.org>
67237
67238         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
67239         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
67240
67241 2006-11-12  Bruno Haible  <bruno@clisp.org>
67242
67243         * gnulib-tool: New option --local-symlink.
67244         (func_usage): Document it.
67245         (lsymbolic): New variable.
67246         (func_import, func_create_testdir): If --symlink was not specified,
67247         test whether --local-symlink was specified and the file comes from
67248         the local_gnulib_dir.
67249
67250 2006-11-12  Bruno Haible  <bruno@clisp.org>
67251
67252         * gnulib-tool (func_ln): New function.
67253         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
67254
67255 2006-11-12  Bruno Haible  <bruno@clisp.org>
67256
67257         Finish support for source files in subdirectories.
67258         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
67259         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
67260         AUTOMAKE_OPTIONS.
67261         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
67262
67263 2006-11-12  Bruno Haible  <bruno@clisp.org>
67264
67265         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67266         EXTRA_lib_SOURCES augmentation.
67267         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
67268
67269 2006-11-12  Jim Meyering  <jim@meyering.net>
67270
67271         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
67272         file descriptors.  This also averts a failure on systems with
67273         native openat support when a traversed directory lacks "x" access.
67274         * lib/fts_.h: Include "i-ring.h"
67275         (struct FTS) [fts_fd_ring]: New member.
67276         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
67277         (FCHDIR): Add parentheses.
67278         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
67279         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
67280         When descending, rather than simply closing the previous
67281         fts_cwd_fd value, push that file descriptor onto the ring.
67282         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
67283         (fts_open): Initialize the new fd_ring member.
67284         (fts_close): Clear the ring.
67285         (fts_safe_changedir): When possible, use our new fd_ring to skip
67286         the diropen and fstat and dev/ino comparison that would normally
67287         accompany a virtual `chdir ("..")'.
67288
67289         * modules/fts (Depends-on): Add i-ring.
67290         * modules/i-ring: New module.
67291         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
67292         * m4/i-ring.m4: New file.
67293
67294 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67295
67296         * gnulib-tool (func_create_testdir): Fix replacement of
67297         `build-aux' in configure.ac.  Run autotools in gltests
67298         subdirectory.
67299         (func_create_testdir, func_create_megatestdir, test): There is
67300         no need for '--force' in most autotool invocations in a new
67301         tree.  Actually fail the whole test if any of the tools, or the
67302         configure or make stages fail.
67303
67304         Sync from Automake.
67305         * build-aux/gnupload: Revert last change.  Add pointer to upload
67306         instructions of the GNU Maintenance Instructions.
67307         Suggestion by Karl Berry.
67308
67309 2006-11-10  Jim Meyering  <jim@meyering.net>
67310
67311         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
67312
67313 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67314
67315         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
67316         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
67317         (bind_textdomain_codeset) [! ENABLE_NLS]:
67318         Evaluate all the arguments.  That way, callers get compatible behavior
67319         if the arguments have side effects.  Also, it avoids some GCC
67320         diagnostics in some cases; Joel E. Denny reported problems when Bison
67321         was configured with --enable-gcc-warnigs.
67322
67323 2006-11-10  Jim Meyering  <jim@meyering.net>
67324
67325         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
67326         relevant options in CFLAGS (like -O, -fno-inline) are taken into
67327         account.
67328
67329 2006-11-10  Jim Meyering  <jim@meyering.net>
67330
67331         * modules/inline: New file/module.
67332         * modules/xalloc (Files): Remove m4/inline.m4.
67333         (Depends-on): Add inline, instead.
67334         * modules/oset: Likewise.
67335         * modules/list: Likewise.
67336
67337 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
67338
67339         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
67340         Problem reported by Matthew Woehlke.
67341
67342 2006-11-09  Bruno Haible  <bruno@clisp.org>
67343
67344         * lib/tempname.c (gen_tempname): Remove variant that invokes
67345         __gen_tempname.
67346         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
67347         __gen_tempname.
67348
67349 2006-11-08  Bruno Haible  <bruno@clisp.org>
67350
67351         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
67352         to 'yes' instead of 'cross-compiling'.
67353
67354 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
67355
67356         * lib/quotearg.h (quotearg_free): New decl.
67357         * lib/quotearg.c (quotearg_free): New function.
67358         (slot0, nslots, slotvec0, slotvec):
67359         Now file-scope so that quotearg_free can get at them.
67360
67361 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67362
67363         Sync from Automake.
67364         * build-aux/gnupload: Add missing 'gnu' to example URL.
67365         Report by Karl Berry.
67366
67367 2006-11-08  Bruno Haible  <bruno@clisp.org>
67368
67369         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
67370         Suggested by Paul Eggert.
67371
67372 2006-11-08  Jim Meyering  <jim@meyering.net>
67373
67374         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
67375         It's already included if !_LIBC.
67376         (fts_safe_changedir): Add a comment.
67377
67378 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
67379
67380         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
67381         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
67382         Matthew Woehlke.
67383
67384         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
67385         definitions up, to avoid colliding with change below.
67386         (static_inline) [HAVE_INLINE]: New macro.
67387         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
67388         Provide extern decls when !HAVE_INLINE.  Do not define unless
67389         static_inline is defined, either by us or by xmalloc.c.  Use
67390         static_inline rather than static inline.
67391         (XCALLOC): Optimize sizeof(T) = 1 case.
67392         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
67393
67394 2006-11-07  Bruno Haible  <bruno@clisp.org>
67395
67396         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
67397         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
67398         AC_C_INLINE.
67399         * modules/xalloc (Files): Add m4/inline.m4.
67400
67401 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67402
67403         * README: Fix typo.
67404         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
67405         (Miscellanous Notes): ...from this.
67406
67407 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
67408
67409         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
67410         Mention that offsetof should be used instead of sizeof.
67411         From Bruno Haible.
67412
67413 2006-11-07  Bruno Haible  <bruno@clisp.org>
67414
67415         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
67416
67417 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
67418
67419         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
67420         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
67421         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
67422         (gl_tree_add_before, gl_tree_add_after):
67423         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
67424         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
67425         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
67426         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
67427         (gl_linked_add_after, gl_linked_add_at): Likewise.
67428         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
67429         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
67430         (gl_tree_add_before, gl_tree_add_after): Likewise.
67431         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
67432         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
67433         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
67434
67435 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67436
67437         * lib/gl_oset.h: Use C comment style, not C++ comment style.
67438
67439 2006-11-06  Bruno Haible  <bruno@clisp.org>
67440
67441         * m4/inline.m4: New file.
67442         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
67443         * modules/list (Files): Add m4/inline.m4.
67444         * modules/oset (Files): Likewise.
67445
67446 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
67447
67448         * lib/idcache.c: Include <stddef.h>, for offsetof.
67449         (struct userid.name): Change from char * to a flexible array member.
67450         All uses changed.
67451         * modules/idcache (Depends-on): Add flexmember.
67452
67453         * MODULES.html.sh (Core language properties): New module flexmember.
67454         * modules/flexmember, m4/flexmember.m4: New files.
67455
67456         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
67457         inline functions that are identical with the old xnmalloc_inline,
67458         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
67459         that we can avoid some unnecessary integer multiplications and
67460         divisions in the common case where the element size is known at
67461         compile time.
67462         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
67463         needed.
67464         (xnboundedmalloc): Remove.
67465         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
67466         arguments, for consistency with rest of this header.
67467         (xcharalloc): Rewrite using XNMALLOC.
67468         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
67469         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
67470         versions have been moved to lib/xalloc.h and renamed to be the
67471         non-*_inline versions.
67472         (xmalloc, xrealloc): Implement without reference to the xnmalloc
67473         and xnrealloc functions, since those functions are now inline and
67474         now call us.
67475         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
67476         renaming described above.
67477         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
67478         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
67479         captures the dependency in AC_C_INLINE.
67480
67481         New module canonicalize-lgpl, proposed by Charles Wilson in
67482         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
67483         with a few small changes afterwards.
67484         * MODULES.html.sh (File system functions): New module
67485         canonicalize-lgpl.
67486         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
67487         and canonicalize_file_name.
67488         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
67489         * modules/canonicalize-lgpl: New files.
67490
67491 2006-11-05  Bruno Haible  <bruno@clisp.org>
67492
67493         * gnulib-tool (func_import, func_create_testdir): Create directories
67494         also for files in subdirectories of lib/.
67495
67496 2006-11-05  Bruno Haible  <bruno@clisp.org>
67497
67498         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
67499         ANSI C compliant.
67500
67501 2006-11-03  Bruno Haible  <bruno@clisp.org>
67502
67503         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
67504         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
67505         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
67506         (xnboundedmalloc): New inline function.
67507         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
67508         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
67509         xmalloc.
67510         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
67511         xmalloc.
67512         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
67513         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
67514         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
67515         xmalloc.
67516         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
67517         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
67518         xmalloc.
67519         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
67520         gl_tree_add_after): Use XMALLOC instead of xmalloc.
67521         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
67522         xmalloc.
67523         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
67524         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
67525         gl_tree_add_after): Use XMALLOC instead of xmalloc.
67526         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
67527         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
67528         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
67529         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
67530
67531 2006-11-03  Bruno Haible  <bruno@clisp.org>
67532
67533         * lib/c-ctype.h [C++]: Define functions without name mangling.
67534         * lib/fwriteerror.h [C++]: Likewise.
67535         * lib/gcd.h [C++]: Likewise.
67536         * lib/linebreak.h [C++]: Likewise.
67537
67538 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
67539
67540         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
67541         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
67542         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
67543         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
67544         Check for functions and headers just once.
67545         Check for declaration of canonicalize_file_name.
67546         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
67547
67548 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
67549
67550         * gnulib-tool (func_import): Fix typo in actioncmd.
67551
67552 2006-11-02  Bruno Haible  <bruno@clisp.org>
67553
67554         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
67555         newline sequence in the Makefile.am snippet as a space, like "make"
67556         does.
67557         Reported by Roger Persson <perrog@gmail.com>.
67558
67559 2006-11-01  Bruno Haible  <bruno@clisp.org>
67560
67561         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
67562         already declared in <string.h>.
67563         * lib/strcase.h (strncasecmp): Don't declare it if yes.
67564
67565 2006-11-01  Bruno Haible  <bruno@clisp.org>
67566
67567         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
67568         * lib/strcase.h: Include <string.h>.
67569         (strcasecmp): Define to rpl_strcasecmp here.
67570
67571 2006-11-01  Bruno Haible  <bruno@clisp.org>
67572
67573         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
67574
67575 2006-11-01  Eric Blake  <ebb9@byu.net>
67576
67577         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
67578
67579         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
67580
67581 2006-10-29  Bruno Haible  <bruno@clisp.org>
67582
67583         Make it compile in C++ mode.
67584         * lib/full-write.c (full_rw): Add a cast.
67585
67586 2006-11-01  Bruno Haible  <bruno@clisp.org>
67587
67588         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
67589         be POSIX compliant.
67590         Reported by Roger Persson <perrog@gmail.com>.
67591
67592 2006-11-01  Eric Blake  <ebb9@byu.net>
67593
67594         * lib/getopt_.h: Fix comments.
67595
67596 2006-10-31  Eric Blake  <ebb9@byu.net>
67597
67598         * modules/tmpdir (Depends-on): Add sys_stat.
67599         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
67600         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
67601         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
67602         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
67603         tempname.
67604
67605 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
67606
67607         Avoid some C++ diagnostics reported by Bruno Haible.
67608         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
67609         xmalloc.
67610         (quotearg_alloc): Use xcharalloc rather than xmalloc.
67611         (struct slotvec): Move to top level.
67612         (quotearg_n_options): Rewrite to avoid xmalloc.
67613         * lib/xalloc.h (xcharalloc): New function.
67614         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
67615         [defined __cplusplus]: Add function template that provides result
67616         type propagation.  This part of the change is from Bruno Haible.
67617
67618 2006-10-29  Bruno Haible  <bruno@clisp.org>
67619
67620         Make it compile in C++ mode.
67621         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
67622         * lib/strnlen1.c (strnlen1): Cast memchr result.
67623         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
67624         * lib/clean-temp.c (string_equals, string_hash): Add casts.
67625         (create_temp_dir): Rename local variable 'template'.
67626         (compile_csharp_using_sscli): Add cast.
67627         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
67628         * lib/findprog.c (find_in_path): Likewise.
67629         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
67630         * lib/wait-process.c (register_slave_subprocess): Likewise.
67631
67632 2006-10-22  Bruno Haible  <bruno@clisp.org>
67633
67634         * modules/tsearch: New file.
67635         * lib/tsearch.h: New file.
67636         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
67637         * m4/tsearch.m4: New file.
67638         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
67639
67640 2006-10-29  Eric Blake  <ebb9@byu.net>
67641
67642         * lib/arcfour.c: Assume config.h.
67643         * lib/arctwo.c: Likewise.
67644         * lib/base64.c: Likewise.
67645         * lib/check-version.c: Likewise.
67646         * lib/crc.c: Likewise.
67647         * lib/des.c: Likewise.
67648         * lib/gc-gnulib.c: Likewise.
67649         * lib/gc-libgcrypt.c: Likewise.
67650         * lib/gc-pbkdf2-sha1.c: Likewise.
67651         * lib/getaddrinfo.c: Likewise.
67652         * lib/getdelim.c: Likewise.
67653         * lib/getline.c: Likewise.
67654         * lib/hmac-md5.c: Likewise.
67655         * lib/hmac-sha1.c: Likewise.
67656         * lib/iconvme.c: Likewise.
67657         * lib/md2.c: Likewise.
67658         * lib/md4.c: Likewise.
67659         * lib/memxor.c: Likewise.
67660         * lib/read-file.c: Likewise.
67661         * lib/readline.c: Likewise.
67662         * lib/rijndael-alg-fst.c: Likewise.
67663         * lib/rijndael-api-fst.c: Likewise.
67664         * lib/xgetdomainname.c: Likewise.
67665
67666 2006-10-28  Eric Blake  <ebb9@byu.net>
67667
67668         * lib/xstrndup.c: Assume config.h.
67669
67670 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
67671
67672         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
67673         stat-macros.h is now for our own macros, whereas stat_h is for
67674         macros in the <sys/stat.h> name space.
67675         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
67676         (STAT_MACROS_H): Remove.
67677         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
67678         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
67679         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
67680         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
67681         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
67682         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
67683         Move these macros to ...
67684         * lib/stat_.h: here.  Don't include stat-macros.h.
67685         * lib/canonicalize.c: Don't include stat-macros.h.
67686         * lib/chown.c: Likewise.
67687         * lib/euidaccess.c: Likewise.
67688         * lib/file-type.c: Likewise.
67689         * lib/filemode.c: Likewise.
67690         * lib/glob.c: Likewise.
67691         * lib/isapipe.c: Likewise.
67692         * lib/lchown.c: Likewise.
67693         * lib/lstat.c: Likewise.
67694         * lib/mkdir-p.c: Likewise.
67695         * lib/rmdir.c: Likewise.
67696         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
67697         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
67698         unless mkdir isn't declared, to speed up 'configure'.
67699         Always create sys/stat.h, since it's unlikely any real sys/stat.h
67700         would define all the S_* symbols.
67701         * modules/canonicalize (Depends-on):
67702         Depend on sys_stat, not stat-macros.
67703         * modules/chown: Likewise.
67704         * modules/euidaccess: Likewise.
67705         * modules/filemode: Likewise.
67706         * modules/file-type: Likewise.
67707         * modules/glob: Likewise.
67708         * modules/isapipe: Likewise.
67709         * modules/lchown: Likewise.
67710         * modules/lstat: Likewise.
67711         * modules/mkancesdirs: Likewise.
67712         * modules/rmdir: Likewise.
67713         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
67714         * modules/modechange: Likewise.
67715         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
67716         (configure.ac): Remove gl_STAT_MACROS.
67717         * modules/sys_stat (Depends-on): Remove stat-macros.
67718
67719 2006-10-27  Bruno Haible  <bruno@clisp.org>
67720
67721         * m4/signed.m4: Remove file.
67722         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
67723         invocation.
67724         * modules/vasnprintf (Files): Remove m4/signed.m4.
67725
67726 2006-10-27  Bruno Haible  <bruno@clisp.org>
67727
67728         Update to GNU gettext 0.16.
67729         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
67730         m4/inttypes-h.m4, m4/signed.m4.
67731         * m4/gettext.m4: Update to GNU gettext 0.16.
67732         * m4/intl.m4: New file, from GNU gettext.
67733         * m4/intldir.m4: New file, from GNU gettext.
67734         * config/srclist.txt: Update
67735
67736 2006-10-27  Eric Blake  <ebb9@byu.net>
67737
67738         * MODULES.html.sh: Document tempname.
67739         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
67740         dependencies.
67741         (Files): Move lib/tempname.c...
67742         * modules/tempname: ...to this new module.
67743         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
67744         (gl_PREREQ_TEMPNAME): Move...
67745         * m4/tempname.m4: ...to this new file.
67746         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
67747         * modules/sys_stat (Depends-on): Add stat-macros.
67748         * lib/stat_.h (includes): Pick up stat macros.
67749         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
67750         if stat macros are broken.
67751         * lib/tempname.c (includes): No need to include "stat-macros.h".
67752         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
67753         (direxists, __path_search) [!_LIBC]: Don't compile these in
67754         gnulib; the tmpdir module covers that.
67755         * lib/tempname.h: New file.
67756
67757 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
67758
67759         * COPYING: Explain how gnulib-tool converts licence headers.
67760         Almost all wording by Eric Blake.
67761
67762 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
67763
67764         * lib/mbchar.h (is_basic_table): Make read-only.
67765         * lib/mbchar.c (is_basic_table): Likewise.
67766         Reported by John Darrington.
67767
67768 2006-10-25  Bruno Haible  <bruno@clisp.org>
67769
67770         * lib/progname.h (set_program_name): Undefine before defining.
67771
67772 2006-10-25  Bruno Haible  <bruno@clisp.org>
67773
67774         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
67775         false for non-gcc C++ compilers.
67776         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
67777
67778 2006-10-24  Bruno Haible  <bruno@clisp.org>
67779
67780         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
67781         iconv implementations like Irix iconv.
67782
67783 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67784
67785         * modules/vararrays: New file.
67786         * m4/vararrays.m4: New file, taken from diffutils.
67787         * MODULES.html.sh: New module vararrays.
67788
67789 2006-10-24  Karl Berry  <karl@gnu.org>
67790
67791         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
67792         Don't call GNU Unix.
67793
67794 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67795
67796         * users.txt: Add Libtool.
67797
67798         Sync from Libtool:
67799
67800         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67801
67802         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
67803         to gnulib's policy of including config.h unconditionally.
67804
67805 2006-10-24  Bruno Haible  <bruno@clisp.org>
67806
67807         * modules/wcwidth (Files): Add m4/wint_t.m4.
67808         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
67809         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
67810
67811 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
67812
67813         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
67814         to pacify GCC with some -W flags enabled.  Problem reported by
67815         Bruno Haible.
67816
67817 2006-10-24  Jim Meyering  <jim@meyering.net>
67818
67819         * MODULES.html.sh: Remove uinttostr.  It's not a module.
67820         Reported by Karl Berry.
67821
67822 2006-10-23  Bruno Haible  <bruno@clisp.org>
67823
67824         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
67825
67826 2006-10-24  Bruno Haible  <bruno@clisp.org>
67827
67828         * lib/gl_list.h: Use C comment style, not C++ comment style.
67829
67830 2006-10-23  Eric Blake  <ebb9@byu.net>
67831
67832         * lib/getaddrinfo.c (includes): Add missing include.
67833
67834 2006-10-23  Bruno Haible  <bruno@clisp.org>
67835             Paul Eggert  <eggert@cs.ucla.edu>
67836
67837         Ability to rename obstack_free.
67838         * lib/obstack.h (__obstack_free): New macro. Declare instead of
67839         obstack_free.
67840         (obstack_free): Invoke the __obstack_free macro.
67841         * lib/obstack.c (obstack_free): Use __obstack_free macro.
67842
67843 2006-10-23  Bruno Haible  <bruno@clisp.org>
67844             Paul Eggert  <eggert@cs.ucla.edu>
67845
67846         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
67847         __argc, __argv from the declaration. (They are defined as macros on
67848         mingw.)
67849
67850 2006-10-22  Bruno Haible  <bruno@clisp.org>
67851
67852         * doc/gnulib-intro.texi: New file.
67853         * doc/gnulib.texi: Include it.
67854
67855 2006-10-21  Bruno Haible  <bruno@clisp.org>
67856
67857         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
67858         "Introduction", "Miscellanous Notes", "Particular Modules".
67859
67860 2006-10-21  Bruno Haible  <bruno@clisp.org>
67861
67862         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67863         Change mostlyclean-local rule to avoid sh syntax error from bash
67864         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
67865
67866 2006-10-23  Jim Meyering  <jim@meyering.net>
67867
67868         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
67869         in place of snprintf.
67870
67871         * modules/inttostr (Files): Add lib/uinttostr.c.
67872         * lib/uinttostr.c (inttostr): New file/function.
67873         * lib/inttostr.h (uinttostr): Declare.
67874         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
67875         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
67876         Add uinttostr.
67877         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
67878
67879 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
67880
67881         * lib/canonicalize.c (ELOOP): Define if not already defined.
67882         Problem reported by Bruno Haible in
67883         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
67884
67885 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
67886
67887         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
67888         Problem reported by Perry Smith and Ville Laurikari.
67889
67890         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
67891         uses.
67892
67893 2006-10-19  Bruno Haible  <bruno@clisp.org>
67894
67895         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
67896         for mingw.
67897
67898 2006-10-19  Bruno Haible  <bruno@clisp.org>
67899
67900         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
67901         Needed for mingw.
67902
67903 2006-10-19  Bruno Haible  <bruno@clisp.org>
67904
67905         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
67906
67907 2006-10-19  Bruno Haible  <bruno@clisp.org>
67908
67909         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
67910         it.
67911
67912 2006-10-19  Bruno Haible  <bruno@clisp.org>
67913
67914         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
67915         invocation.
67916
67917 2006-10-19  Bruno Haible  <bruno@clisp.org>
67918
67919         * gnulib-tool (func_create_testdir): Don't include ftruncate and
67920         mountlist by default.
67921
67922 2006-10-16  Bruno Haible  <bruno@clisp.org>
67923
67924         * lib/c-strstr.c: Include c-strstr.h.
67925
67926 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
67927
67928         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
67929         in a slash.
67930
67931 2006-10-18  Bruno Haible  <bruno@clisp.org>
67932
67933         * lib/lock.h [C++]: Wrap definitions in extern "C".
67934
67935 2006-10-18  Bruno Haible  <bruno@clisp.org>
67936
67937         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
67938         gl_LIBOBJS list.
67939
67940 2006-10-18  Bruno Haible  <bruno@clisp.org>
67941
67942         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
67943
67944 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
67945
67946         * lib/xstrtol.h: Include gettext.h.
67947         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
67948         Problem reported by Eric Blake.
67949         * modules/xstrtol (Depends-on): Add gettext-h.
67950
67951 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
67952
67953         * lib/strftime.c (advance): New macro.
67954         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
67955         incomplete type, so you can't add 0 to it.  Problem and patch
67956         reported by Eelco Dolstra for dietlibc.
67957
67958 2006-10-18  Jim Meyering  <jim@meyering.net>
67959
67960         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
67961         type for a local, and rename it: s/up/user_proc/.
67962
67963 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
67964
67965         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
67966         READ_UTMP_USER_PROCESS.
67967         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
67968
67969 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
67970
67971         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
67972         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
67973
67974 2006-10-17  Eric Blake  <ebb9@byu.net>
67975
67976         * lib/sigprocmask.c (sigprocmask): Fix typo.
67977
67978         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
67979
67980         * modules/clean-temp (Makefile.am): Don't add to make output...
67981         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
67982         config.h.
67983
67984 2006-10-17  Bruno Haible  <bruno@clisp.org>
67985
67986         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
67987         differently if DEFAULT_TEXT_DOMAIN is set.
67988
67989 2006-10-16  Bruno Haible  <bruno@clisp.org>
67990
67991         * lib/clean-temp.c: Include fwriteerror.h.
67992
67993 2006-10-16  Bruno Haible  <bruno@clisp.org>
67994
67995         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
67996
67997 2006-10-16  Bruno Haible  <bruno@clisp.org>
67998
67999         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
68000         * lib/sigprocmask.h: Include <sys/types.h>.
68001         (sigset_t): Use the system's definition if present.
68002
68003 2006-10-17  Eric Blake  <ebb9@byu.net>
68004
68005         * lib/xvasprintf.c (includes): Assume config.h.
68006         * lib/xasprintf.c (includes): Likewise.
68007
68008 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
68009
68010         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
68011         at least as wide as intmax_t.
68012
68013 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
68014
68015         (Imported from Automake.)
68016         * build-aux/gnupload: Update to version 1.1 of directive file.
68017
68018 2006-10-16  Eric Blake  <ebb9@byu.net>
68019
68020         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
68021         match Automake 1.10a.
68022
68023 2006-10-14  Bruno Haible  <bruno@clisp.org>
68024
68025         * modules/sigprocmask: New file.
68026         * lib/sigprocmask.h: New file.
68027         * lib/sigprocmask.c: New file.
68028         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
68029         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
68030         request sigprocmask.o.
68031         (gl_PREREQ_SIGPROCMASK): New macro.
68032         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
68033         (Depends-on): Add sigprocmask.
68034         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
68035         gt_SIGNALBLOCKING. Test for 'raise' only once.
68036         * lib/fatal-signal.c: Include sigprocmask.h.
68037         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
68038         unblock_fatal_signals): Define always.
68039         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68040         sigprocmask.
68041
68042 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
68043
68044         Sync from Automake.
68045         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
68046         which incorrectly sets the mode of an existing destination
68047         directory.  In some cases the unpatched install-sh could do the
68048         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
68049         system.  We hope this is rare in practice, but it's clearly worth
68050         fixing.  Problem reported by Alex Unleashed in
68051         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
68052         Also, don't bother to check for -m bugs unless we're using -m;
68053         suggested by Stepan Kasal.
68054
68055 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68056
68057         Sync from Automake.
68058         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
68059         `-c' flag, so they appear at the same position as in %FASTDEP%
68060         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
68061         which ignores unknown options only after the first non-option.
68062         Bug report against M4 by Nelson H. F. Beebe.
68063
68064 2006-10-13  Jim Meyering  <jim@meyering.net>
68065
68066         Fix a bug in yesterday's change.
68067         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
68068         p->fts_statp->st_dev would be used uninitialized.
68069         Ensures that we always call fts_stat on the very first entry.
68070         Miklos Szeredi reported that find -xdev stopped working.
68071
68072 2006-10-12  Bruno Haible  <bruno@clisp.org>
68073
68074         * gnulib-tool (func_get_automake_snippet): Append an automatically
68075         computed EXTRA_DIST augmentation.
68076         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
68077         * modules/alloca-opt (Makefile.am): Likewise.
68078         * modules/allocsa (Makefile.am): Likewise.
68079         * modules/arcfour (Makefile.am): Likewise.
68080         * modules/arctwo (Makefile.am): Likewise.
68081         * modules/argmatch (Makefile.am): Likewise.
68082         * modules/argz (Makefile.am): Likewise.
68083         * modules/atexit (Makefile.am): Likewise.
68084         * modules/backupfile (Makefile.am): Likewise.
68085         * modules/byteswap (Makefile.am): Likewise.
68086         * modules/c-strtod (Makefile.am): Likewise.
68087         * modules/c-strtold (Makefile.am): Likewise.
68088         * modules/calloc (Makefile.am): Likewise.
68089         * modules/canon-host (Makefile.am): Likewise.
68090         * modules/canonicalize (Makefile.am): Likewise.
68091         * modules/chdir-long (Makefile.am): Likewise.
68092         * modules/chdir-safer (Makefile.am): Likewise.
68093         * modules/check-version (Makefile.am): Likewise.
68094         * modules/chown (Makefile.am): Likewise.
68095         * modules/cloexec (Makefile.am): Likewise.
68096         * modules/close-stream (Makefile.am): Likewise.
68097         * modules/closeout (Makefile.am): Likewise.
68098         * modules/crc (Makefile.am): Likewise.
68099         * modules/csharpexec (Makefile.am): Likewise.
68100         * modules/cycle-check (Makefile.am): Likewise.
68101         * modules/des (Makefile.am): Likewise.
68102         * modules/dev-ino (Makefile.am): Likewise.
68103         * modules/dirfd (Makefile.am): Likewise.
68104         * modules/dirname (Makefile.am): Likewise.
68105         * modules/dup2 (Makefile.am): Likewise.
68106         * modules/eealloc (Makefile.am): Likewise.
68107         * modules/error (Makefile.am): Likewise.
68108         * modules/euidaccess (Makefile.am): Likewise.
68109         * modules/exclude (Makefile.am): Likewise.
68110         * modules/exitfail (Makefile.am): Likewise.
68111         * modules/fcntl-safer (Makefile.am): Likewise.
68112         * modules/fcntl (Makefile.am): Likewise.
68113         * modules/file-type (Makefile.am): Likewise.
68114         * modules/fileblocks (Makefile.am): Likewise.
68115         * modules/filemode (Makefile.am): Likewise.
68116         * modules/filenamecat (Makefile.am): Likewise.
68117         * modules/fnmatch (Makefile.am): Likewise.
68118         * modules/fopen-safer (Makefile.am): Likewise.
68119         * modules/fpending (Makefile.am): Likewise.
68120         * modules/fprintftime (Makefile.am): Likewise.
68121         * modules/free (Makefile.am): Likewise.
68122         * modules/fsusage (Makefile.am): Likewise.
68123         * modules/ftruncate (Makefile.am): Likewise.
68124         * modules/fts (Makefile.am): Likewise.
68125         * modules/gc-arcfour (Makefile.am): Likewise.
68126         * modules/gc-des (Makefile.am): Likewise.
68127         * modules/gc-hmac-md5 (Makefile.am): Likewise.
68128         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
68129         * modules/gc-md4 (Makefile.am): Likewise.
68130         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
68131         * modules/gc-sha1 (Makefile.am): Likewise.
68132         * modules/gc (Makefile.am): Likewise.
68133         * modules/getaddrinfo (Makefile.am): Likewise.
68134         * modules/getcwd (Makefile.am): Likewise.
68135         * modules/getdelim (Makefile.am): Likewise.
68136         * modules/getdomainname (Makefile.am): Likewise.
68137         * modules/getgroups (Makefile.am): Likewise.
68138         * modules/gethostname (Makefile.am): Likewise.
68139         * modules/gethrxtime (Makefile.am): Likewise.
68140         * modules/getline (Makefile.am): Likewise.
68141         * modules/getloadavg (Makefile.am): Likewise.
68142         * modules/getlogin_r (Makefile.am): Likewise.
68143         * modules/getndelim2 (Makefile.am): Likewise.
68144         * modules/getopt (Makefile.am): Likewise.
68145         * modules/getpagesize (Makefile.am): Likewise.
68146         * modules/getpass-gnu (Makefile.am): Likewise.
68147         * modules/getpass (Makefile.am): Likewise.
68148         * modules/getsubopt (Makefile.am): Likewise.
68149         * modules/gettime (Makefile.am): Likewise.
68150         * modules/gettimeofday (Makefile.am): Likewise.
68151         * modules/getugroups (Makefile.am): Likewise.
68152         * modules/getusershell (Makefile.am): Likewise.
68153         * modules/glob (Makefile.am): Likewise.
68154         * modules/group-member (Makefile.am): Likewise.
68155         * modules/hard-locale (Makefile.am): Likewise.
68156         * modules/hash (Makefile.am): Likewise.
68157         * modules/hmac-md5 (Makefile.am): Likewise.
68158         * modules/hmac-sha1 (Makefile.am): Likewise.
68159         * modules/human (Makefile.am): Likewise.
68160         * modules/idcache (Makefile.am): Likewise.
68161         * modules/imaxabs (Makefile.am): Likewise.
68162         * modules/imaxdiv (Makefile.am): Likewise.
68163         * modules/inet_ntop (Makefile.am): Likewise.
68164         * modules/inet_pton (Makefile.am): Likewise.
68165         * modules/intprops (Makefile.am): Likewise.
68166         * modules/inttostr (Makefile.am): Likewise.
68167         * modules/inttypes (Makefile.am): Likewise.
68168         * modules/isapipe (Makefile.am): Likewise.
68169         * modules/javaversion (Makefile.am): Likewise.
68170         * modules/lchmod (Makefile.am): Likewise.
68171         * modules/lchown (Makefile.am): Likewise.
68172         * modules/localcharset (Makefile.am): Likewise.
68173         * modules/long-options (Makefile.am): Likewise.
68174         * modules/lstat (Makefile.am): Likewise.
68175         * modules/malloc (Makefile.am): Likewise.
68176         * modules/mathl (Makefile.am): Likewise.
68177         * modules/mbchar (Makefile.am): Likewise.
68178         * modules/md2 (Makefile.am): Likewise.
68179         * modules/md4 (Makefile.am): Likewise.
68180         * modules/md5 (Makefile.am): Likewise.
68181         * modules/memcasecmp (Makefile.am): Likewise.
68182         * modules/memchr (Makefile.am): Likewise.
68183         * modules/memcmp (Makefile.am): Likewise.
68184         * modules/memcoll (Makefile.am): Likewise.
68185         * modules/memcpy (Makefile.am): Likewise.
68186         * modules/memmem (Makefile.am): Likewise.
68187         * modules/memmove (Makefile.am): Likewise.
68188         * modules/mempcpy (Makefile.am): Likewise.
68189         * modules/memrchr (Makefile.am): Likewise.
68190         * modules/memset (Makefile.am): Likewise.
68191         * modules/memxor (Makefile.am): Likewise.
68192         * modules/mkancesdirs (Makefile.am): Likewise.
68193         * modules/mkdir-p (Makefile.am): Likewise.
68194         * modules/mkdir (Makefile.am): Likewise.
68195         * modules/mkdtemp (Makefile.am): Likewise.
68196         * modules/mkstemp (Makefile.am): Likewise.
68197         * modules/mktime (Makefile.am): Likewise.
68198         * modules/modechange (Makefile.am): Likewise.
68199         * modules/mountlist (Makefile.am): Likewise.
68200         * modules/nanosleep (Makefile.am): Likewise.
68201         * modules/obstack (Makefile.am): Likewise.
68202         * modules/openat (Makefile.am): Likewise.
68203         * modules/pagealign_alloc (Makefile.am): Likewise.
68204         * modules/pathmax (Makefile.am): Likewise.
68205         * modules/physmem (Makefile.am): Likewise.
68206         * modules/poll (Makefile.am): Likewise.
68207         * modules/posixtm (Makefile.am): Likewise.
68208         * modules/posixver (Makefile.am): Likewise.
68209         * modules/putenv (Makefile.am): Likewise.
68210         * modules/quote (Makefile.am): Likewise.
68211         * modules/quotearg (Makefile.am): Likewise.
68212         * modules/raise (Makefile.am): Likewise.
68213         * modules/read-file (Makefile.am): Likewise.
68214         * modules/readline (Makefile.am): Likewise.
68215         * modules/readlink (Makefile.am): Likewise.
68216         * modules/readtokens (Makefile.am): Likewise.
68217         * modules/readutmp (Makefile.am): Likewise.
68218         * modules/realloc (Makefile.am): Likewise.
68219         * modules/regex (Makefile.am): Likewise.
68220         * modules/rename-dest-slash (Makefile.am): Likewise.
68221         * modules/rename (Makefile.am): Likewise.
68222         * modules/rijndael (Makefile.am): Likewise.
68223         * modules/rmdir (Makefile.am): Likewise.
68224         * modules/rpmatch (Makefile.am): Likewise.
68225         * modules/safe-read (Makefile.am): Likewise.
68226         * modules/safe-write (Makefile.am): Likewise.
68227         * modules/same-inode (Makefile.am): Likewise.
68228         * modules/same (Makefile.am): Likewise.
68229         * modules/save-cwd (Makefile.am): Likewise.
68230         * modules/savedir (Makefile.am): Likewise.
68231         * modules/setenv (Makefile.am): Likewise.
68232         * modules/settime (Makefile.am): Likewise.
68233         * modules/sha1 (Makefile.am): Likewise.
68234         * modules/sig2str (Makefile.am): Likewise.
68235         * modules/snprintf (Makefile.am): Likewise.
68236         * modules/stat-macros (Makefile.am): Likewise.
68237         * modules/stat-time (Makefile.am): Likewise.
68238         * modules/stdbool (Makefile.am): Likewise.
68239         * modules/stdint (Makefile.am): Likewise.
68240         * modules/stdlib-safer (Makefile.am): Likewise.
68241         * modules/stpcpy (Makefile.am): Likewise.
68242         * modules/stpncpy (Makefile.am): Likewise.
68243         * modules/strcase (Makefile.am): Likewise.
68244         * modules/strcasestr (Makefile.am): Likewise.
68245         * modules/strchrnul (Makefile.am): Likewise.
68246         * modules/strcspn (Makefile.am): Likewise.
68247         * modules/strdup (Makefile.am): Likewise.
68248         * modules/strerror (Makefile.am): Likewise.
68249         * modules/strftime (Makefile.am): Likewise.
68250         * modules/strndup (Makefile.am): Likewise.
68251         * modules/strnlen (Makefile.am): Likewise.
68252         * modules/strpbrk (Makefile.am): Likewise.
68253         * modules/strsep (Makefile.am): Likewise.
68254         * modules/strstr (Makefile.am): Likewise.
68255         * modules/strtod (Makefile.am): Likewise.
68256         * modules/strtoimax (Makefile.am): Likewise.
68257         * modules/strtok_r (Makefile.am): Likewise.
68258         * modules/strtol (Makefile.am): Likewise.
68259         * modules/strtoll (Makefile.am): Likewise.
68260         * modules/strtoul (Makefile.am): Likewise.
68261         * modules/strtoull (Makefile.am): Likewise.
68262         * modules/strtoumax (Makefile.am): Likewise.
68263         * modules/strverscmp (Makefile.am): Likewise.
68264         * modules/sys_socket (Makefile.am): Likewise.
68265         * modules/sys_stat (Makefile.am): Likewise.
68266         * modules/sysexits (Makefile.am): Likewise.
68267         * modules/time_r (Makefile.am): Likewise.
68268         * modules/timegm (Makefile.am): Likewise.
68269         * modules/timespec (Makefile.am): Likewise.
68270         * modules/tmpfile-safer (Makefile.am): Likewise.
68271         * modules/trim (Makefile.am): Likewise.
68272         * modules/unistd-safer (Makefile.am): Likewise.
68273         * modules/unlinkdir (Makefile.am): Likewise.
68274         * modules/unlocked-io (Makefile.am): Likewise.
68275         * modules/userspec (Makefile.am): Likewise.
68276         * modules/utime (Makefile.am): Likewise.
68277         * modules/utimecmp (Makefile.am): Likewise.
68278         * modules/utimens (Makefile.am): Likewise.
68279         * modules/vasnprintf (Makefile.am): Likewise.
68280         * modules/vasprintf (Makefile.am): Likewise.
68281         * modules/vsnprintf (Makefile.am): Likewise.
68282         * modules/xalloc (Makefile.am): Likewise.
68283         * modules/xgetcwd (Makefile.am): Likewise.
68284         * modules/xnanosleep (Makefile.am): Likewise.
68285         * modules/xreadlink (Makefile.am): Likewise.
68286         * modules/xstrtod (Makefile.am): Likewise.
68287         * modules/xstrtol (Makefile.am): Likewise.
68288         * modules/xstrtold (Makefile.am): Likewise.
68289         * modules/yesno (Makefile.am): Likewise.
68290         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
68291
68292 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
68293
68294         * modules/error (Makefile.am): Distribute files through
68295         EXTRA_DIST, not lib_SOURCES.
68296
68297 2006-10-12  Eric Blake  <ebb9@byu.net>
68298
68299         * modules/error (Makefile.am): Distribute files in /lib.
68300         * modules/obstack (Makefile.am): Likewise.
68301
68302 2006-10-12  Bruno Haible  <bruno@clisp.org>
68303
68304         * modules/acl (Makefile.am): Distribute all files in lib/ through
68305         EXTRA_DIST.
68306         * modules/arcfour (Makefile.am): Likewise.
68307         * modules/arctwo (Makefile.am): Likewise.
68308         * modules/argmatch (Makefile.am): Likewise.
68309         * modules/argz (Makefile.am): Likewise.
68310         * modules/atexit (Makefile.am): Likewise.
68311         * modules/backupfile (Makefile.am): Likewise.
68312         * modules/c-strtod (Makefile.am): Likewise.
68313         * modules/c-strtold (Makefile.am): Likewise.
68314         * modules/calloc (Makefile.am): Likewise.
68315         * modules/canon-host (Makefile.am): Likewise.
68316         * modules/canonicalize (Makefile.am): Likewise.
68317         * modules/chdir-long (Makefile.am): Likewise.
68318         * modules/chdir-safer (Makefile.am): Likewise.
68319         * modules/check-version (Makefile.am): Likewise.
68320         * modules/chown (Makefile.am): Likewise.
68321         * modules/cloexec (Makefile.am): Likewise.
68322         * modules/close-stream (Makefile.am): Likewise.
68323         * modules/closeout (Makefile.am): Likewise.
68324         * modules/crc (Makefile.am): Likewise.
68325         * modules/cycle-check (Makefile.am): Likewise.
68326         * modules/des (Makefile.am): Likewise.
68327         * modules/dirfd (Makefile.am): Likewise.
68328         * modules/dirname (Makefile.am): Likewise.
68329         * modules/dup2 (Makefile.am): Likewise.
68330         * modules/euidaccess (Makefile.am): Likewise.
68331         * modules/exclude (Makefile.am): Likewise.
68332         * modules/exitfail (Makefile.am): Likewise.
68333         * modules/fcntl-safer (Makefile.am): Likewise.
68334         * modules/file-type (Makefile.am): Likewise.
68335         * modules/fileblocks (Makefile.am): Likewise.
68336         * modules/filemode (Makefile.am): Likewise.
68337         * modules/filenamecat (Makefile.am): Likewise.
68338         * modules/fnmatch (Makefile.am): Likewise.
68339         * modules/fopen-safer (Makefile.am): Likewise.
68340         * modules/fpending (Makefile.am): Likewise.
68341         * modules/fprintftime (Makefile.am): Likewise.
68342         * modules/free (Makefile.am): Likewise.
68343         * modules/fsusage (Makefile.am): Likewise.
68344         * modules/ftruncate (Makefile.am): Likewise.
68345         * modules/fts (Makefile.am): Likewise.
68346         * modules/gc (Makefile.am): Likewise.
68347         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
68348         * modules/getaddrinfo (Makefile.am): Likewise.
68349         * modules/getcwd (Makefile.am): Likewise.
68350         * modules/getdelim (Makefile.am): Likewise.
68351         * modules/getdomainname (Makefile.am): Likewise.
68352         * modules/getgroups (Makefile.am): Likewise.
68353         * modules/gethostname (Makefile.am): Likewise.
68354         * modules/gethrxtime (Makefile.am): Likewise.
68355         * modules/getline (Makefile.am): Likewise.
68356         * modules/getloadavg (Makefile.am): Likewise.
68357         * modules/getlogin_r (Makefile.am): Likewise.
68358         * modules/getopt (Makefile.am): Likewise.
68359         * modules/getpass (Makefile.am): Likewise.
68360         * modules/getpass-gnu (Makefile.am): Likewise.
68361         * modules/getsubopt (Makefile.am): Likewise.
68362         * modules/gettime (Makefile.am): Likewise.
68363         * modules/gettimeofday (Makefile.am): Likewise.
68364         * modules/getugroups (Makefile.am): Likewise.
68365         * modules/getusershell (Makefile.am): Likewise.
68366         * modules/glob (Makefile.am): Likewise.
68367         * modules/group-member (Makefile.am): Likewise.
68368         * modules/hard-locale (Makefile.am): Likewise.
68369         * modules/hash (Makefile.am): Likewise.
68370         * modules/hmac-md5 (Makefile.am): Likewise.
68371         * modules/hmac-sha1 (Makefile.am): Likewise.
68372         * modules/human (Makefile.am): Likewise.
68373         * modules/idcache (Makefile.am): Likewise.
68374         * modules/imaxabs (Makefile.am): Likewise.
68375         * modules/imaxdiv (Makefile.am): Likewise.
68376         * modules/inet_ntop (Makefile.am): Likewise.
68377         * modules/inet_pton (Makefile.am): Likewise.
68378         * modules/inttostr (Makefile.am): Likewise.
68379         * modules/isapipe (Makefile.am): Likewise.
68380         * modules/lchown (Makefile.am): Likewise.
68381         * modules/long-options (Makefile.am): Likewise.
68382         * modules/lstat (Makefile.am): Likewise.
68383         * modules/malloc (Makefile.am): Likewise.
68384         * modules/mathl (Makefile.am): Likewise.
68385         * modules/mbchar (Makefile.am): Likewise.
68386         * modules/md2 (Makefile.am): Likewise.
68387         * modules/md4 (Makefile.am): Likewise.
68388         * modules/md5 (Makefile.am): Likewise.
68389         * modules/memcasecmp (Makefile.am): Likewise.
68390         * modules/memchr (Makefile.am): Likewise.
68391         * modules/memcmp (Makefile.am): Likewise.
68392         * modules/memcoll (Makefile.am): Likewise.
68393         * modules/memcpy (Makefile.am): Likewise.
68394         * modules/memmem (Makefile.am): Likewise.
68395         * modules/memmove (Makefile.am): Likewise.
68396         * modules/mempcpy (Makefile.am): Likewise.
68397         * modules/memrchr (Makefile.am): Likewise.
68398         * modules/memset (Makefile.am): Likewise.
68399         * modules/memxor (Makefile.am): Likewise.
68400         * modules/mkancesdirs (Makefile.am): Likewise.
68401         * modules/mkdir (Makefile.am): Likewise.
68402         * modules/mkdir-p (Makefile.am): Likewise.
68403         * modules/mkdtemp (Makefile.am): Likewise.
68404         * modules/mkstemp (Makefile.am): Likewise.
68405         * modules/mktime (Makefile.am): Likewise.
68406         * modules/modechange (Makefile.am): Likewise.
68407         * modules/mountlist (Makefile.am): Likewise.
68408         * modules/nanosleep (Makefile.am): Likewise.
68409         * modules/openat (Makefile.am): Likewise.
68410         * modules/pagealign_alloc (Makefile.am): Likewise.
68411         * modules/physmem (Makefile.am): Likewise.
68412         * modules/poll (Makefile.am): Likewise.
68413         * modules/posixtm (Makefile.am): Likewise.
68414         * modules/posixver (Makefile.am): Likewise.
68415         * modules/putenv (Makefile.am): Likewise.
68416         * modules/quote (Makefile.am): Likewise.
68417         * modules/quotearg (Makefile.am): Likewise.
68418         * modules/raise (Makefile.am): Likewise.
68419         * modules/read-file (Makefile.am): Likewise.
68420         * modules/readline (Makefile.am): Likewise.
68421         * modules/readlink (Makefile.am): Likewise.
68422         * modules/readtokens (Makefile.am): Likewise.
68423         * modules/readutmp (Makefile.am): Likewise.
68424         * modules/realloc (Makefile.am): Likewise.
68425         * modules/regex (Makefile.am): Likewise.
68426         * modules/rename (Makefile.am): Likewise.
68427         * modules/rename-dest-slash (Makefile.am): Likewise.
68428         * modules/rijndael (Makefile.am): Likewise.
68429         * modules/rmdir (Makefile.am): Likewise.
68430         * modules/rpmatch (Makefile.am): Likewise.
68431         * modules/safe-read (Makefile.am): Likewise.
68432         * modules/safe-write (Makefile.am): Likewise.
68433         * modules/same (Makefile.am): Likewise.
68434         * modules/save-cwd (Makefile.am): Likewise.
68435         * modules/savedir (Makefile.am): Likewise.
68436         * modules/setenv (Makefile.am): Likewise.
68437         * modules/settime (Makefile.am): Likewise.
68438         * modules/sha1 (Makefile.am): Likewise.
68439         * modules/sig2str (Makefile.am): Likewise.
68440         * modules/snprintf (Makefile.am): Likewise.
68441         * modules/stdlib-safer (Makefile.am): Likewise.
68442         * modules/stpcpy (Makefile.am): Likewise.
68443         * modules/stpncpy (Makefile.am): Likewise.
68444         * modules/strcase (Makefile.am): Likewise.
68445         * modules/strcasestr (Makefile.am): Likewise.
68446         * modules/strchrnul (Makefile.am): Likewise.
68447         * modules/strcspn (Makefile.am): Likewise.
68448         * modules/strdup (Makefile.am): Likewise.
68449         * modules/strerror (Makefile.am): Likewise.
68450         * modules/strftime (Makefile.am): Likewise.
68451         * modules/strndup (Makefile.am): Likewise.
68452         * modules/strnlen (Makefile.am): Likewise.
68453         * modules/strpbrk (Makefile.am): Likewise.
68454         * modules/strsep (Makefile.am): Likewise.
68455         * modules/strstr (Makefile.am): Likewise.
68456         * modules/strtod (Makefile.am): Likewise.
68457         * modules/strtoimax (Makefile.am): Likewise.
68458         * modules/strtok_r (Makefile.am): Likewise.
68459         * modules/strtol (Makefile.am): Likewise.
68460         * modules/strtoll (Makefile.am): Likewise.
68461         * modules/strtoul (Makefile.am): Likewise.
68462         * modules/strtoull (Makefile.am): Likewise.
68463         * modules/strtoumax (Makefile.am): Likewise.
68464         * modules/strverscmp (Makefile.am): Likewise.
68465         * modules/time_r (Makefile.am): Likewise.
68466         * modules/timegm (Makefile.am): Likewise.
68467         * modules/tmpfile-safer (Makefile.am): Likewise.
68468         * modules/unistd-safer (Makefile.am): Likewise.
68469         * modules/unlinkdir (Makefile.am): Likewise.
68470         * modules/userspec (Makefile.am): Likewise.
68471         * modules/utime (Makefile.am): Likewise.
68472         * modules/utimecmp (Makefile.am): Likewise.
68473         * modules/utimens (Makefile.am): Likewise.
68474         * modules/vasnprintf (Makefile.am): Likewise.
68475         * modules/vasprintf (Makefile.am): Likewise.
68476         * modules/vsnprintf (Makefile.am): Likewise.
68477         * modules/xalloc (Makefile.am): Likewise.
68478         * modules/xgetcwd (Makefile.am): Likewise.
68479         * modules/xnanosleep (Makefile.am): Likewise.
68480         * modules/xreadlink (Makefile.am): Likewise.
68481         * modules/xstrtod (Makefile.am): Likewise.
68482         * modules/xstrtol (Makefile.am): Likewise.
68483         * modules/xstrtold (Makefile.am): Likewise.
68484         * modules/yesno (Makefile.am): Likewise.
68485
68486 2006-10-12  Jim Meyering  <jim@meyering.net>
68487
68488         * m4/getloadavg.m4: Revert the change below.
68489
68490         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
68491         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
68492         fail with a symlink, which is what coreutils' ./bootstrap now
68493         creates by default.
68494
68495 2006-10-12  Bruno Haible  <bruno@clisp.org>
68496
68497         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
68498         mingw.
68499         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
68500         MSVC and mingw explicitly.
68501
68502 2006-10-11  Simon Josefsson  <jas@extundo.com>
68503             Bruno Haible  <bruno@clisp.org>
68504
68505         Add support for multiple gnulib-tool invocations in the scope of a
68506         single configure.ac file.
68507         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
68508         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
68509         with the same contents as the _LIBADD variable.
68510         (func_emit_initmacro_start, func_emit_initmacro_end,
68511         func_emit_initmacro_done): New functions.
68512         (func_import, func_create_testdir): Invoke them. Allow the identifiers
68513         gl_LIBOBJS and gl_LTLIBOBJS.
68514
68515 2006-10-11  Bruno Haible  <bruno@clisp.org>
68516
68517         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
68518         (func_create_testdir): Don't create po/Makefile.am, don't invoke
68519         autoreconf. Instead, invoke autopoint explicitly but move back the
68520         *.m4 files from gnulib.
68521
68522 2006-10-11  Bruno Haible  <bruno@clisp.org>
68523
68524         * gnulib-tool (func_usage): Make module names after --create-testdir
68525         optional.
68526         (func_create_testdir): If no module was specified, use nearly all
68527         modules.
68528
68529 2006-10-12  Jim Meyering  <jim@meyering.net>
68530
68531         Big performance improvement for fts-based tools that use FTS_NOSTAT.
68532         Avoid spurious inode-mismatch problems on non-POSIX file systems.
68533         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
68534         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
68535         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
68536         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
68537         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
68538         (fts_set_stat_required): New function.
68539         (fts_open): Defer the calls to fts_stat, if possible or requested.
68540         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
68541         into fts_stat itself.
68542         (fts_read): Perform any required (deferred) fts_stat call.
68543         (fts_build): Likewise, for the directory we're about to open and read.
68544         In the readdir loop, carefully decide whether each entry will require
68545         an eventual call to fts_stat, using dirent.d_type info if available.
68546         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
68547         a command line argument into this function.  Update all callers.
68548         Map a return value of FTS_DOT to FTS_D for a command line argument.
68549         * modules/fts (Depends-on): Add d-type.  Alphabetize.
68550         Thanks to Miklos Szeredi for his tenacity and for the initial
68551         bug report about "find" failing on a FUSE-based file system.
68552
68553         * lib/fts.c (fts_open): Use consistent indentation.
68554
68555 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
68556
68557         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
68558         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
68559         reported by Jim Meyering.  All uses of cache variables renamed
68560         to match Autoconf's.
68561         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
68562         the other one.
68563
68564         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
68565         Fix misspelling in diagnostic.
68566
68567 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
68568
68569         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
68570         defined.  Problem reported by Matthew Woehlke.
68571
68572         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
68573         Add support for Tandem NonStop R series.
68574         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
68575         Use new macro.
68576
68577         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
68578         (has_trailing_slash): Omit size arg; all callers changed.
68579         Omit 'inline', since it doesn't help performance and we'd
68580         need to configure it.
68581         Don't count //, ///, etc. as having a trailing slash.
68582         As a side effect, this removes a C99ism reported by Matthew Woehlke.
68583         (rpl_rename_dest_slash): On failure, use rename's errno rather
68584         than (in some cases) an incorrect or junk errno.
68585         Simplify code by removing need to compute length; this does
68586         cause it to make two passes instead of one over the file name,
68587         but it's worth it.
68588
68589         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
68590         change, since Autoconf's version may no longer be appropriate now
68591         that we are using CVS Autoconf's version.  Add support for Tandem.
68592
68593 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
68594             Bruno Haible  <bruno@clisp.org>
68595
68596         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
68597         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
68598         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
68599         gl_AC_TYPE_LONG_LONG.
68600
68601         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
68602         instead of HAVE_LONG_LONG.
68603         * lib/printf-args.c (printf_fetchargs): Likewise.
68604         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
68605         * lib/vasnprintf.c (VASNPRINTF): Likewise.
68606         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
68607         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
68608         gl_AC_TYPE_LONG_LONG.
68609
68610 2006-10-11  Bruno Haible  <bruno@clisp.org>
68611
68612         * m4/longlong.m4: Add comments.
68613         * m4/ulonglong.m4: Likewise.
68614
68615 2006-10-10  Bruno Haible  <bruno@clisp.org>
68616
68617         Make it possible to #define stpcpy, strdup to aliases.
68618         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
68619         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
68620
68621 2006-10-10  Bruno Haible  <bruno@clisp.org>
68622
68623         Make it possible to #define gcd to an alias.
68624         * lib/gcd.c: Include config.h.
68625
68626 2006-10-10  Bruno Haible  <bruno@clisp.org>
68627
68628         Make it possible to #define c_isascii to an alias.
68629         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
68630         defined. Undefine the macros before defining them, to avoid gcc
68631         warnings.
68632         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
68633         define NO_C_CTYPE_MACROS early.
68634
68635 2006-10-10  Bruno Haible  <bruno@clisp.org>
68636
68637         Make it possible to #define set_program_name to an alias.
68638         * lib/progname.c: Don't undefine set_program_name; instead, undefine
68639         ENABLE_RELOCATABLE early.
68640
68641 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
68642
68643         Port to Tandem NSK OSS, which has 64-bit signed int but at most
68644         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
68645         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
68646         More generally, don't assume that 64-bit signed int is available
68647         if unsigned int is, and vice versa.
68648         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
68649         unsigned symbols, not on their signed counterparts.
68650         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
68651         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
68652         (UINT64_C, UINTMAX_C):
68653         Likewise.
68654         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
68655         unsigned counterparts.
68656         (Have_long_long, Unsigned): New macros.
68657         (Int): Renamed from INT.
68658         (strtoimax): Use the new macros.
68659         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
68660         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
68661         * modules/inttypes (inttypes.h): Substitute
68662         HAVE_UNSIGNED_LONG_LONG_INT.
68663         * modules/stdint (stdint.h): Likewise.
68664         (Files): Add m4/ulonglong.m4.
68665
68666 2006-10-10  Bruno Haible  <bruno@clisp.org>
68667
68668         Fix a gcc -Wshadow warning.
68669         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
68670         to 'bucket'.
68671         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
68672         gl_linked_indexof_from_to): Likewise.
68673         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
68674         Likewise.
68675         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
68676         Likewise.
68677         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
68678         Reported by Eric Blake.
68679
68680 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
68681
68682         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
68683         for NetBSD.  Problem reported by Bruno Haible.
68684
68685 2006-10-09  Jim Meyering  <jim@meyering.net>
68686
68687         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
68688         Patch from Bruno Haible.
68689
68690 2006-10-09  Jim Meyering  <jim@meyering.net>
68691
68692         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
68693         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
68694         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
68695
68696 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
68697
68698         Don't include <config.h> twice; this doesn't work in some cases,
68699         e.g., when config.h has "#define intmax_t long long int" and
68700         we include <config.h>, <inttypes.h>, <config.h> in that order.
68701         Problem reported by Matthew Woehlke in:
68702         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
68703         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
68704         * lib/fts-cycle.c: Don't include config.h.
68705         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
68706         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
68707         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
68708         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
68709         inttypes.h.
68710         * lib/xstrtoumax.c: Likewise.
68711         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
68712         __strtol and the like, so that this module is more like its siblings.
68713         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
68714         Remove; no longer needed now that we assume gnulib inttypes.h.
68715
68716 2006-10-08  Bruno Haible  <bruno@clisp.org>
68717
68718         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
68719         option.
68720
68721 2006-10-07  Jim Meyering  <jim@meyering.net>
68722
68723         * modules/inttypes (inttypes.h): Revert what seems to have been
68724         an inadvertent part of today's change: use "|", not "/" in the
68725         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
68726
68727 2006-10-07  Bruno Haible  <bruno@clisp.org>
68728
68729         * modules/sublist: New file.
68730
68731 2006-10-07  Bruno Haible  <bruno@clisp.org>
68732
68733         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
68734         * modules/argz (argz.h): Likewise.
68735         * modules/arpa_inet (arpa/inet.h): Likewise.
68736         * modules/byteswap (byteswap.h): Likewise.
68737         * modules/configmake (configmake.h): Likewise.
68738         * modules/fcntl (fcntl.h): Likewise.
68739         * modules/fnmatch (fnmatch.h): Likewise.
68740         * modules/getopt (getopt.h): Likewise.
68741         * modules/glob (glob.h): Likewise.
68742         * modules/inttypes (inttypes.h): Likewise.
68743         * modules/netinet_in (netinet/in.h): Likewise.
68744         * modules/poll (poll.h): Likewise.
68745         * modules/stdbool (stdbool.h): Likewise.
68746         * modules/stdint (stdint.h): Likewise.
68747         * modules/sys_select (sys/select.h): Likewise.
68748         * modules/sys_socket (sys/socket.h): Likewise.
68749         * modules/sys_stat (sys/stat.h): Likewise.
68750         * modules/sysexits (sysexits.h): Likewise.
68751         * modules/unistd (unistd.h): Likewise.
68752         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68753         Add a "DO NOT EDIT" comment to the generated file.
68754         (func_import): Likewise for gnulib-comp.m4.
68755
68756 2006-10-07  Bruno Haible  <bruno@clisp.org>
68757
68758         * lib/gl_sublist.h: New file.
68759         * lib/gl_sublist.c: New file.
68760
68761 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
68762
68763         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
68764         name (relative to the original working directory) and the file
68765         name component (relative to the temporary working directory).  All
68766         callers changed.
68767         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
68768         * lib/mkdir-p.c (make_dir_parents): Likewise.
68769         * lib/mkdir-p.h (make_dir_parents): Likewise.
68770
68771 2006-10-06  Eric Blake  <ebb9@byu.net>
68772
68773         Define several macros for use by the clean-temp module.
68774         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
68775         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
68776         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
68777
68778         * lib/clean-temp.h (close_stream_temp): New declaration.
68779         * lib/clean-temp.c (includes): Pull in headers according to what
68780         other modules are in use.
68781         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
68782
68783 2006-10-06  Bruno Haible  <bruno@clisp.org>
68784
68785         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
68786         instead of fopen, fwriteerror.
68787
68788 2006-10-06  Bruno Haible  <bruno@clisp.org>
68789
68790         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
68791         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
68792         int.
68793         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
68794         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
68795         Return an error indicator.
68796         Suggested by Eric Blake.
68797
68798 2006-10-06  Bruno Haible  <bruno@clisp.org>
68799
68800         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
68801         Reported by Eric Blake.
68802
68803 2006-10-06  Bruno Haible  <bruno@clisp.org>
68804
68805         * modules/closeout (Description): Mention stderr too.
68806
68807 2006-10-06  Bruno Haible  <bruno@clisp.org>
68808         and Paul Eggert  <eggert@cs.ucla.edu>
68809
68810         * lib/closeout.c (close_stdout): Also close stderr.
68811         * lib/closeout.h: Update comment.
68812
68813 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
68814
68815         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
68816         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
68817         * lib/dirchownmod.c: Include lchown.h.
68818         * lib/lchown.c: Don't include files that lchown.h now includes.
68819         Don't declare chown, since lchown.h now does that.
68820         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
68821         (lchown): Define to rpl_chown if lchown is declared but
68822         does not exist.  Declare using a prototype if lchown is not
68823         declared.  Add a copyright notice.
68824         * lib/mkstemp.h: Include <unistd.h>.
68825         * lib/openat.c: Include lchown.h.
68826
68827         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
68828         we now test for that separately.
68829         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
68830         rather than O_NOFOLLOW, when testing whether it's possible to
68831         avoid a race condition reliably.
68832         * lib/savewd.c (savewd_chdir): Likewise.
68833
68834         Remove macros that are no longer needed now that stdint.h is
68835         reliable.
68836         * lib/fsusage.c (UINTMAX_MAX): Remove.
68837         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
68838         * lib/utimecmp.c (SIZE_MAX): Remove.
68839
68840         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
68841
68842         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
68843         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
68844         O_NOATIME works.
68845
68846 2006-10-05  Bruno Haible  <bruno@clisp.org>
68847
68848         * lib/gl_list.h (gl_sortedlist_search_from_to,
68849         gl_sortedlist_indexof_from_to): New declarations.
68850         (gl_list_implementation): New fields sortedlist_search_from_to,
68851         sortedlist_indexof_from_to.
68852         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
68853         inline functions.
68854         * lib/gl_list.c (gl_sortedlist_search_from_to,
68855         gl_sortedlist_indexof_from_to): New functions.
68856         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
68857         function.
68858         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
68859         (gl_array_sortedlist_search_from_to): New function.
68860         (gl_array_list_implementation): Update.
68861         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
68862         function.
68863         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
68864         (gl_carray_sortedlist_search_from_to): New function.
68865         (gl_carray_list_implementation): Update.
68866         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
68867         gl_linked_sortedlist_indexof_from_to): New functions.
68868         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
68869         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
68870         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
68871         gl_tree_sortedlist_indexof_from_to): New functions.
68872         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
68873         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
68874         Update.
68875         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
68876         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
68877         Update.
68878
68879 2006-10-05  Bruno Haible  <bruno@clisp.org>
68880
68881         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
68882         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
68883         (struct gl_list_implementation): Add fields search_from_to,
68884         indexof_from_to. Remove fields search, indexof.
68885         (gl_list_search): Use the search_from_to method.
68886         (gl_list_search_from, gl_list_search_from_to): New functions.
68887         (gl_list_indexof): Use the indexof_from_to method.
68888         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
68889         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
68890         (gl_list_search_from, gl_list_search_from_to): New functions.
68891         (gl_list_indexof): Use the indexof_from_to method.
68892         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
68893         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
68894         gl_array_indexof. Add start_index, end_index arguments.
68895         (gl_array_search_from_to): Renamed from gl_array_search. Add
68896         start_index, end_index arguments.
68897         (gl_array_remove, gl_array_list_implementation): Update.
68898         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
68899         gl_carray_indexof. Add start_index, end_index arguments.
68900         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
68901         start_index, end_index arguments.
68902         (gl_carray_remove, gl_carray_list_implementation): Update.
68903         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
68904         gl_linked_search. Add start_index, end_index arguments.
68905         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
68906         start_index, end_index arguments.
68907         (gl_linked_remove): Update.
68908         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
68909         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
68910         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
68911         field to 'size_t'.
68912         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
68913         gl_tree_search. Add start_index, end_index arguments.
68914         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
68915         start_index, end_index arguments.
68916         (gl_tree_remove): Update.
68917         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
68918         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
68919         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
68920         function.
68921         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
68922         gl_tree_search. Add start_index, end_index arguments.
68923         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
68924         start_index, end_index arguments.
68925         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
68926         Update.
68927         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
68928
68929 2006-10-05  Bruno Haible  <bruno@clisp.org>
68930
68931         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
68932
68933         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
68934         fwriteerror_temp): New declarations.
68935         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
68936         (descriptors): New variable.
68937         (cleanup): First, close the descriptors.
68938         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
68939         fclose_temp, fwriteerror_temp): New functions.
68940
68941 2006-10-04  Jim Meyering  <jim@meyering.net>
68942
68943         * lib/fts.c (fts_open): Tiny comment change.
68944
68945 2006-10-04  Bruno Haible  <bruno@clisp.org>
68946
68947         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
68948         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
68949         gl_LOCK_BODY.
68950         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
68951         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
68952         gl_LOCK_EARLY_BODY.
68953         (gl_LOCK): Require gl_LOCK_BODY.
68954
68955 2006-10-04  Bruno Haible  <bruno@clisp.org>
68956
68957         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
68958         (gl_oset_search_atleast): New declaration.
68959         (struct gl_oset_implementation): Add field 'search_atleast'.
68960         (gl_oset_search_atleast): New inline function.
68961         * lib/gl_oset.c (gl_oset_search_atleast): New function.
68962         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
68963         (gl_array_oset_implementation): Update.
68964         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
68965         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
68966         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
68967
68968 2006-10-04  Bruno Haible  <bruno@clisp.org>
68969
68970         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
68971
68972 2006-10-03  Bruno Haible  <bruno@clisp.org>
68973
68974         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
68975         from gl_avltreehash_list_implementation.
68976
68977 2006-10-03  Bruno Haible  <bruno@clisp.org>
68978
68979         * lib/gl_oset.c (gl_oset_add): Fix return type.
68980
68981 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
68982
68983         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
68984
68985 2006-10-02  Eric Blake  <ebb9@byu.net>
68986
68987         * modules/strnlen (Depends-on): Add extensions.
68988
68989 2006-10-02  Eric Blake  <ebb9@byu.net>
68990
68991         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
68992         definition in 2.60+.
68993
68994 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
68995
68996         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
68997         checks.
68998
68999 2006-10-02  Bruno Haible  <bruno@clisp.org>
69000
69001         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
69002         to the AUTOMAKE_OPTIONS.
69003         Reported by Jim Meyering.
69004
69005 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
69006
69007         Work around bug in Solaris 10 /proc file system:
69008         /proc/self/fd/NNN/.. isn't the parent directory of
69009         the directory whose file descriptor is NNN.  This needs to
69010         be worked around at run time, not compile time, since a
69011         program might be built on Solaris 8, where things work, and
69012         run on Solaris 10.
69013         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
69014         to use the following interface instead:
69015         (OPENAT_BUFFER_SIZE): New macro.
69016         (openat_proc_name): New function.
69017         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
69018         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
69019         Likewise.
69020         * lib/openat-proc.c: New file.
69021         * modules/openat (Files): Add lib/openat-proc.c.
69022         (Depends-on): Add same-inode, stdbool.
69023         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
69024
69025 2006-09-29  Bruno Haible  <bruno@clisp.org>
69026
69027         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
69028         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
69029         argument. Set stdout_closed before testing for ferror, not after.
69030         (fwriteerror, fwriteerror_no_ebadf): New functions.
69031
69032 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69033
69034         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
69035
69036 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
69037
69038         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
69039         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
69040
69041 2006-09-28  Jim Meyering  <jim@meyering.net>
69042
69043         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
69044         Include <unistd.h>.
69045
69046 2006-09-28  Bruno Haible  <bruno@clisp.org>
69047
69048         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
69049         * modules/linkedhash-list (Depends-on): Likewise.
69050         * modules/rbtreehash-list (Depends-on): Likewise.
69051
69052 2006-09-28  Bruno Haible  <bruno@clisp.org>
69053
69054         * lib/strndup.h: Simplify the redefinition of strndup.
69055         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
69056         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
69057
69058 2006-09-28  Bruno Haible  <bruno@clisp.org>
69059
69060         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
69061         * lib/gl_linkedhash_list.c: Likewise.
69062         * lib/gl_rbtreehash_list.c: Likewise.
69063
69064 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
69065
69066         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
69067         getaddrinfo.
69068
69069         * lib/__fpending.h: Don't include <stdio_ext.h> unless
69070         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
69071         it causes <stdio_ext.h> to cause a compile-time error.
69072         Problem reported by Nelson H. F. Beebe.
69073         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
69074         of HAVE_DECL___PENDING.
69075
69076         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
69077         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
69078         declaration.
69079
69080 2006-09-27  Jim Meyering  <jim@meyering.net>
69081
69082         This file could end up with a definition for a function
69083         named __strndup, rather than rpl_strndup on a system with
69084         incomplete weak_alias support.
69085         * lib/strndup.c (strndup): Rename from __strndup.
69086         Remove #defines that used to map __strndup to strndup.
69087         Don't use K&R prototypes.
69088         Remove LIBC-related code, since this file is not sync'd with glibc.
69089         * lib/strndup.h: Revamp, accordingly.
69090         * m4/strndup.m4: Modernize.
69091
69092 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
69093
69094         * modules/savewd (Depends-on): Add 'raise'.
69095         * lib/savewd.c: Include <signal.h>, for 'raise'.
69096
69097 2006-09-26  Jim Meyering  <jim@meyering.net>
69098
69099         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
69100         when we detect Darwin 8.7.0's acl_get_file bug.
69101         Rearrange to perform the new (below) run-test while $LIBS
69102         contains any acl-related library.  Set USE_ACL at the end.
69103         (gl_ACL_GET_FILE): New function.
69104
69105 2006-09-26  Eric Blake  <ebb9@byu.net>
69106
69107         * lib/verror.c: Include <config.h> unconditionally.
69108
69109 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
69110
69111         * modules/clock-time (Maintainer): Add self.
69112         * modules/getlogin_r (Depends-on): Add extensions.
69113
69114 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69115
69116         * modules/clock-time: New module.
69117         * modules/nanosleep (Depends-on): Add clock-time.
69118         * modules/gethrxtime (Depends-on): Likewise.
69119         * modules/gettime (Depends-on): Likewise.
69120         * modules/settime (Depends-on): Likewise.
69121
69122         * modules/fts-lgpl: Depend on openat.
69123         * modules/mkancesdirs: Depend on savewd.
69124         * modules/mkdir-p: Likewise.
69125
69126 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69127
69128         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
69129
69130         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
69131         `gl_have_arbitrary_file_name_length_limit' to
69132         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
69133         actually works between configure runs.
69134
69135 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69136             Bruno Haible  <bruno@clisp.org>
69137
69138         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
69139
69140 2006-09-25  Jim Meyering  <jim@meyering.net>
69141
69142         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
69143         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
69144
69145 2006-09-25  Eric Blake  <ebb9@byu.net>
69146
69147         * gnulib-tool (func_import, func_create_testdir): Fix typos in
69148         exec's in 2006-09-18 patch when shuffling fds.
69149
69150 2006-09-25  Bruno Haible  <bruno@clisp.org>
69151
69152         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
69153         Reported by Jim Meyering.
69154
69155 2006-09-24  Jim Meyering  <jim@meyering.net>
69156
69157         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
69158         compare a pointer against a literal "0".  That caused failures with
69159         at least HP-UX's hpcc.
69160
69161 2006-09-22  Simon Josefsson  <jas@extundo.com>
69162
69163         * modules/gc-sha1:
69164         * modules/gc-md4:
69165         * modules/gc-hmac-sha1:
69166         * modules/gc-hmac-md5:
69167         * modules/gc-des:
69168         * modules/gc-arcfour: Distribute more files.
69169
69170 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69171
69172         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
69173         (gl_linked_iterator_from_to): Initialize struct completely.
69174         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
69175         (gl_tree_iterator_from_to): Likewise
69176         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
69177         * lib/gl_array_list.c [lint] (gl_array_iterator)
69178         (gl_array_iterator_from_to): Likewise.
69179         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
69180         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
69181         (gl_carray_iterator_from_to): Likewise.
69182
69183         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
69184         * lib/md4.c (md4_process_block): Remove unused variable.
69185         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
69186         parentheses for clarity.
69187
69188 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69189
69190         * modules/bison-i18n (Depends-on): Add gettext.
69191
69192 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69193
69194         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
69195         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
69196         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
69197         also add missing comma that caused broken test.
69198         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
69199         stdlib.h, for `abort'.
69200         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
69201         variables.
69202         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
69203         include unistd.h if present, for `rmdir'.
69204         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
69205         variables.
69206         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
69207         in the process include standard headers for prototypes.
69208         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
69209         gets declared on GNU/Linux.
69210         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
69211         unistd.h, for `rmdir'.
69212         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
69213
69214         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
69215         always true.
69216         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
69217
69218         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
69219
69220 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69221
69222         * gnulib-tool (func_version): Create output all at once.  This
69223         may help avoid triggering unnecessary SIGPIPEs, and at any
69224         rate it doesn't hurt.
69225
69226 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69227             Bruno Haible  <bruno@clisp.org>
69228
69229         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
69230         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69231         * m4/signed.m4 (bh_C_SIGNED): Likewise.
69232
69233         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
69234         (gl_FUNC_VASPRINTF): Invoke it.
69235
69236 2006-09-22  Bruno Haible  <bruno@clisp.org>
69237
69238         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
69239         getloadavg.c as first argument.
69240
69241 2006-09-22  Bruno Haible  <bruno@clisp.org>
69242
69243         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
69244         at the beginning of the gl_INIT macro.
69245         * modules/getloadavg (configure.ac): Pass $gl_source_base to
69246         gl_GETLOADAVG.
69247
69248 2006-09-22  Bruno Haible  <bruno@clisp.org>
69249
69250         * gnulib-tool (func_create_megatestdir): Don't include the config-h
69251         module.
69252         Suggested by Ralf Wildenhues.
69253
69254 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
69255
69256         Import this patch from libc:
69257
69258         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
69259
69260         * lib/regex_internal.c (re_string_reconstruct): Handle
69261         offset < pstr->valid_raw_len && pstr->offsets_needed case.
69262         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
69263         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
69264         re_string_context_at.
69265
69266         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
69267         now requires it.
69268         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
69269         gl_REGEX now does it for us.
69270         (gl_REGEX): Add test taken from
69271         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
69272
69273         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
69274         Check that large offsets work.  Modernize Autoconf usages.
69275         Prefer "yes" to mean a good thing rather than a bad.
69276         Don't put "#define mkstemp" in config.h, as this might interfere
69277         with standard system headers that "#define mkstemp mkstemp64".
69278
69279         * modules/mkstemp (Depends-on): Add extensions, so that
69280         mkstemp is visible on some platforms.
69281         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
69282         (Include): Change to "mkstemp.h" from <stdlib.h>.
69283         (Files): Add mkstemp.h.
69284
69285         * lib/mkstemp.h: New file, since some standard headers
69286         #define mkstemp.
69287         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
69288         Include "mkstemp.h".
69289         Make the _LIBC code resemble glibc original more,
69290         e.g., use K&R style.
69291         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
69292         (mkstemp): Remove, since mkstemp.h does this for us.
69293         * lib/stdlib--.h: Include mkstemp.h.
69294
69295         Import this patch from libc:
69296
69297         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
69298
69299         * lib/tempname.c (__gen_tempname): Change attempts_min
69300         into a macro.  Use preprocessor to decide how to initialize
69301         attempts [Coverity CID 67].
69302
69303 2006-09-20  Bruno Haible  <bruno@clisp.org>
69304
69305         * lib/mkdtemp.c: Import from libc.
69306         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
69307                 * sysdeps/posix/tempname.c (__gen_tempname): Change
69308                 attempts_min into a macro.  Use preprocessor to decide how to
69309                 initialize attempts [Coverity CID 67].
69310         2001-11-27  Paul Eggert  <eggert@twinsun.com>
69311                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
69312                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
69313
69314 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69315
69316         * gnulib-tool (func_exit): New function, to allow to pass the
69317         exit status portably through the trap.  Use everywhere.
69318         (--help, --version): Signal a write error.
69319         (trap): catch SIGPIPE, for write errors.
69320         Exit at the end of the trap, with the correct exit status.
69321
69322 2006-09-19  Karl Berry  <karl@gnu.org>
69323
69324         * doc/gnulib.texi: note about the license texinfo files.
69325
69326 2006-09-19  Eric Blake  <ebb9@byu.net>
69327
69328         * gnulib-tool: Avoid space-tab.
69329
69330 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
69331
69332         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
69333         that prevented coreutils 6.1 from building.  Problem reported
69334         by Petter Reinholdtsen.
69335
69336 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
69337
69338         * gnulib-tool (avoidlist): Fix typo that broke options like
69339         --avoid=lock that are used by coreutils bootstrap.
69340
69341 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
69342
69343         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
69344         more systematically.
69345
69346 2006-09-18  Jim Meyering  <jim@meyering.net>
69347
69348         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
69349
69350 2006-09-18  Bruno Haible  <bruno@clisp.org>
69351
69352         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
69353
69354 2006-09-18  Bruno Haible  <bruno@clisp.org>
69355
69356         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
69357         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
69358         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
69359         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
69360         * m4/gettext.m4: Require autoconf >= 2.52.
69361         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
69362         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
69363         of gl_cv_header_inttypes_h.
69364
69365 2006-09-18  Bruno Haible  <bruno@clisp.org>
69366
69367         * lib/javaversion.c: Include configmake.h.
69368
69369 2006-09-18  Bruno Haible  <bruno@clisp.org>
69370
69371         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
69372         avoid that the while loops be executed in a subshell.
69373
69374 2006-09-18  Bruno Haible  <bruno@clisp.org>
69375
69376         * MODULES.html.sh (func_module): Break long lines.
69377         Suggested by Bruce Korb <bkorb@gnu.org>.
69378
69379 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69380
69381         Speed up by a factor of 1.12.
69382         * gnulib-tool (nl): New variable.
69383         (func_import): Rewrite include directive extraction to only read each
69384         directive once.
69385
69386 2006-09-17  Bruno Haible  <bruno@clisp.org>
69387
69388         * modules/javaversion (Makefile.am): Remove DEFS setting.
69389         (Depends-on): Add configmake, for PKGDATADIR definition.
69390
69391 2006-09-17  Bruno Haible  <bruno@clisp.org>
69392
69393         * gnulib-tool (func_create_testdir): Rewrite all files at once.
69394
69395 2006-09-17  Bruno Haible  <bruno@clisp.org>
69396
69397         * gnulib-tool (func_append): New function, stolen from libtool.m4.
69398         (func_modules_transitive_closure, func_modules_add_dummy,
69399         func_modules_to_filelist, func_import, func_create_testdir,
69400         func_create_megatestdir, ...): Use it wherever possible.
69401         Suggested by Ralf Wildenhues.
69402
69403 2006-09-16  Karl Berry  <karl@gnu.org>
69404
69405         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
69406         to avoid sectioning errors.
69407         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
69408         [ifinfo]: blank line after @center-ed titles.
69409         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
69410         Spell FSF address consistently with others.
69411         (These changes approved by rms.)
69412
69413 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69414
69415         Speed up by a factor of 1.61.
69416         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
69417         already checked module names again.
69418
69419 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69420
69421         Speed up by a factor of 1.13.
69422         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
69423         for new_files, and the input to func_add_or_update.
69424
69425 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69426
69427         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
69428         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
69429
69430 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
69431
69432         * modules/mkancesdirs (Depends-on): Add fcntl.
69433         * modules/savewd: New file.
69434         * MODULES.html.sh (File system functions): Add savewd.
69435
69436         * modules/configmake (Makefile.am): Add support for the
69437         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
69438
69439 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
69440
69441         * m4/savewd.m4: New file.
69442
69443 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
69444
69445         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
69446         (dirchownmod): New arg FD.  All callers changed.
69447         Use FD rather than opening the directory ourself, as opening is
69448         now the caller's responsibility.
69449         * lib/dirchownmod.h: Likewise.
69450         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
69451         hosts that require <sys/types.h> before <sys/stat.h>.  Include
69452         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
69453         (test_dir): Remove.
69454         (mkancesdirs): Return length of prefix of FILE that has already
69455         been made, or -2 if there is a child doing the work.  Redo
69456         algorithm so that it is O(N) rather than O(N**2).  Optimize away
69457         ".", and treat ".." specially since it might stray back into
69458         already-created areas.  Use a subprocess if necessary.  New arg
69459         WD; all users changed.  MAKE_DIR function should now return 1
69460         if it creates a directory that is not readable.  Return -2 if
69461         a child process is spun off.
69462         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
69463         Adjust signature to match code.
69464         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
69465         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
69466         all users changed.
69467         * lib/savewd.c, lib/savewd.h: New files.
69468
69469 2006-09-15  Jim Meyering  <jim@meyering.net>
69470
69471         * modules/rename-dest-slash: New module.
69472         * MODULES.html.sh (posix_compat): Add it here.
69473
69474         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
69475
69476 2006-09-15  Jim Meyering  <jim@meyering.net>
69477
69478         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
69479         file.
69480
69481         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
69482
69483 2006-09-15  Jim Meyering  <jim@meyering.net>
69484
69485         * lib/rename-dest-slash.c (has_trailing_slash): Use
69486         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
69487         (rpl_rename_dest_slash): Perform the cheaper trailing slash
69488         test before testing whether SRC is a directory.
69489         Suggestions from Bruno Haible.
69490
69491         Avoid a warning about an unused variable.
69492         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
69493         into the #ifdef block where it's used.
69494
69495         * lib/rename-dest-slash.c: New file.
69496
69497 2006-09-14  Bruno Haible  <bruno@clisp.org>
69498
69499         * lib/allocsa.c: Include <config.h> unconditionally.
69500         * lib/asnprintf.c: Likewise.
69501         * lib/asprintf.c: Likewise.
69502         * lib/c-strcasecmp.c: Likewise.
69503         * lib/c-strcasestr.c: Likewise.
69504         * lib/c-strncasecmp.c: Likewise.
69505         * lib/c-strstr.c: Likewise.
69506         * lib/classpath.c: Likewise.
69507         * lib/clean-temp.c: Likewise.
69508         * lib/concatpath.c: Likewise.
69509         * lib/copy-file.c: Likewise.
69510         * lib/csharpcomp.c: Likewise.
69511         * lib/csharpexec.c: Likewise.
69512         * lib/execute.c: Likewise.
69513         * lib/fatal-signal.c: Likewise.
69514         * lib/findprog.c: Likewise.
69515         * lib/fwriteerror.c: Likewise.
69516         * lib/gl_array_list.c: Likewise.
69517         * lib/gl_array_oset.c: Likewise.
69518         * lib/gl_avltree_list.c: Likewise.
69519         * lib/gl_avltree_oset.c: Likewise.
69520         * lib/gl_avltreehash_list.c: Likewise.
69521         * lib/gl_carray_list.c: Likewise.
69522         * lib/gl_linked_list.c: Likewise.
69523         * lib/gl_linkedhash_list.c: Likewise.
69524         * lib/gl_list.c: Likewise.
69525         * lib/gl_oset.c: Likewise.
69526         * lib/gl_rbtree_list.c: Likewise.
69527         * lib/gl_rbtree_oset.c: Likewise.
69528         * lib/gl_rbtreehash_list.c: Likewise.
69529         * lib/imaxabs.c: Likewise.
69530         * lib/imaxdiv.c: Likewise.
69531         * lib/javacomp.c: Likewise.
69532         * lib/javaexec.c: Likewise.
69533         * lib/javaversion.c: Likewise.
69534         * lib/linebreak.c: Likewise.
69535         * lib/localcharset.c: Likewise.
69536         * lib/lock.c: Likewise.
69537         * lib/mbchar.c: Likewise.
69538         * lib/mbswidth.c: Likewise.
69539         * lib/mkdtemp.c: Likewise.
69540         * lib/pipe.c: Likewise.
69541         * lib/printf-args.c: Likewise.
69542         * lib/printf-parse.c: Likewise.
69543         * lib/progname.c: Likewise.
69544         * lib/progreloc.c: Likewise.
69545         * lib/readlink.c: Likewise.
69546         * lib/sh-quote.c: Likewise.
69547         * lib/stpcpy.c: Likewise.
69548         * lib/stpncpy.c: Likewise.
69549         * lib/strcasecmp.c: Likewise.
69550         * lib/strcasestr.c: Likewise.
69551         * lib/strcspn.c: Likewise.
69552         * lib/striconv.c: Likewise.
69553         * lib/strncasecmp.c: Likewise.
69554         * lib/strnlen1.c: Likewise.
69555         * lib/strstr.c: Likewise.
69556         * lib/strtok_r.c: Likewise.
69557         * lib/tls.c: Likewise.
69558         * lib/tmpdir.c: Likewise.
69559         * lib/unicodeio.c: Likewise.
69560         * lib/unsetenv.c: Likewise.
69561         * lib/vasnprintf.c: Likewise.
69562         * lib/vasprintf.c: Likewise.
69563         * lib/wait-process.c: Likewise.
69564         * lib/xallocsa.c: Likewise.
69565         * lib/xsetenv.c: Likewise.
69566         * lib/xstriconv.c: Likewise.
69567
69568 2006-09-13  Simon Josefsson  <jas@extundo.com>
69569
69570         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
69571         that internally, suggested by Ralf Wildenhues
69572         <Ralf.Wildenhues@gmx.de>.
69573
69574 2006-09-13  Simon Josefsson  <jas@extundo.com>
69575
69576         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
69577         @LIBOBJS@.
69578         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
69579
69580 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
69581
69582         * lib/_fpending.c: Include <config.h> unconditionally, since we no
69583         longer worry about uses that don't define HAVE_CONFIG_H.
69584         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
69585         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
69586         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
69587         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
69588         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
69589         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
69590         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
69591         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
69592         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
69593         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
69594         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
69595         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
69596         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
69597         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
69598         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
69599         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
69600         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
69601         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
69602         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
69603         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
69604         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
69605         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
69606         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
69607         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
69608         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
69609         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
69610         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
69611         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
69612         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
69613         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
69614         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
69615         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
69616         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
69617         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
69618         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
69619         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
69620         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
69621         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
69622         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
69623         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
69624         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
69625         Likewise.
69626
69627 2006-09-13  Eric Blake  <ebb9@byu.net>
69628
69629         * lib/getopt.c: Fix typo in last commit.
69630
69631 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69632
69633         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
69634         dgettext.
69635
69636 2006-09-12  Jim Meyering  <jim@meyering.net>
69637
69638         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
69639         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
69640         Reported by Nelson H. F. Beebe.
69641
69642 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
69643
69644         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
69645         program_invocation_name and program_invocation_short_name are
69646         initialized.
69647         * lib/argp-namefrob.h: Move declarations of program_invocation_name
69648         and program_invocation_short_name to argp.h, so they are visible
69649         to user programs.
69650         * lib/argp.h: Likewise
69651
69652 2006-09-10  Bruno Haible  <bruno@clisp.org>
69653
69654         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
69655         m4/inttypes_h.m4, m4/uintmax_t.m4.
69656
69657 2006-09-10  Bruno Haible  <bruno@clisp.org>
69658
69659         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
69660         gl_AC_TYPE_UINTMAX_T.
69661
69662 2006-09-10  Bruno Haible  <bruno@clisp.org>
69663
69664         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
69665
69666 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
69667
69668         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
69669         convention.  Text proposed by Bruno Haible.
69670         (struct argp_option): Document the use of N_() wrappers.
69671
69672         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
69673         '\v', and translate the two parts separately, instead of feeding
69674         the whole string to gettext.  This allows to exclude
69675         '\v' from the strings visible to the translator by writing doc
69676         strings as N_("..") "\v" N_("..").
69677
69678 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
69679
69680         * config/srclist.txt: Undo latest change; the bug was fixed.
69681
69682 2006-09-09  Bruno Haible  <bruno@clisp.org>
69683
69684         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
69685         assignments if building a library without libtool.
69686         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
69687         in func_emit_lib_Makefile_am.
69688         (func_import): When building a static library libfoo.a, arrange to
69689         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
69690         (func_create_testdir): Likewise.
69691         * modules/gc (configure.ac, Makefile.am): If building statically,
69692         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
69693         * modules/iconvme (configure.ac, Makefile.am): Likewise.
69694         * modules/striconv (configure.ac, Makefile.am): Likewise.
69695         Based on a suggestion by Ralf Wildenhues.
69696
69697 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
69698
69699         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69700         Check for unistd.h too, since Autoconf doesn't assume POSIX.
69701         Also:
69702
69703         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
69704         Add year_2050_test to catch glibc bug 2821
69705         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
69706
69707         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
69708         Prefer #ifdef to #if.
69709
69710         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
69711         Return from 'main' instead of calling 'exit'.
69712
69713 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
69714
69715         * lib/mktime.c (guess_time_tm): Fix bug where mktime
69716         returned the maximum time_t value rather than (time_t) -1.
69717         Problem originally reported by William Bardwell
69718         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
69719
69720         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
69721         Moved to here ...
69722         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
69723         ... from here.
69724
69725 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
69726
69727         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
69728         2821 is fixed.
69729
69730 2006-09-08  Jim Meyering  <jim@meyering.net>
69731
69732         Don't make generated files read-only.  That would bother too many
69733         people.  However, do retain the ability to work when targets are
69734         read-only: remove the destination and temporary files before writing
69735         them (when generated via sed or echo), or by using the -f option for
69736         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
69737         * modules/alloca-opt, modules/argz, modules/arpa_inet:
69738         * modules/byteswap, modules/configmake, modules/fcntl:
69739         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
69740         * modules/localcharset, modules/netinet_in, modules/poll:
69741         * modules/stdbool, modules/stdint, modules/sys_select:
69742         * modules/sys_socket, modules/sys_stat, modules/sysexits:
69743
69744 2006-09-08  Jim Meyering  <jim@meyering.net>
69745
69746         Avoid new build failure on FreeBSD 6.0.
69747         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
69748         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
69749         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
69750
69751 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69752
69753         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
69754
69755 2006-09-07  Jim Meyering  <jim@meyering.net>
69756
69757         Fix global typo in last change: use chmod u-w, not chmod u-x.
69758         Spotted by Paul Eggert and Bruce Korb.
69759         * modules/alloca-opt, modules/argz, modules/arpa_inet:
69760         * modules/byteswap, modules/configmake, modules/fcntl:
69761         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
69762         * modules/localcharset, modules/netinet_in, modules/poll:
69763         * modules/stdbool, modules/stdint, modules/sys_select:
69764         * modules/sys_socket, modules/sys_stat, modules/sysexits:
69765
69766 2006-09-06  Jim Meyering  <jim@meyering.net>
69767
69768         Make generated files be read-only.
69769         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
69770         Ensure that each generated file is now read-only.
69771         * modules/argz: Likewise.
69772         * modules/arpa_inet: Likewise.
69773         * modules/byteswap: Likewise.
69774         * modules/configmake: Likewise.
69775         * modules/fcntl: Likewise.
69776         * modules/fnmatch: Likewise.
69777         * modules/getopt: Likewise.
69778         * modules/glob: Likewise.
69779         * modules/inttypes: Likewise.
69780         * modules/netinet_in: Likewise.
69781         * modules/poll: Likewise.
69782         * modules/stdbool: Likewise.
69783         * modules/stdint: Likewise.
69784         * modules/sys_select: Likewise.
69785         * modules/sys_socket: Likewise.
69786         * modules/sys_stat: Likewise.
69787         * modules/sysexits: Likewise.
69788         * modules/localcharset: Same as above, but continue using temporary
69789         file named "t-$@" (why different?) rather than the "$@-t" used
69790         everywhere else.
69791
69792         * modules/sysexits (Makefile.am): Replace literal occurrences
69793         of "sysexit.h" more readable, and more consistent, "$@".
69794
69795 2006-09-06  Bruno Haible  <bruno@clisp.org>
69796
69797         * modules/striconv: New file.
69798         * modules/xstriconv: New file.
69799         * MODULES.html.sh (Internationalization functions): Add striconv,
69800         xstriconv.
69801
69802 2006-09-06  Bruno Haible  <bruno@clisp.org>
69803
69804         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
69805         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
69806         not using libtool correctly.
69807
69808 2006-09-06  Bruno Haible  <bruno@clisp.org>
69809
69810         * lib/striconv.h: New file.
69811         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
69812         iconvstring.c.
69813         * lib/xstriconv.h: New file.
69814         * lib/xstriconv.c: New file.
69815
69816 2006-09-06  Bruno Haible  <bruno@clisp.org>
69817
69818         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69819         lib_..._LDFLAGS.
69820
69821 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69822
69823         * lib/argz_.h: Sync from Libtool.
69824
69825         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
69826                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
69827
69828         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
69829
69830 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
69831
69832         * modules/trim: New file.
69833
69834 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
69835
69836         * lib/trim.h: New file.
69837         * lib/trim.c: New file.
69838
69839 2006-09-05  Bruno Haible  <bruno@clisp.org>
69840
69841         * MODULES.html.sh (String handling): Add trim.
69842
69843 2006-09-04  Karl Berry  <karl@gnu.org>
69844
69845         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
69846         until next release.
69847
69848 2006-09-03  Bruno Haible  <bruno@clisp.org>
69849
69850         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
69851         correctly.
69852
69853 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
69854
69855         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
69856         not gl_GETLOADAVG.  Omit unneeded semicolons.
69857         Problems reported by Ralf Wildenhues in
69858         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
69859         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
69860         at the end, which is the usual gnulib style.
69861
69862         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
69863         of doing all the work ourselves.
69864         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
69865         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
69866
69867 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
69868
69869         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
69870         Problem reported by Ralf Wildenhues in
69871         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
69872
69873         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
69874         HAVE_STRUCT_STATFS_F_FSTYPENAME.
69875
69876 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
69877
69878         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
69879         yesterday's patch by changing test -n to test -z.
69880
69881 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
69882
69883         * modules/getloadavg (Files): Add m4/getloadavg.m4.
69884         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
69885         the former is now obsolescent.
69886
69887         * modules/chdir-long (Depends-on): Add fcntl.
69888
69889 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
69890
69891         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
69892         obsolescent, and programs should use gnulib instead.
69893         * m4/getloadavg.m4: New file, with contents taken from Autoconf
69894         but with prefixes changed.
69895
69896 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
69897
69898         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
69899         or stdbool.h, because they might not exist while configuring.
69900
69901         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
69902         Don't include unistd.h or limits.h; not needed, since chdir-long.h
69903         does that for us.
69904         (O_DIRECTORY): Remove.
69905
69906 2006-08-31  Eric Blake  <ebb9@byu.net>
69907
69908         * gnulib-tool: Don't let emacs change spaces to TAB.
69909
69910 2006-08-31  Bruno Haible  <bruno@clisp.org>
69911
69912         * gnulib-tool: When calling func_import more than once, do it in a
69913         subshell.
69914         Reported by Eric Blake <ebb9@byu.net>.
69915
69916 2006-08-31  Bruno Haible  <bruno@clisp.org>
69917
69918         * gnulib-tool (nl): Remove variable.
69919         (sed_transform_lib_file): Use more robust test for config-h module.
69920         (func_import): Fix typo in 2006-08-25 patch.
69921
69922 2006-08-31  Bruno Haible  <bruno@clisp.org>
69923
69924         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
69925         specified, augment Makefile.am variables instead of assigning them.
69926
69927 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
69928
69929         Work around a bug in both the Linux and SunOS 64-bit kernels:
69930         nanosleep mishandles sleeps for longer than 2**31 seconds.
69931         Problem reported by Frank v Waveren in
69932         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
69933         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
69934         Check for nanosleep bug.
69935         (LIB_NANOSLEEP): Append clock_gettime library if needed.
69936
69937 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
69938
69939         Work around a bug in both the Linux and SunOS 64-bit kernels:
69940         nanosleep mishandles sleeps for longer than 2**31 seconds.
69941         Problem reported by Frank v Waveren in
69942         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
69943         * lib/nanosleep.c (BILLION): New constant.
69944         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
69945         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
69946         implementation.
69947
69948 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
69949
69950         * modules/nanosleep (Depends-on): Add gettime.
69951
69952 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
69953         and Simon Josefsson  <jas@extundo.com>
69954         and Oskar Liljeblad  <oskar@osk.mine.nu>
69955
69956         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
69957         * gnulib-tool (func_import): New license type 'unmodifiable license
69958         text'.
69959         * modules/fdl: Use it.  Longer description.
69960         * module/gpl, module/lgpl: New files.
69961
69962 2006-08-30  Jim Meyering  <jim@meyering.net>
69963
69964         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
69965         shadowing the parameter.
69966
69967 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69968
69969         Sync from Libtool:
69970
69971         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69972
69973         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
69974         sharing with gnulib.  Report by Eric Blake.
69975
69976 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
69977
69978         * modules/isapipe: New file.
69979         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
69980
69981 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
69982
69983         * modules/configmake (Makefile.am): Add a comment, and omit
69984         the CONFIGMAKE_ prefix from generated macro names.  Suggested
69985         by Bruno Haible.
69986
69987 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
69988
69989         * m4/isapipe.m4: New file.
69990
69991 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
69992
69993         * lib/isapipe.c, lib/isapipe.h: New files.
69994
69995 2006-08-29  Jim Meyering  <jim@meyering.net>
69996
69997         * modules/configmake (Makefile.am): Make configmake.h depend on
69998         Makefile.  Otherwise, a stale configmake.h could hang around.
69999
70000 2006-08-29  Eric Blake  <ebb9@byu.net>
70001
70002         * lib/error.c (error_at_line, print_errno_message): Match libc, after
70003         resolution of upstream bug 3044.
70004
70005 2006-08-29  Bruno Haible  <bruno@clisp.org>
70006
70007         * modules/localcharset (Depends-on): Add configmake.
70008         (Makefile.am): Remove setting of LIBDIR through DEFS.
70009
70010 2006-08-29  Bruno Haible  <bruno@clisp.org>
70011
70012         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
70013         defined.
70014
70015 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70016
70017         * modules/fcntl: New file.
70018         * modules/chdir-safer (Depends-on): Add fcntl.
70019         * modules/fts: Likewise.
70020         * modules/mkdir-p: Likewise.
70021
70022         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
70023         This undoes the most recent change, since we're now addressing the
70024         problem in a different way.
70025
70026         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
70027         into output, since the output might be called Makefile.am even
70028         if $makefile_name is something different.
70029         (func_import): Use $makefile_am rather than
70030         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
70031         empty.
70032
70033         * modules/inttypes (Files): Add m4/inttypes-h.m4.
70034
70035 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70036
70037         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
70038         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
70039         recent change to stdint.m4, since we're now addressing the problem in a
70040         different way.
70041
70042 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70043
70044         * m4/fcntl_h.m4: New file.
70045
70046 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
70047
70048         * lib/fcntl_.h: New file.
70049         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
70050         the fcntl module.
70051         * lib/dirchownmod.c: Likewise.
70052         * lib/fts.c: Likewise.
70053
70054         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
70055         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
70056         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
70057         just before including <inttypes.h>, to avoid circular inclusion.
70058
70059 2006-08-28  Jim Meyering  <jim@meyering.net>
70060
70061         * doc/visibility.texi: Actually read and correct the grammar of the
70062         sentence affected by yesterday's change.
70063
70064 2006-08-28  Eric Blake  <ebb9@byu.net>
70065
70066         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
70067         needs wrapper.
70068
70069 2006-08-28  Eric Blake  <ebb9@byu.net>
70070
70071         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
70072
70073 2006-08-28  Eric Blake  <ebb9@byu.net>
70074
70075         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
70076
70077 2006-08-28  Bruno Haible  <bruno@clisp.org>
70078
70079         * modules/c-strstr: New file, from GNU gettext.
70080         * MODULES.html.sh (String handling): Add c-strstr.
70081
70082 2006-08-28  Bruno Haible  <bruno@clisp.org>
70083
70084         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
70085         macros.
70086         Reported by Eric Blake.
70087
70088 2006-08-28  Bruno Haible  <bruno@clisp.org>
70089
70090         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
70091         (VASNPRINTF): Return a string of length > INT_MAX without failing.
70092         * lib/vasprintf.c: Include errno.h, limits.h.
70093         (EOVERFLOW): New fallback definition.
70094         (vasprintf): Test here whether the string length is > INT_MAX.
70095         * lib/vsnprintf.c: Include errno.h, limits.h.
70096         (EOVERFLOW): New fallback definition.
70097         (vsnprintf): Fix bug when generated string was too long for the buffer.
70098         Test here whether the string length is > INT_MAX.
70099
70100 2006-08-28  Bruno Haible  <bruno@clisp.org>
70101
70102         * lib/inttypes_.h (SCNX*): Remove definitions.
70103         Reported by Eric Blake.
70104
70105 2006-08-28  Bruno Haible  <bruno@clisp.org>
70106
70107         * lib/c-strstr.h: New file, from GNU gettext.
70108         * lib/c-strstr.c: New file, from GNU gettext.
70109
70110 2006-08-28  Bruno Haible  <bruno@clisp.org>
70111
70112         * gnulib-tool: Reorder some statements.
70113
70114 2006-08-28  Bruno Haible  <bruno@clisp.org>
70115
70116         * gnulib-tool: New option --makefile-name.
70117         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
70118         $makefile_name.
70119         (func_import): Write $makefile_name to the cache file, and read it from
70120         there unless explicitly specified. Use $makefile_name as file name
70121         instead of Makefile.am. Adjust the recommendations accordingly.
70122
70123 2006-08-28  Bruno Haible  <bruno@clisp.org>
70124
70125         * gnulib-tool (func_verify_module): Check against misapplying patch.
70126
70127 2006-08-28  Bruno Haible  <bruno@clisp.org>
70128
70129         * gnulib-tool (func_relativize, func_relconcat): New functions.
70130         Give an error if --local-dir is given with --update.
70131         Remove trailing slashes from $local_gnulib_dir.
70132         (func_import): Store the relativized $local_gnulib_dir in
70133         gnulib-cache.m4, and read it from there if not specified explicitly.
70134
70135 2006-08-28  Bruno Haible  <bruno@clisp.org>
70136
70137         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
70138         is the current directory. Respect also $local_gnulib_dir.
70139
70140 2006-08-28  Bruno Haible  <bruno@clisp.org>
70141             Simon Josefsson  <jas@extundo.com>
70142
70143         BeOS portability.
70144         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
70145
70146 2006-08-27  Jim Meyering  <jim@meyering.net>
70147
70148         * doc/visibility.texi: Remove duplicate word: "pointer".
70149
70150 2006-08-26  Bruno Haible  <bruno@clisp.org>
70151
70152         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
70153         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
70154         (Makefile.am): Create inttypes.h from inttypes_.h.
70155         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
70156
70157         * modules/imaxabs: New file.
70158
70159         * modules/imaxdiv: New file.
70160
70161 2006-08-26  Bruno Haible  <bruno@clisp.org>
70162
70163         * m4/inttypes.m4: New file.
70164         * m4/_inttypes_h.m4: Remove file.
70165         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
70166         PRI_MACROS_BROKEN.
70167         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
70168
70169         * m4/imaxabs.m4: New file.
70170
70171         * m4/imaxdiv.m4: New file.
70172
70173 2006-08-26  Bruno Haible  <bruno@clisp.org>
70174
70175         * lib/inttypes_.h: New file.
70176         * lib/inttypes.h: Remove file.
70177         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
70178
70179         * lib/imaxabs.c: New file.
70180
70181         * lib/imaxdiv.c: New file.
70182
70183 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70184
70185         New config-h module, so that "make" output needn't be cluttered
70186         by -DHAVE_CONFIG_H.
70187         * MODULES.html.sh (Support for building libraries and executables):
70188         Add config-h.
70189         * modules/config-h: New file.
70190         * gnulib-tool (nl, sed_transform_lib_file): New vars.
70191         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
70192         the config-h module is used.
70193
70194         New configmake module, so that "make" output needn't be cluttered
70195         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
70196         * MODULES.html.sh (Support for building libraries and executables):
70197         Add configmake.
70198         * modules/configmake: New file.
70199
70200 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
70201
70202         * m4/config-h.m4: New file.
70203
70204 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70205
70206         * config/srclist.txt: Add elisp-comp.
70207
70208 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
70209
70210         * MODULES.html.sh (Support for building libraries and executables):
70211         Add elisp-comp.
70212         * build-aux/elisp-comp: New file.
70213         * modules/elisp-comp: New file.
70214
70215 2006-08-24  Bruno Haible  <bruno@clisp.org>
70216
70217         * gnulib-tool (func_create_testdir): Use non-default values of
70218         sourcebase and m4base.
70219
70220 2006-08-24  Bruno Haible  <bruno@clisp.org>
70221
70222         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
70223         HTML structure.
70224
70225 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
70226
70227         * modules/openat (Depends-on): Add lchown.
70228
70229 2006-08-23  Bruno Haible  <bruno@clisp.org>
70230
70231         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
70232         of gl_LOCK_EARLY instead of gl_LOCK.
70233
70234 2006-08-23  Bruno Haible  <bruno@clisp.org>
70235
70236         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
70237         on OSF/1 to no.
70238         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
70239
70240 2006-08-23  Bruno Haible  <bruno@clisp.org>
70241
70242         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
70243         as unusable.
70244
70245         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
70246         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
70247         (gl_LOCK): New macro.
70248
70249 2006-08-22  Simon Josefsson  <jas@extundo.com>
70250
70251         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
70252         to md5 module.
70253
70254 2006-08-22  Simon Josefsson  <jas@extundo.com>
70255
70256         * MODULES.html.sh: Add "Support for maintaining and release
70257         projects".
70258
70259         * build-aux/gnupload: New file, from coreutils.
70260
70261 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
70262
70263         Avoid the need for AC_LIBSOURCES in m4 macros.
70264         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
70265         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
70266         * modules/check-version (EXTRA_DIST): Add check-version.h.
70267         * modules/crc (EXTRA_DIST): Add crc.h.
70268         * modules/des (EXTRA_DIST): Add des.h.
70269         * modules/gc (EXTRA_DIST): Add gc.h.
70270         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
70271         * modules/getline (EXTRA_DIST): Add getline.h.
70272         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
70273         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
70274         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
70275         * modules/md2 (EXTRA_DIST): Add md2.h.
70276         * modules/md4 (EXTRA_DIST): Add md4.h.
70277         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
70278         * modules/read-file (EXTRA_DIST): Add read-file.h.
70279         * modules/readline (EXTRA_DIST): Add readline.h.
70280         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
70281         rijndael-api-fst.h.
70282
70283 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
70284
70285         * m4/rijndael.m4 (gl_ARCFOUR):
70286         * m4/arctwo.m4 (gl_ARCTWO):
70287         * m4/check-version.m4 (gl_CHECK_VERSION):
70288         * m4/crc.m4 (gl_CRC):
70289         * m4/des.m4 (gl_DES):
70290         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
70291         * m4/gc.m4 (gl_GC):
70292         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
70293         * m4/getline.m4 (gl_FUNC_GETLINE):
70294         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
70295         * m4/hmac-md5.m4 (gl_HMAC_MD5):
70296         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
70297         * m4/md2.m4 (gl_MD2):
70298         * m4/md4.m4 (gl_MD4):
70299         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
70300         * m4/read-file.m4 (gl_FUNC_READ_FILE):
70301         * m4/readline.m4 (gl_FUNC_READLINE):
70302         * m4/rijndael.m4 (gl_RIJNDAEL):
70303         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
70304         to get the necessary .h files and whatnot.
70305
70306 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
70307
70308         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
70309         gnulib rather than the other way around.
70310         * config/srclistvars.sh (COREUTILS): Remove.
70311
70312 2006-08-22  Jim Meyering  <jim@meyering.net>
70313
70314         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
70315
70316         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
70317
70318 2006-08-22  Eric Blake  <ebb9@byu.net>
70319
70320         * modules/regexprops-generic: New file.
70321         * MODULES.html.sh (Support for building documentation): List it.
70322
70323 2006-08-22  Eric Blake  <ebb9@byu.net>
70324
70325         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
70326         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
70327         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
70328         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
70329
70330 2006-08-22  Bruno Haible  <bruno@clisp.org>
70331
70332         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
70333         and lib_LTLIBRARIES like the other lib_* variables.
70334
70335 2006-08-22  Bruno Haible  <bruno@clisp.org>
70336
70337         * build-aux/x-to-1.in: New file, from GNU gettext.
70338
70339 2006-08-22  Bruno Haible  <bruno@clisp.org>
70340
70341         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
70342         <utmpx.h> exists.
70343
70344 2006-08-22  Bruno Haible  <bruno@clisp.org>
70345
70346         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
70347         <utmpx.h> exists.
70348
70349 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
70350
70351         BeOS portability.
70352         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
70353         exist.
70354         Problem reported by Bruno Haible.
70355
70356 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
70357
70358         Avoid the need for AC_LIBSOURCES in m4 macros.
70359         * modules/acl (EXTRA_DIST): Add acl.h.
70360         * modules/argmatch (Files): Add m4/argmatch.m4.
70361         (configure.ac): Add gl_ARGMATCH.
70362         (EXTRA_DIST): Renamed from lib_SOURCES, for
70363         consistency with the other modules.  Remove argmatch.c.
70364         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
70365         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
70366         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
70367         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
70368         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
70369         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
70370         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
70371         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
70372         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
70373         * modules/closeout (EXTRA_DIST): Add closeout.h.
70374         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
70375         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
70376         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
70377         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
70378         dirname.h; remove basename.c and stripslash.c.
70379         * modules/exclude (EXTRA_DIST): Add exclude.h.
70380         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
70381         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
70382         * modules/file-type (EXTRA_DIST): Add file-type.h.
70383         * modules/filemode (EXTRA_DIST): Add filemode.h.
70384         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
70385         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
70386         * modules/fpending (EXTRA_DIST): Add __fpending.h.
70387         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
70388         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
70389         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
70390         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
70391         * modules/getdate (EXTRA_DIST): Add getdate.c.
70392         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
70393         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
70394         * modules/getpass (EXTRA_DIST): Add getpass.h.
70395         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
70396         * modules/group-member (EXTRA_DIST): Add group-member.h.
70397         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
70398         * modules/hash (EXTRA_DIST): Add hash.h.
70399         * modules/human (EXTRA_DIST): Add human.h.
70400         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
70401         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
70402         * modules/lchown (EXTRA_DIST): Add lchown.h.
70403         * modules/long-options (EXTRA_DIST): Add long-options.h.
70404         * modules/lstat (EXTRA_DIST): Add lstat.h.
70405         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
70406         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
70407         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
70408         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
70409         * modules/memxor (EXTRA_DIST): Add memxor.h.
70410         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
70411         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
70412         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
70413         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
70414         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
70415         * modules/physmem (EXTRA_DIST): Add physmem.h.
70416         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
70417         * modules/posixver (EXTRA_DIST): Add posixver.h.
70418         * modules/quote (EXTRA_DIST): Add quote.h.
70419         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
70420         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
70421         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
70422         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
70423         regex_internal.h regexec.c.
70424         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
70425         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
70426         * modules/same (EXTRA_DIST): Add same.h.
70427         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
70428         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
70429         * modules/savedir (EXTRA_DIST): Add savedir.h.
70430         * modules/sha1 (EXTRA_DIST): Add sha1.h.
70431         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
70432         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
70433         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
70434         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
70435         * modules/strdup (EXTRA_DIST): Add strdup.h.
70436         * modules/strftime (EXTRA_DIST): Add strftime.h.
70437         * modules/strndup (EXTRA_DIST): Add strndup.h.
70438         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
70439         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
70440         * modules/time_r (EXTRA_DIST): Add time_r.h.
70441         * modules/timespec (EXTRA_DIST): Add timespec.h.
70442         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
70443         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
70444         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
70445         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
70446         * modules/userspec (EXTRA_DIST): Add userspec.h.
70447         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
70448         * modules/utimens (EXTRA_DIST): Add utimens.h.
70449         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
70450         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
70451         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
70452         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
70453         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
70454         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
70455         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
70456         * modules/yesno (EXTRA_DIST): Add yesno.h.
70457
70458 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
70459
70460         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
70461
70462         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
70463         * m4/dev-ino.m4, same-inode.m4: Remove.
70464
70465         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
70466         * m4/acl.m4 (AC_FUNC_ACL):
70467         * m4/backupfile.m4 (gl_BACKUPFILE):
70468         * m4/c-strtod.m4 (gl_C99_STRTOLD):
70469         * m4/canon-host.m4 (gl_CANON_HOST):
70470         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70471         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
70472         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
70473         * m4/cloexec.m4 (gl_CLOEXEC):
70474         * m4/close-stream.m4 (gl_CLOSE_STREAM):
70475         * m4/closeout.m4 (gl_CLOSEOUT):
70476         * m4/dirfd.m4 (gl_FUNC_DIRFD):
70477         * m4/dirname.m4 (gl_DIRNAME):
70478         * m4/exclude.m4 (gl_EXCLUDE):
70479         * m4/exitfail.m4 (gl_EXITFAIL):
70480         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
70481         * m4/file-type.m4 (gl_FILE_TYPE):
70482         * m4/filemode.m4 (gl_FILEMODE):
70483         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
70484         * m4/fpending.m4 (gl_FUNC_FPENDING):
70485         * m4/fprintftime.m4 (gl_FPRINTFTIME):
70486         * m4/fts.m4 (gl_FUNC_FTS):
70487         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
70488         * m4/getdate.m4 (gl_GETDATE):
70489         * m4/gethrxtime.m4 (gl_GETHRXTIME):
70490         * m4/getpagesize.m4 (gl_GETPAGESIZE):
70491         * m4/getpass.m4 (gl_FUNC_GETPASS):
70492         * m4/gettime.m4 (gl_GETTIME):
70493         * m4/getugroups.m4 (gl_GETUGROUPS):
70494         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
70495         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
70496         * m4/hard-locale.m4 (gl_HARD_LOCALE):
70497         * m4/hash.m4 (gl_HASH):
70498         * m4/idcache.m4 (gl_IDCACHE):
70499         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
70500         * m4/lchown.m4 (gl_FUNC_LCHOWN):
70501         * m4/long-options.m4 (gl_LONG_OPTIONS):
70502         * m4/lstat.m4 (gl_FUNC_LSTAT):
70503         * m4/md5.m4 (gl_MD5):
70504         * m4/memcasecmp.m4 (gl_MEMCASECMP):
70505         * m4/memcoll.m4 (gl_MEMCOLL):
70506         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
70507         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
70508         * m4/memxor.m4 (gl_MEMXOR):
70509         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
70510         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
70511         * m4/modechange.m4 (gl_MODECHANGE):
70512         * m4/mountlist.m4 (gl_MOUNTLIST):
70513         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
70514         * m4/openat.m4 (gl_FUNC_OPENAT):
70515         * m4/pathmax.m4 (gl_PATHMAX):
70516         * m4/physmem.m4 (gl_PHYSMEM):
70517         * m4/posixtm.m4 (gl_POSIXTM):
70518         * m4/posixver.m4 (gl_POSIXVER):
70519         * m4/quote.m4 (gl_QUOTE):
70520         * m4/quotearg.m4 (gl_QUOTEARG):
70521         * m4/readtokens.m4 (gl_READTOKENS):
70522         * m4/readutmp.m4 (gl_READUTMP):
70523         * m4/regex.m4 (gl_REGEX):
70524         * m4/safe-read.m4 (gl_SAFE_READ):
70525         * m4/safe-write.m4 (gl_SAFE_WRITE):
70526         * m4/same.m4 (gl_SAME):
70527         * m4/save-cwd.m4 (gl_SAVE_CWD):
70528         * m4/savedir.m4 (gl_SAVEDIR):
70529         * m4/settime.m4 (gl_SETTIME):
70530         * m4/sha1.m4 (gl_SHA1):
70531         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
70532         * m4/stat-macros.m4 (gl_STAT_MACROS):
70533         * m4/stat-time.m4 (gl_STAT_TIME):
70534         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
70535         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
70536         * m4/strdup.m4 (gl_FUNC_STRDUP):
70537         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
70538         * m4/strndup.m4 (gl_FUNC_STRNDUP):
70539         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
70540         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
70541         * m4/time_r.m4 (gl_TIME_R):
70542         * m4/timespec.m4 (gl_TIMESPEC):
70543         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
70544         * m4/unlinkdir.m4 (gl_UNLINKDIR):
70545         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
70546         * m4/userspec.m4 (gl_USERSPEC):
70547         * m4/utimecmp.m4 (gl_UTIMECMP):
70548         * m4/utimens.m4 (gl_UTIMENS):
70549         * m4/xalloc.m4 (gl_XALLOC):
70550         * m4/xgetcwd.m4 (gl_XGETCWD):
70551         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
70552         * m4/xreadlink.m4 (gl_XREADLINK):
70553         * m4/xstrtod.m4 (gl_XSTRTOD):
70554         * m4/yesno.m4 (gl_YESNO):
70555         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
70556         to get the necessary .h files and whatnot.
70557
70558 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
70559             Bruno Haible  <bruno@clisp.org>
70560
70561         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
70562         /bin/sh understanding of '!' conditional negation.
70563
70564 2006-08-21  Jim Meyering  <jim@meyering.net>
70565
70566         * modules/openat (Depends-on): Really alphabetize.
70567
70568         * modules/acl (Depends-on): Add error and quote.
70569
70570         * check-module (find_included_lib_files): Add at-func.c to the
70571         ok-to-include-more-than-once white list.
70572
70573         * modules/openat (Depends-on): Add lstat.  Alphabetize.
70574
70575 2006-08-21  Bruno Haible  <bruno@clisp.org>
70576
70577         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70578         Emit a pkgdata_DATA variable only if some snippets add contents to it.
70579         Reported by Martin Lambers <marlam@marlam.de>.
70580
70581 2006-08-21  Bruno Haible  <bruno@clisp.org>
70582
70583         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
70584         specify an installation location, don't emit a noinst_LIBRARIES or
70585         noinst_LTLIBRARIES assignment.
70586
70587 2006-08-21  Bruno Haible  <bruno@clisp.org>
70588
70589         BeOS portability.
70590         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
70591         BeOS has mbrtowc() but no <wctype.h>.
70592
70593 2006-08-21  Bruno Haible  <bruno@clisp.org>
70594
70595         BeOS portability.
70596         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
70597         exist.
70598
70599 2006-08-21  Bruno Haible  <bruno@clisp.org>
70600
70601         BeOS portability.
70602         * lib/mbchar.h: Include <wctype.h> only if it exists.
70603
70604 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
70605
70606         Remove files that are no longer needed by their respective modules.
70607         * m4/obstack.m4: Remove.
70608         * m4/strerror_r.m4: Remove.
70609         * m4/uint32_t.m4: Remove.
70610         * m4/uintptr_t.m4: Remove.
70611         * m4/ullong_max.m4: Remove.
70612         * m4/xstrtoimax.m4: Remove.
70613         * m4/xstrtoumax.m4: Remove.
70614
70615         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
70616         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
70617         dependencies now capture this.
70618
70619         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
70620         Do not use AC_LIBSOURCES, since gnulib modules now do this.
70621         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
70622         * m4/human.m4 (gl_HUMAN): Likewise.
70623         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
70624         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
70625
70626         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
70627
70628         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
70629         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
70630         stdint.
70631         * m4/human.m4 (gl_HUMAN): Likewise.
70632         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
70633         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
70634         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
70635         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
70636         * m4/xstrtol (gl_XSTRTOL): Likewise.
70637
70638         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
70639         AC_TYPE_LONG_LONG_INT.
70640         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
70641         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
70642         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
70643         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
70644
70645         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
70646         on stdbool.
70647
70648         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
70649         (gl_PREREQ_XSTRTOUL): Remove.
70650
70651         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
70652
70653         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
70654         mode.
70655
70656 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
70657
70658         Add and change modules to make it easier for coreutils to use
70659         gnulib-tool.
70660         * modules/backupfile (Files): Remove m4/d-ino.m4.
70661         (Depends-on): Add d-ino.
70662         * modules/cycle-check (Depends-on): Add stdint.
70663         (lib_SOURCES): Add cycle-check.h.
70664         * modules/d-ino: New module.
70665         * modules/d-type: New module.
70666         * modules/error (Files): Remove m4/strerror_r.m4.
70667         * modules/filemode (Files): Add m4/st_dm_mode.m4.
70668         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
70669         m4/inttypes_h.m4, m4/uintmax_t.m4.
70670         (Depends-on): Add stdint.
70671         (lib_SOURCES): Add fsusage.h.
70672         * modules/getcwd (Files): Remove d-ino.m4.
70673         (Depends-on): Add d-ino.
70674         * modules/getndelim2 (Depends-on): Add stdint.
70675         * modules/glob (Files): Remove m4/d-type.m4.
70676         (Depends-on): Add d-type.
70677         * modules/host-os: New module.
70678         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
70679         m4/inttypes_h.m4, m4/uintmax_t.m4.
70680         * Depends-on: Add stdint.
70681         (lib_SOURCES): Add human.h.
70682         * modules/inttostr (Files): Remove m4/intmax_t.m4,
70683         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
70684         m4/uintmax_t.m4, m4/ulonglong.m4.
70685         (Depends-on): Add stdint.
70686         (EXTRA_DIST): Add inttostr.h.
70687         * modules/lchmod: New module.
70688         * modules/link-follow: New module.
70689         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
70690         (Depends-on): Add lchmod.
70691         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
70692         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
70693         (Depends-on): Add stdint.
70694         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
70695         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
70696         (Depends-on): Add stdint.
70697         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
70698         * modules/perl: New module.
70699         * modules/regex (Depends-on): Add stdint.
70700         * modules/rmdir-errno: New module.
70701         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
70702         m4/intmax_t.m4.
70703         (Depends-on): Add stdint.
70704         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
70705         m4/uintmax_t.m4.
70706         (Depends-on): Add stdint.
70707         * modules/unlink-busy: New module.
70708         * modules/utimecmp (Depends-on): Add stdint.
70709         * modules/uptime: New module.
70710         * modules/winsz-ioctl: New module.
70711         * modules/winsz-termios: New module.
70712         * modules/xnanosleep (Depends-on): Add nanosleep.
70713         * modules/ullong_max: Remove.
70714         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
70715         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
70716         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
70717         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
70718         (Depends-on): Add inttypes.
70719         (lib_SOURCES): Add xstrtol.h.
70720         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
70721         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
70722         * MODULES.html.sh: Move 'assert' into the assert section.
70723         Move 'dummy' into the linking section.
70724         Remove ullong_max.
70725         Add section for compatibility checks for POSIX:2001 functions,
70726         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
70727         winsz-ioctl, and winsz-termios into it.
70728         Add lchmod.
70729         Add top-level Misc section and put host-os, perl, and uptime
70730         into it.
70731
70732 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
70733
70734         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
70735         now assume the stdint module.  Do not include inttypes.h.
70736         * lib/fsusage.h: Likewise.
70737         * lib/getndelim2.c: Likewise.
70738         * lib/human.h: Likewise.
70739         * lib/inttostr.h: Likewise.
70740         * lib/obstack.c: Likewise.
70741         * lib/regex_internal.h: Likewise.
70742         * lib/tempname.c: Likewise.
70743         * lib/utimecmp.c: Likewise.
70744         * lib/xstrtol.h: Likewise.
70745
70746         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
70747
70748         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
70749         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
70750         * lib/xtime.h: Likewise.
70751
70752 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70753
70754         * modules/openat (Files): Add lib/fchmodat.c.
70755         Fixes problem reported by Jay Youngman.
70756
70757 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
70758
70759         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
70760         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
70761
70762 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
70763             Bruno Haible  <bruno@clisp.org>
70764
70765         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
70766         and is a script that invokes bison. Tighten the code. Add comments.
70767
70768 2006-08-18  Jim Meyering  <jim@meyering.net>
70769
70770         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
70771         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
70772         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
70773         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
70774
70775 2006-08-18  Bruno Haible  <bruno@clisp.org>
70776
70777         * modules/bison-i18n: New file.
70778         * MODULES.html.sh (Internationalization functions): Add it.
70779
70780 2006-08-18  Bruno Haible  <bruno@clisp.org>
70781
70782         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
70783         sys/statvfs.h. When getmntinfo was found, check its declaration and
70784         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
70785
70786 2006-08-18  Bruno Haible  <bruno@clisp.org>
70787
70788         * m4/bison-i18n.m4: New file, from bison.
70789
70790 2006-08-18  Bruno Haible  <bruno@clisp.org>
70791
70792         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
70793         (ME_DUMMY): Treat "kernfs" as a dummy.
70794         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
70795
70796 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70797
70798         Update from coreutils.
70799
70800         2006-08-15  Jim Meyering  <jim@meyering.net>
70801
70802         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
70803
70804         2006-01-17  Jim Meyering  <jim@meyering.net>
70805
70806         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
70807
70808         2006-01-11  Jim Meyering  <jim@meyering.net>
70809
70810         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
70811         Check for the lchmod function.
70812
70813 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
70814
70815         Update from coreutils.
70816
70817         * lib/__fpending.h: Add copyright notice.
70818         * lib/fprintftime.h: Likewise.
70819         * lib/savedir.c: Use (C) in copyright notice.
70820         * lib/savedir.h: Likewise.
70821
70822         2006-08-15  Jim Meyering  <jim@meyering.net>
70823
70824         * lib/at-func.c: New file, with the logic of all emulated at-functions.
70825         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
70826         in support of the EXPECTED_ERRNO macro.
70827         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
70828         definitions.  Instead, define the appropriate symbols and include
70829         "at-func.c".
70830         * lib/mkdirat.c (mkdirat): Likewise.
70831         * lib/fchmodat.c (fchmodat): Likewise.
70832         (ENOSYS): Remove definition.
70833         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
70834         it.  Don't include "unistd--.h" -- it wasn't ever used.
70835
70836         2006-01-17  Jim Meyering  <jim@meyering.net>
70837
70838         Rewrite fts.c not to change the current working directory,
70839         by using openat, fstatat, fdopendir, etc..
70840
70841         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
70842         (HAVE_OPENAT_SUPPORT): Define.
70843         [_LIBC] (fchdir): Don't undef or define; no longer used.
70844         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
70845         Now, this `function' always succeeds, and consumes its file descriptor
70846         parameter -- so callers must not close such FDs.  Update callers.
70847         (diropen_fd, opendirat, cwd_advance_fd): New functions.
70848         (diropen): Add parameter, SP.  Adjust all callers.
70849         Implement using diropen_fd, rather than open.
70850         (fts_open): Initialize new member, fts_cwd_fd.
70851         Remove fts_rft-setting code.
70852         (fts_close): Close fts_cwd_fd, if necessary.
70853         (__opendir2): Define in terms of opendir or opendirat,
70854         depending on whether the FST_NOCHDIR flag is set.
70855         (fts_build): Since fts_safe_changedir consumes its FD, and since
70856         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
70857         and close the dup'd file descriptor upon failure.
70858         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
70859         (fts_safe_changedir): Tweak semantics to reflect that this function
70860         now calls cwd_advance_fd and hence consumes its FD argument.
70861         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
70862         [struct FTS] (fts_rft): Remove now-unused member.
70863         [struct FTS] (fts_cycle.state): Improve comment.
70864
70865         * lib/openat.c (openat_needs_fchdir): New function.
70866         * lib/openat.h (openat_needs_fchdir): Declare it.
70867
70868 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
70869
70870         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
70871         Problem and fix reported by Pádraig Brady in
70872         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
70873
70874 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70875
70876         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
70877
70878 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70879
70880         * lib/memcoll.c (memcoll): Optimize for the common case where the
70881         arguments are bytewise equal.
70882
70883 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
70884
70885         * doc/regexprops-generic.texi: Add a copyright notice.
70886
70887 2006-08-15  Bruno Haible  <bruno@clisp.org>
70888
70889         * modules/tmpdir (License): Change to LGPL.
70890
70891 2006-08-15  Bruno Haible  <bruno@clisp.org>
70892
70893         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
70894         module.
70895
70896 2006-08-14  Simon Josefsson  <jas@extundo.com>
70897
70898         * config/srclist.txt: Add gnupload.
70899
70900 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
70901
70902         Change copyright notice from LGPL 2 to GPL 2, since that's the
70903         standard form used in the gnulib repository.
70904         * tests/test-lock.c: Likewise.
70905         * tests/test-stdint.c: Likewise.
70906         * tests/test-tls.c: Likewise.
70907
70908         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
70909         prelude-manager.  User shorter URLs for GNU projects, without '?'.
70910         Add copyright notice.
70911
70912         * check-module: Add copyright notice.  Output a copyright
70913         notice if "--version" is specified.
70914         * modules/COPYING: New file.
70915         * tests/test-getaddrinfo.c: Add copyright notice.
70916         * tests/test-verify.c: Likewise.
70917
70918 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
70919
70920         Change copyright notice from LGPL 2 to GPL 2, since that's the
70921         standard form used in the gnulib repository.
70922         * lib/lock.c: LGPL -> GPL.
70923         * lib/lock.h: Likewise.
70924         * lib/strnlen1.c: Likewise.
70925         * lib/strnlen1.h: Likewise.
70926         * lib/tls.c: Likewise.
70927         * lib/tls.h: Likewise.
70928         * lib/tmpdir.c: Likewise.
70929
70930         * lib/TODO: Remove; this belongs only in coreutils.
70931
70932 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
70933
70934         Add copyright notices to long-enough files that lack them, since
70935         otherwise the files aren't clearly free.  Use the same notice that
70936         getdate.texi already uses.
70937         * doc/alloca-opt.texi: Add copyright notice.
70938         * doc/alloca.texi: Likewise.
70939         * doc/ctime.texi: Likewise.
70940         * doc/functions.texi: Likewise.
70941         * doc/gcd.texi: Likewise.
70942         * doc/gnulib-tool.texi: Likewise.
70943         * doc/inet_ntoa.texi: Likewise.
70944         * doc/visibility.texi: Likewise.
70945
70946         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
70947         * doc/quote.texi: Add copyright notice.
70948
70949         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
70950         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
70951         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
70952         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
70953         is now obsolete, and give a pointer to the Sun list.
70954         Add copyright notice.
70955
70956 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
70957
70958         * config/srclistvars.sh: Add copyright notice.
70959
70960 2006-08-14  Eric Blake  <ebb9@byu.net>
70961
70962         Import the following change from libc:
70963
70964         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
70965
70966         Upstream bug 2997.
70967         * lib/misc/error.c: Add space between program name and message if file
70968         name is missing.
70969
70970 2006-08-12  Karl Berry  <karl@gnu.org>
70971
70972         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
70973         remove, these originate in gnulib now.
70974
70975 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70976
70977         * doc/Makefile (standards.info standards.html standards.dvi):
70978         Also depend on make-stds.texi.
70979
70980 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
70981
70982         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
70983         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
70984
70985         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
70986         in wchar_t.  Problem reported by Eric Blake.
70987
70988         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
70989         LEN is smaller than SIZE.  Suggested by Bruno Haible.
70990         Also, help the compiler to keep LEN in a register.
70991
70992 2006-08-11  Eric Blake  <ebb9@byu.net>
70993
70994         * users.txt: Sort.  Add tar.
70995
70996 2006-08-11  Bruno Haible  <bruno@clisp.org>
70997
70998         * users.txt: New file.
70999
71000 2006-08-11  Bruno Haible  <bruno@clisp.org>
71001
71002         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
71003         before <wchar.h>. Needed for OSF/1 and BSD/OS.
71004
71005 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
71006
71007         * modules/snprintf (Depends-on): Remove minmax.
71008         (Maintainer): Add self and Bruno.
71009
71010 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
71011
71012         * lib/.cppi-disable: Add snprintf.h, socket_.h.
71013         * lib/snprintf.c: Include <errno.h> and <limits.h>.
71014         (EOVERFLOW): Define if the system does not.
71015         Do not include "minmax.h"; it wasn't used.
71016         (snprintf): Don't assume size_t promotes to an unsigned type.
71017         Fix bug when generated string was too long for the buffer: the
71018         buffer's contents are supposed to be the initial prefix of the
71019         output.  Don't assume vasnprintf returns EOVERFLOW if the size
71020         exceeds INT_MAX; do the check ourselves.
71021
71022         Import the following changes from libc:
71023
71024         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
71025
71026         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
71027         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
71028         set wc to the byte which couldn't be converted.
71029         (re_string_reconstruct): Don't clear valid_raw_len before calling
71030         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
71031         tip_context using re_string_context_at.
71032
71033         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
71034
71035         * lib/posix/regex.h: g++ still cannot handled [restrict].
71036
71037         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
71038
71039         * lib/posix/regex.h: Remove special handling for VMS.
71040
71041 2006-08-10  Jim Meyering  <jim@meyering.net>
71042
71043         * modules/same-inode: New module.
71044         * modules/dev-ino: New module.
71045         * modules/cycle-check: Depend on these modules, rather than simply
71046         including their .h files.
71047         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
71048         required via m4/cycle-check.m4.
71049         * modules/same: Depend on new same-inode module, rather than
71050         including same-inode.h.
71051         * modules/chdir-safer: New file.
71052
71053         * modules/chown (Depends-on): Add stat-macros.
71054
71055 2006-08-10  Jim Meyering  <jim@meyering.net>
71056
71057         * m4/cycle-check.m4: New file.
71058         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
71059         * m4/dev-ino.m4, m4/same-inode.m4: New files.
71060
71061 2006-08-10  Eric Blake  <ebb9@byu.net>
71062
71063         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
71064         in from original proposal.
71065
71066 2006-08-10  Eric Blake  <ebb9@byu.net>
71067         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
71068
71069         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
71070         namespace.
71071
71072 2006-08-10  Bruno Haible  <bruno@clisp.org>
71073
71074         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
71075         as well.
71076
71077 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71078
71079         Sync from coreutils.
71080
71081         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
71082
71083         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
71084         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
71085
71086 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71087
71088         * modules/restrict: Remove; no longer needed now that we assume
71089         Autoconf 2.59 or later.
71090         * MODULES.html.sh: Remove 'restrict'.
71091         * modules/argp (Depends-on): Remove 'restrict'.
71092         * modules/base64 (Depends-on): Likewise.
71093         * modules/gc (Depends-on): Likewise.
71094         * modules/getaddrinfo (Depends-on): Likewise.
71095         * modules/glob (Depends-on): Likewise.
71096         * modules/inet_ntop (Depends-on): Likewise.
71097         * modules/inet_pton (Depends-on): Likewise.
71098         * modules/memxor (Depends-on): Likewise.
71099         * modules/regex (Depends-on): Likewise.
71100         * modules/strtok_r (Depends-on): Likewise.
71101         * modules/time_r (Depends-on): Likewise.
71102
71103 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
71104
71105         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
71106         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
71107         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
71108         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
71109         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
71110         * m4/memxor.m4 (gl_MEMXOR): Likewise.
71111         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
71112         gl_C_RESTRICT replaced by AC_C_RESTRICT.
71113
71114         Merge from coreutils.
71115         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
71116         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
71117         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
71118         * m4/time_r.m4 (gl_TIME_R): Likewise.
71119
71120 2006-08-09  Karl Berry  <karl@gnu.org>
71121
71122         * config/srclist.txt: no more gettext-tools, per Bruno.
71123
71124 2006-08-08  Eric Blake  <ebb9@byu.net>
71125
71126         * modules/verror: New module.
71127         * MODULES.html.sh: Document it.
71128
71129 2006-08-08  Eric Blake  <ebb9@byu.net>
71130
71131         * lib/verror.h, lib/verror.c: New files.
71132
71133 2006-08-08  Eric Blake  <ebb9@byu.net>
71134
71135         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
71136         verror_at_line output complies with GNU Coding Standards even when
71137         file is NULL.
71138
71139 2006-08-07  Bruno Haible  <bruno@clisp.org>
71140
71141         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
71142         versions of AIX.
71143         Reported by Ralf Wildenhues.
71144
71145 2006-08-07  Bruno Haible  <bruno@clisp.org>
71146
71147         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
71148         in an AC_DEFUN. Needed so that the autoconf snippets can use
71149         AC_REQUIRE.
71150
71151 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71152
71153         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71154         Initialize pkgdata_DATA.
71155         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
71156         overriding it.
71157
71158 2006-08-06  Eric Blake  <ebb9@byu.net>
71159
71160         * lib/error.h: Fold in some upstream changes from glibc.
71161         * lib/error.c: Likewise.
71162
71163 2006-08-04  Bruno Haible  <bruno@clisp.org>
71164
71165         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71166         Make the mostlyclean-local rule depend on mostlyclean-generic.
71167         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
71168
71169 2006-07-31  Bruno Haible  <bruno@clisp.org>
71170
71171         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
71172         <stdlib.h>, <string.h>.
71173
71174 2006-07-30  Bruno Haible  <bruno@clisp.org>
71175
71176         * modules/readlink (License): Change to LGPL.
71177
71178 2006-07-30  Bruno Haible  <bruno@clisp.org>
71179
71180         * modules/javaversion (Makefile.am): Distribute javaversion.java and
71181         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
71182         set PKGDATADIR to point to it.
71183
71184 2006-07-30  Bruno Haible  <bruno@clisp.org>
71185
71186         * modules/csharpexec (configure.ac): Comment out macro invocation.
71187         * modules/javaexec (configure.ac): Likewise.
71188         * modules/javacomp-script (configure.ac): Likewise.
71189
71190         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
71191
71192 2006-07-30  Bruno Haible  <bruno@clisp.org>
71193
71194         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
71195         linked-list.
71196
71197 2006-07-30  Bruno Haible  <bruno@clisp.org>
71198
71199         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
71200
71201 2006-07-30  Bruno Haible  <bruno@clisp.org>
71202
71203         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71204         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
71205         get removed.
71206
71207 2006-07-29  Bruno Haible  <bruno@clisp.org>
71208
71209         Make it possible for gnulib-tool to work with locally modified or
71210         augmented gnulib repositories.
71211         * gnulib-tool (func_usage): Document --local-dir option.
71212         (local_gnulib_dir): New variable.
71213         Handle --local-dir option.
71214         (func_lookup_file): New function.
71215         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
71216         (func_get_description, func_get_filelist, func_get_description,
71217         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
71218         func_get_automake_snippet, func_get_include_directive,
71219         func_get_license, func_get_maintainer): Use func_lookup_file.
71220         (func_import, func_create_testdir): Use func_lookup_file.
71221
71222 2006-07-29  Bruno Haible  <bruno@clisp.org>
71223
71224         * modules/setenv (Depends-on): Add unistd.
71225
71226 2006-07-29  Bruno Haible  <bruno@clisp.org>
71227
71228         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
71229
71230 2006-07-29  Bruno Haible  <bruno@clisp.org>
71231
71232         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
71233
71234 2006-07-29  Bruno Haible  <bruno@clisp.org>
71235
71236         * gnulib-tool (import, update): If there is no Makefile.am, look at
71237         aclocal.m4, instead of bailing out.
71238
71239 2006-07-29  Bruno Haible  <bruno@clisp.org>
71240
71241         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
71242         Categorize the options by when they are useful.
71243
71244 2006-07-29  Bruno Haible  <bruno@clisp.org>
71245
71246         * gnulib-tool (func_usage): Document option --no-libtool.
71247         Handle option --no-libtool.
71248         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
71249         for changed semantics of $libtool variable.
71250         (func_import): Likewise. If libtool is not used, show this through
71251         an option --no-libtool.
71252         (func_create_testdir): Update.
71253
71254 2006-07-29  Bruno Haible  <bruno@clisp.org>
71255
71256         * gnulib-tool (func_import): Extend error message about missing
71257         --doc-base.
71258
71259 2006-07-29  Bruno Haible  <bruno@clisp.org>
71260
71261         * gnulib-tool (func_import): Don't create the $docbase directory if
71262         there is no file to store there.
71263
71264 2006-07-29  Bruno Haible  <bruno@clisp.org>
71265
71266         * gnulib-tool (autoconf_minversion): If a --dir option is given and
71267         relevant, look for configure.ac there, not in the current directory.
71268         Also use a simple search for AC_PREREQ, not "autoconf --trace".
71269
71270 2006-07-29  Bruno Haible  <bruno@clisp.org>
71271
71272         * gnulib-tool (SORT): New variable.
71273         (func_usage): Undocument --assume-autoconf option.
71274         Remove --assume-autoconf option handling.
71275         (autoconf_minversion): Determine from the contents of configure.ac.
71276         (func_import): Remove autoconf_minversion handling.
71277         Suggested by Eric Blake.
71278
71279 2006-07-29  Bruno Haible  <bruno@clisp.org>
71280
71281         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
71282
71283 2006-07-29  Bruno Haible  <bruno@clisp.org>
71284
71285         * config/srclist.txt (*setenv.[ch]): Remove rules.
71286
71287 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71288
71289         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
71290
71291 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71292
71293         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
71294         arpa/inet.h.
71295
71296 2006-07-28  Simon Josefsson  <jas@extundo.com>
71297
71298         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
71299         * modules/inet_pton (Depends-on): Likewise.
71300
71301 2006-07-28  Simon Josefsson  <jas@extundo.com>
71302
71303         * m4/netinet_in_h.m4: New file.
71304
71305 2006-07-28  Simon Josefsson  <jas@extundo.com>
71306
71307         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
71308         #include's.
71309
71310 2006-07-28  Simon Josefsson  <jas@extundo.com>
71311
71312         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
71313         #include's.
71314
71315 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
71316
71317         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
71318         setgid on directories only if they set these bits.
71319         * lib/modechange.h: Remove obsolete comment about masks.
71320
71321 2006-07-28  Eric Blake  <ebb9@byu.net>
71322
71323         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
71324         macro expansion.
71325
71326 2006-07-28  Bruno Haible  <bruno@clisp.org>
71327
71328         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
71329
71330 2006-07-28  Bruno Haible  <bruno@clisp.org>
71331
71332         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
71333
71334 2006-07-28  Bruno Haible  <bruno@clisp.org>
71335
71336         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
71337         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
71338         Define fallbacks.
71339         Avoids link error on FreeBSD 4.x.
71340         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
71341
71342         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
71343         encoding.
71344         * lib/mbswidth.c (iswcntrl): Likewise.
71345
71346 2006-07-27  Bruno Haible  <bruno@clisp.org>
71347
71348         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
71349         test.
71350
71351 2006-07-27  Bruno Haible  <bruno@clisp.org>
71352
71353         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
71354         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
71355         defined.
71356
71357 2006-07-26  Eric Blake  <ebb9@byu.net>
71358
71359         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
71360
71361 2006-07-26  Eric Blake  <ebb9@byu.net>
71362
71363         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
71364         like mingw that lack mkstemp.
71365         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
71366         avoid compilation warning on mingw.
71367
71368 2006-07-26  Bruno Haible  <bruno@clisp.org>
71369
71370         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
71371         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
71372         INT_FAST*_MIN, INTPTR_MIN.
71373
71374 2006-07-25  Bruno Haible  <bruno@clisp.org>
71375
71376         * modules/version-etc (Depends-on): Add stdarg.
71377
71378 2006-07-25  Bruno Haible  <bruno@clisp.org>
71379
71380         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
71381         complex commands.
71382
71383 2006-07-25  Bruno Haible  <bruno@clisp.org>
71384
71385         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
71386         defined in <stdarg.h> or config.h.
71387
71388 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
71389
71390         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
71391         (gl_STDIO_SAFER): Remove.
71392
71393 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
71394
71395         * MODULES.html.sh (File stream based Input/Output):
71396         Add fopen-safer, tmpfile-safer; remove stdio-safer.
71397         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
71398         * modules/fopen-safer, modules/tmpfile-safer: New files.
71399         * modules/stdio-safer: Remove.
71400
71401 2006-07-24  Bruno Haible  <bruno@clisp.org>
71402
71403         * modules/tmpdir: New file.
71404         * MODULES.html.sh (File system functions): Add it.
71405
71406 2006-07-24  Bruno Haible  <bruno@clisp.org>
71407
71408         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
71409         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
71410
71411 2006-07-24  Bruno Haible  <bruno@clisp.org>
71412
71413         * modules/clean-temp: New file.
71414
71415 2006-07-24  Bruno Haible  <bruno@clisp.org>
71416
71417         * m4/tmpdir.m4: New file, from GNU gettext.
71418
71419 2006-07-24  Bruno Haible  <bruno@clisp.org>
71420
71421         * lib/tmpdir.h: New file, from GNU gettext.
71422         * lib/tmpdir.c: New file, from GNU gettext.
71423
71424 2006-07-24  Bruno Haible  <bruno@clisp.org>
71425
71426         * lib/clean-temp.h: New file, from GNU gettext.
71427         * lib/clean-temp.c: New file, from GNU gettext.
71428
71429 2006-07-23  Eric Blake  <ebb9@byu.net>
71430
71431         * modules/stdio-safer (Files): Add tmpfile-safer.c.
71432         (Depends-on): Add binary-io.
71433
71434 2006-07-23  Eric Blake  <ebb9@byu.net>
71435
71436         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
71437
71438 2006-07-23  Eric Blake  <ebb9@byu.net>
71439
71440         * lib/tmpfile-safer.c: New file.
71441         * lib/stdio-safer.h (fopen_safer): Add prototype.
71442         * lib/stdio--.h (tmpfile): Make safer.
71443
71444 2006-07-23  Bruno Haible  <bruno@clisp.org>
71445
71446         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
71447         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
71448         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
71449         gl_linked_remove_at): Use it.
71450
71451 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71452         and Simon Josefsson <jas@extundo.com>
71453
71454         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
71455
71456         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
71457
71458 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
71459
71460         * modules/close-stream: New file.
71461         * modules/closeout (Description): Make it clear that it exits
71462         with a diagnostic on error.
71463         (Depends-on): Add close-stream.  Remove fpending, stdbool.
71464         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
71465
71466 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
71467
71468         * m4/close-stream.m4: New file.
71469
71470 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
71471
71472         * lib/close-stream.c, lib/close-stream.h: New files.
71473
71474 2006-07-22  Bruno Haible  <bruno@clisp.org>
71475
71476         Merge from GNU gettext 0.15.
71477
71478         2006-05-01  Bruno Haible  <bruno@clisp.org>
71479
71480                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
71481
71482         2006-07-22  Bruno Haible  <bruno@clisp.org>
71483
71484                 * modules/javaversion: New file.
71485                 * MODULES.html.sh (Java): Add javaversion.
71486
71487         2006-03-12  Bruno Haible  <bruno@clisp.org>
71488
71489                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
71490
71491         2005-12-04  Bruno Haible  <bruno@clisp.org>
71492
71493                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
71494                 (untested).
71495
71496         2006-06-21  Bruno Haible  <bruno@clisp.org>
71497
71498                 Avoid warnings from recent versions of mcs.
71499                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
71500                 -o, -L, -r any more. Use options documented since mcs-1.0
71501                 instead. Similarly for -g.
71502
71503         2005-12-04  Bruno Haible  <bruno@clisp.org>
71504
71505                 * build-aux/csharpcomp.sh.in: Suffix for resources is
71506                 .resources, not .resource.
71507
71508         2005-07-09  Bruno Haible  <bruno@clisp.org>
71509
71510                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
71511                 add a .dll suffix.
71512                 Reported by Mark Junker <mjscod@gmx.de>.
71513
71514         2006-07-22  Bruno Haible  <bruno@clisp.org>
71515
71516                 * modules/gettext: Upgrade to gettext-0.15.
71517                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
71518                 m4/visibility.m4.
71519                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
71520
71521 2006-07-22  Bruno Haible  <bruno@clisp.org>
71522
71523         Merge from GNU gettext 0.15.
71524
71525         2006-03-25  Bruno Haible  <bruno@clisp.org>
71526
71527                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
71528
71529         2006-07-21  Bruno Haible  <bruno@clisp.org>
71530
71531                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
71532                 "1.1".
71533
71534         2006-05-09  Bruno Haible  <bruno@clisp.org>
71535
71536                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
71537                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
71538                 for the conftestver execution.
71539
71540         2006-05-01  Bruno Haible  <bruno@clisp.org>
71541
71542                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
71543                 optional target-version argument. Verify that the compiler
71544                 groks source of the specified source-version, or add -source
71545                 option as necessary. Verify that the compiler produces
71546                 bytecode in the specified target-version, or add -target and
71547                 -source options as necessary. Make the result of the test
71548                 available as variable CONF_JAVAC. Also log error output in
71549                 config.log.
71550
71551         2006-03-11  Bruno Haible  <bruno@clisp.org>
71552
71553                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
71554
71555         2006-05-09  Bruno Haible  <bruno@clisp.org>
71556
71557                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
71558                 CLASSPATH_SEPARATOR to a semicolon.
71559
71560         2006-03-12  Bruno Haible  <bruno@clisp.org>
71561
71562                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
71563                 available as variable CONF_JAVA, for subsequent autoconf
71564                 tests. Also log error output in config.log.
71565
71566         2006-07-19  Bruno Haible  <bruno@clisp.org>
71567
71568                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
71569                 that getline works on glibc2 systems. Needed to avoid trouble
71570                 in relocatable.c.
71571                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
71572
71573         2005-12-04  Bruno Haible  <bruno@clisp.org>
71574
71575                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
71576                 launcher (untested).
71577
71578         2005-12-04  Bruno Haible  <bruno@clisp.org>
71579
71580                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
71581
71582         2006-07-22  Bruno Haible  <bruno@clisp.org>
71583
71584                 * gettext.m4: Update from GNU gettext-0.15.
71585                 * nls.m4: Likewise.
71586                 * po.m4: Likewise.
71587                 * inttypes-pri.m4: Likewise.
71588                 * inttypes-h.m4: Renamed from inttypes.m4.
71589                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
71590
71591 2006-07-22  Bruno Haible  <bruno@clisp.org>
71592
71593         Merge from GNU gettext 0.15.
71594
71595         2005-07-05  Bruno Haible  <bruno@clisp.org>
71596
71597                 * printf-args.c (printf_fetchargs): Work around broken
71598                 definition of wint_t on mingw.
71599
71600         2005-02-12  Bruno Haible  <bruno@clisp.org>
71601
71602                 * xallocsa.h: Add extern "C" for C++.
71603
71604         2006-05-17  Bruno Haible  <bruno@clisp.org>
71605
71606                 Cygwin portability.
71607                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
71608
71609         2006-04-30  Bruno Haible  <bruno@clisp.org>
71610
71611                 * progreloc.c: Include <mach-o/dyld.h> if available.
71612                 (find_executable): Use _NSGetExecutablePath when possible.
71613
71614         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
71615
71616                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
71617                 function.
71618
71619         2005-12-29  Bruno Haible  <bruno@clisp.org>
71620
71621                 * progreloc.c (set_program_name_and_installdir): Fix
71622                 compilation error.
71623
71624         2005-12-04  Bruno Haible  <bruno@clisp.org>
71625
71626                 Cygwin portability.
71627                 * progreloc.c: Include <windows.h> also on Cygwin.
71628                 (find_executable): Add support for Cygwin.
71629                 (set_program_name_and_installdir): Handle also platforms with
71630                 nonempty EXEEXT.
71631
71632         2006-07-11  Bruno Haible  <bruno@clisp.org>
71633
71634                 * javacomp.c: Fix a comment.
71635                 Reported by Jim Meyering.
71636
71637         2006-04-30  Bruno Haible  <bruno@clisp.org>
71638
71639                 * javacomp.h (compile_java_class): Add source_version,
71640                 target_version arguments.
71641                 * javacomp.c: Rewritten to choose only a compiler that
71642                 respects the specified source_version and target_version.
71643
71644         2006-06-27  Bruno Haible  <bruno@clisp.org>
71645
71646                 Assume correct S_ISDIR macro.
71647                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
71648
71649         2006-07-22  Bruno Haible  <bruno@clisp.org>
71650
71651                 * javaversion.h: New file, from GNU gettext.
71652                 * javaversion.c: New file, from GNU gettext.
71653                 * javaversion.java: New file, from GNU gettext.
71654                 * javaversion.class: New file, from GNU gettext.
71655
71656         2006-05-17  Bruno Haible  <bruno@clisp.org>
71657
71658                 Cygwin portability.
71659                 * javaexec.c (execute_java_class): Test for jview program
71660                 also on Cygwin.
71661
71662         2006-04-09  Bruno Haible  <bruno@clisp.org>
71663
71664                 * fatal-signal.c: Don't include string.h.
71665                 (at_fatal_signal): Use a copying loop instead of memcpy.
71666
71667         2005-12-04  Bruno Haible  <bruno@clisp.org>
71668
71669                 * csharpexec.c: Add support for 'clix' launcher (untested).
71670                 (execute_csharp_using_sscli): New function.
71671                 (execute_csharp_program): Call it.
71672
71673         2006-06-21  Bruno Haible  <bruno@clisp.org>
71674
71675                 Avoid warnings from recent versions of mcs.
71676                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
71677                 -o, -L, -r any more. Use options documented since mcs-1.0
71678                 instead. Similarly for -g.
71679
71680         2005-07-09  Bruno Haible  <bruno@clisp.org>
71681
71682                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
71683                 add a .dll suffix.
71684                 Reported by Mark Junker <mjscod@gmx.de>.
71685
71686         2006-06-17  Bruno Haible  <bruno@clisp.org>
71687
71688                 * config.charset: Update for NetBSD 3.0.
71689
71690         2006-05-17  Bruno Haible  <bruno@clisp.org>
71691
71692                 Cygwin portability.
71693                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
71694
71695         2006-05-16  Bruno Haible  <bruno@clisp.org>
71696
71697                 * localcharset.c [CYGWIN]: Include <windows.h>.
71698                 (get_charset_aliases): For Cygwin, return the same CPxxx
71699                 aliases list as under WIN32.
71700                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
71701                 the environment variables. Fall back to GetACP().
71702
71703         2006-04-05  Bruno Haible  <bruno@clisp.org>
71704
71705                 * config.charset: Update Juan Manuel Guerrero's address.
71706
71707         2005-02-12  Bruno Haible  <bruno@clisp.org>
71708
71709                 * allocsa.h: Add extern "C" for C++.
71710
71711         2005-02-10  Bruno Haible  <bruno@clisp.org>
71712
71713                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
71714                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
71715
71716         2006-07-22  Bruno Haible  <bruno@clisp.org>
71717
71718                 * gettext.h: Update to GNU gettext-0.15.
71719
71720 2006-07-22  Bruno Haible  <bruno@clisp.org>
71721
71722         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
71723         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
71724         lib-prefix.m4, longdouble.m4, ssize_t.m4.
71725
71726 2006-07-21  Eric Blake  <ebb9@byu.net>
71727
71728         * modules/stdlib-safer: New file.
71729         * MODULES.html.sh (File stream based Input/Output): Add
71730         stdlib-safer.
71731
71732 2006-07-21  Eric Blake  <ebb9@byu.net>
71733
71734         * lib/stdlib-safer.h: New file from coreutils, required by
71735         stdlib--.h.
71736
71737 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
71738
71739         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
71740
71741 2006-07-20  Bruno Haible  <bruno@clisp.org>
71742
71743         * gnulib-tool: Recognize new option --assume-autoconf.
71744         (autoconf_minversion): New variable.
71745         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
71746
71747 2006-07-20  Bruno Haible  <bruno@clisp.org>
71748
71749         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
71750
71751 2006-07-19  Derek R. Price  <derek@ximbiot.com>
71752
71753         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
71754         Reindent and repaginate.
71755
71756 2006-07-19  Derek Price  <derek@ximbiot.com>
71757
71758         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
71759         Correct grammar.
71760
71761 2006-07-17  Bruno Haible  <bruno@clisp.org>
71762
71763         * modules/list: New file.
71764         * modules/array-list: New file.
71765         * modules/carray-list, modules/carray-list-tests: New files.
71766         * modules/linked-list, modules/linked-list-tests: New files.
71767         * modules/avltree-list, modules/avltree-list-tests: New files.
71768         * modules/rbtree-list, modules/rbtree-list-tests: New files.
71769         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
71770         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
71771         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
71772         * modules/oset: New file.
71773         * modules/array-oset: New file.
71774         * modules/avltree-oset, modules/avltree-oset-tests: New files.
71775         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
71776         * tests/test-carray_list.c: New file.
71777         * tests/test-linked_list.c: New file.
71778         * tests/test-avltree_list.c: New file.
71779         * tests/test-rbtree_list.c: New file.
71780         * tests/test-linkedhash_list.c: New file.
71781         * tests/test-avltreehash_list.c: New file.
71782         * tests/test-rbtreehash_list.c: New file.
71783         * tests/test-avltree_oset.c: New file.
71784         * tests/test-rbtree_oset.c: New file.
71785         * MODULES.html.sh (Container data structures): New section.
71786
71787 2006-07-17  Bruno Haible  <bruno@clisp.org>
71788
71789         * m4/gl_list.m4: New file.
71790
71791 2006-07-17  Bruno Haible  <bruno@clisp.org>
71792
71793         * lib/gl_list.h: New file.
71794         * lib/gl_list.c: New file.
71795         * lib/gl_array_list.h: New file.
71796         * lib/gl_array_list.c: New file.
71797         * lib/gl_carray_list.h: New file.
71798         * lib/gl_carray_list.c: New file.
71799         * lib/gl_linked_list.h: New file.
71800         * lib/gl_linked_list.c: New file.
71801         * lib/gl_anylinked_list1.h: New file.
71802         * lib/gl_anylinked_list2.h: New file.
71803         * lib/gl_avltree_list.h: New file.
71804         * lib/gl_avltree_list.c: New file.
71805         * lib/gl_anyavltree_list1.h: New file.
71806         * lib/gl_anyavltree_list2.h: New file.
71807         * lib/gl_rbtree_list.h: New file.
71808         * lib/gl_rbtree_list.c: New file.
71809         * lib/gl_anyrbtree_list1.h: New file.
71810         * lib/gl_anyrbtree_list2.h: New file.
71811         * lib/gl_anytree_list1.h: New file.
71812         * lib/gl_anytree_list2.h: New file.
71813         * lib/gl_linkedhash_list.h: New file.
71814         * lib/gl_linkedhash_list.c: New file.
71815         * lib/gl_anyhash_list1.h: New file.
71816         * lib/gl_anyhash_list2.h: New file.
71817         * lib/gl_avltreehash_list.h: New file.
71818         * lib/gl_avltreehash_list.c: New file.
71819         * lib/gl_rbtreehash_list.h: New file.
71820         * lib/gl_rbtreehash_list.c: New file.
71821         * lib/gl_anytreehash_list1.h: New file.
71822         * lib/gl_anytreehash_list2.h: New file.
71823
71824         * lib/gl_oset.h: New file.
71825         * lib/gl_oset.c: New file.
71826         * lib/gl_array_oset.h: New file.
71827         * lib/gl_array_oset.c: New file.
71828         * lib/gl_avltree_oset.h: New file.
71829         * lib/gl_avltree_oset.c: New file.
71830         * lib/gl_rbtree_oset.h: New file.
71831         * lib/gl_rbtree_oset.c: New file.
71832         * lib/gl_anytree_oset.h: New file.
71833
71834 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
71835
71836         * m4/mkancesdirs.m4: New file.
71837         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
71838         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
71839         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
71840         it.
71841
71842 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
71843
71844         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
71845         * lib/mkancesdirs.h: New files.
71846         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
71847         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
71848         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
71849         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
71850         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
71851         callers changed.  Revamp internals significantly, by not
71852         attempting to create directories that are temporarily more
71853         permissive than the final results.  Do not attempt to use
71854         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
71855         This removes some race conditions, fixes some bugs, and simplifies
71856         things.  Use new dirchownmod function to do owner and mode changes.
71857         * lib/mkdir-p.h: Likewise.
71858         * lib/modechange.c (octal_to_mode): New function.
71859         (struct mode_change): New member mentioned.
71860         (make_node_op_equals): New arg mentioned.  All callers changed.
71861         (mode_compile): Keep track of which mode bits the user has explicitly
71862         mentioned.
71863         (mode_adjust): New arg DIR, so that we implement the X op correctly.
71864         New arg PMODE_BITS, to keep track of which mode bits the user
71865         mentioned; it treats S_ISUID and S_ISGID speciall.
71866         All callers changed.
71867         * lib/modechange.h: Likewise.
71868
71869 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
71870
71871         * MODULES.html.sh: Add mkancestors.
71872         * modules/mkancesdirs: New module.
71873         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
71874         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
71875         The chdir-safer and afs files are now orphans; I'll remove them
71876         unless someone speaks up.
71877         Add lib/dirchownmod.c, lib/dirchownmod.h.
71878         (Depends-on): Remove alloca, chown, save-cwd, dirname.
71879         Add lchown, mkancesdirs.
71880         (Maintainer): Add self.
71881
71882 2006-07-15  Karl Berry  <karl@gnu.org>
71883
71884         * gnulib-tool: help message wording/arrangement.
71885
71886 2006-07-14  Simon Josefsson  <jas@extundo.com>
71887
71888         * doc/gnulib.texi (Libtool and Windows): New section.
71889
71890 2006-07-12  Simon Josefsson  <jas@extundo.com>
71891
71892         * modules/gendocs (License): Fix license, approved by Karl.
71893
71894 2006-07-12  Eric Blake  <ebb9@byu.net>
71895
71896         * MODULES.html.sh: Add gendocs.
71897
71898 2006-07-11  Eric Blake  <ebb9@byu.net>
71899
71900         * modules/fdl: New module, to install doc/fdl.texi.
71901         * MODULES.html.sh: Add new section for documentation modules.
71902         * gnulib-tool: Avoid space-tab.
71903         (--doc-base): New option, to manage files from doc.
71904
71905 2006-07-11  Eric Blake  <ebb9@byu.net>
71906
71907         * m4/absolute-header.m4: Fix comments to match recent change.
71908
71909 2006-07-11  Eric Blake  <ebb9@byu.net>
71910
71911         * gnulib-tool: List --doc-base before --tests-base.
71912
71913 2006-07-11  Derek R. Price  <derek@ximbiot.com>
71914
71915         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
71916
71917 2006-07-11  Bruno Haible  <bruno@clisp.org>
71918
71919         * README: Mention where to put documentation.
71920
71921 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71922
71923         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
71924
71925 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
71926
71927         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
71928         to stdint.m4.
71929
71930 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
71931
71932         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
71933         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
71934         "no/such/file/stdint.h" when there is no such file, so that
71935         the resulting C code can be parsed by dodgy compilers.
71936         Problems reported by Bob Proulx.
71937
71938 2006-07-10  Derek R. Price  <derek@ximbiot.com>
71939
71940         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
71941         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
71942         macros into the GNU _D_EXACT_NAMLEN.
71943         * lib/savedir.c:  Likewise.
71944         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
71945
71946 2006-07-10  Derek R. Price  <derek@ximbiot.com>
71947         and Paul Eggert  <eggert@cs.ucla.edu>
71948
71949         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
71950         * m4/savedir.m4:
71951         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
71952         macros into the GNU _D_EXACT_NAMLEN.
71953
71954 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71955
71956         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
71957         around the absolute name, to work around a problem with the HP-UX
71958         11.23 native C compiler, reported by Bob Proulx.
71959
71960 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71961
71962         * doc/maintain.texi, make-stds.texi: Sync from
71963         <http://savannah.gnu.org/projects/gnustandards>.
71964
71965 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
71966
71967         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
71968
71969 2006-07-09  Jim Meyering  <jim@meyering.net>
71970
71971         * m4/glob.m4: Remove a doubled word in a comment.
71972
71973 2006-07-09  Jim Meyering  <jim@meyering.net>
71974
71975         * lib/argp-pv.c: Remove a doubled word in a comment.
71976         * lib/check-version.c (check_version): Likewise.
71977         * lib/javacomp.c (compile_java_class): Likewise.
71978
71979 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
71980
71981         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
71982         for the benefit of people using Autoconf 2.60.  If you want to
71983         support older Autoconf versions you can copy m4/onceonly_2_57.m4
71984         (or m4/onceonly.m4, if pre-2.57) manually.
71985
71986 2006-07-08  Jim Meyering  <jim@meyering.net>
71987
71988         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
71989         comment.
71990         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
71991         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
71992         comment.
71993
71994 2006-07-08  Jim Meyering  <jim@meyering.net>
71995
71996         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
71997
71998 2006-07-07  Simon Josefsson  <jas@extundo.com>
71999
72000         * tests/test-crc.c: Change expected crc value, the test vector
72001         were probably computed using the old broken crc.c?
72002
72003 2006-07-06  Simon Josefsson  <jas@extundo.com>
72004
72005         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
72006         now the canonical place for the M4 file).
72007
72008         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
72009         from the sys_socket dependency now.
72010
72011         * modules/inet_pton (Files): Ditto.
72012
72013         * modules/inet_ntop (Files): Ditto.
72014
72015 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
72016
72017         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
72018         not gl_PREREQ_GETUSERSHELL.
72019
72020 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72021
72022         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
72023         with only one argument, for Autoconf 2.60.
72024         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
72025         expand to nothing, so add a shell command to avoid syntax error.
72026         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
72027
72028 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72029
72030         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
72031
72032 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72033
72034         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
72035         no longer needed.  Check for isblank decl.
72036         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
72037         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
72038         of existence.
72039
72040 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72041
72042         * lib/getloadavg.c: Use __VMS, not VMS.
72043         * lib/getopt.c: Likewise.
72044         * lib/getpagesize.h: Likewise.
72045         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
72046         and probably does not work.
72047
72048 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
72049
72050         * lib/.cppi-disable: Add wcwidth.
72051         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
72052         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
72053         (ISGRAPH): Remove.  All uses changed to isgraph.
72054         (FOLD) [!defined _LIBC]: Remove special case.
72055         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
72056         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
72057         HAVE_ISBLANK.
72058         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
72059         case.
72060
72061 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
72062
72063         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
72064         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
72065         brackets.  Other minor changes to suppress some compiler
72066         warnings.
72067
72068 2006-07-06  Derek R. Price  <derek@ximbiot.com>
72069         and Paul Eggert  <eggert@cs.ucla.edu>
72070
72071         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
72072         of invoking obsolescent AC_HEADER_DIRENT macro.
72073         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
72074         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
72075         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
72076         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
72077         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
72078         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
72079         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
72080         * m4/readdir.m4: Remove; no longer needed.
72081
72082 2006-07-06  Derek R. Price  <derek@ximbiot.com>
72083         and Paul Eggert  <eggert@cs.ucla.edu>
72084
72085         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
72086         Don't worry about this obsolete case any more.
72087         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
72088         directories.
72089         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
72090         worry about this obsolete case any more.
72091         * lib/fts.c: Likewise.
72092         * lib/getcwd.c: Likewise.
72093         * lib/glob.h: Likewise.
72094         * lib/savedir.c: Likewise.
72095
72096 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
72097
72098         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
72099         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
72100         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
72101         needed.
72102         All uses removed.
72103         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
72104         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
72105         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
72106         needed.
72107         * m4/getdate.m4 (gl_GETDATE): Likewise.
72108         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
72109         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
72110         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
72111         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
72112         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
72113         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72114         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
72115         needed.
72116
72117 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
72118
72119         * lib/memcasecmp.c: Include <limits.h>.
72120         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
72121         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
72122         Don't assume isdigit succeeds only on '0' through '9'.
72123
72124 2006-07-05  Eric Blake  <ebb9@byu.net>
72125
72126         * modules/getaddrinfo (Depends-on): Add snprintf.
72127
72128 2006-07-05  Eric Blake  <ebb9@byu.net>
72129
72130         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
72131         to avoid 'header present but could not be compiled' on cygwin.
72132
72133 2006-07-05  Eric Blake  <ebb9@byu.net>
72134
72135         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
72136         missing from netdb.h.
72137         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
72138
72139 2006-07-05  Derek R. Price  <derek@ximbiot.com>
72140
72141         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
72142         no longer needed.
72143         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
72144         * m4/getdate.m4 (gl_GETDATE): Likewise.
72145         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
72146         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
72147         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
72148         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
72149         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72150
72151 2006-07-05  Derek R. Price  <derek@ximbiot.com>
72152
72153         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
72154         All uses of is_space replaced by isspace.
72155         * lib/exit.h: Don't talk about STDC_HEADERS.
72156         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
72157         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
72158         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
72159         replaced by isprint etc.
72160         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
72161         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
72162         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
72163         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
72164         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
72165         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
72166
72167 2006-07-05  Bruno Haible  <bruno@clisp.org>
72168
72169         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
72170         the function exists, before testing against AIX.
72171         Reported by Martin Lambers <marlam@marlam.de>.
72172
72173 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
72174
72175         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
72176         From Mark D. Baushke.
72177
72178 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
72179
72180         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
72181         to the absolute name, not just one, to bypass Sun C 5.8's
72182         "warning: #include of /usr/include/... may be non-portable".
72183
72184 2006-07-04  Eric Blake  <ebb9@byu.net>
72185
72186         * modules/dirname-tests: New test module.
72187         * tests/test-dirname.c: New file, replacing dirname.c
72188         TEST_DIRNAME section that was recently deleted.
72189
72190 2006-07-04  Bruno Haible  <bruno@clisp.org>
72191
72192         Assume ANSI C header files and <ctype.h> functions.
72193         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
72194         (mbsnwidth): Use isprint, iscntrl instead.
72195
72196 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72197
72198         Merge from coreutils.
72199         * MODULES.html.sh: Add xstrtold.
72200         * modules/xstrtold: New file.
72201         * modules/cycle-check (Files): Add lib/same-inode.h.
72202         * modules/dirname (Files): Add m4/double-slash-root.m4.
72203         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
72204         * modules/mkdir-p (Files): Add lib/same-inode.h.
72205         * modules/same (Files): Add lib/same-inode.h.
72206
72207 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72208
72209         * m4/absolute-header.m4: Renamed from full-header-path.m4.
72210         This is to keep the terminology clean; POSIX talks about
72211         "absolute pathnames", not "full pathnames", but the GNU
72212         Coding Standards say to use "path" for something else;
72213         so use "absolute" to keep both sides happy.
72214         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
72215         Set gl_absolute_header, not gl_full_header_path.
72216         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
72217         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
72218         All uses changed.
72219
72220         Merge from coreutils.
72221
72222         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
72223
72224         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
72225         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
72226         want to require the building of c-strtod.o.
72227         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
72228         needs -lm directly.
72229         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
72230
72231         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
72232
72233         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
72234         --as-needed option if available.  Problem reported by Albert Chin in
72235         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
72236         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
72237         cc merely issues a bunch of annoying warnings for --as-needed
72238         (this problem was reported by Bob Proulx).  Also, try linking with
72239         -lm to detect a bug in binutils 2.16 (this problem was reported
72240         by Ralf Wildenhues).
72241
72242         2006-06-18  Jim Meyering  <jim@meyering.net>
72243
72244         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
72245         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
72246         macro.
72247         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
72248         also check for glibc-2.4's abort-inducing bug.
72249
72250         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
72251         Low-probability clean-up should be to use rmdir to get rid of
72252         the just-created directory, not unlink.
72253
72254         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
72255         configure fail, and request a bug report to inform us about it.
72256         Add a comment that, barring reports to the contrary, in 2007 we'll
72257         assume ftruncate is universally available.
72258
72259         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
72260
72261         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
72262
72263         2006-03-12  Jim Meyering  <jim@meyering.net>
72264
72265         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
72266         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
72267         * m4/same.m4 (gl_SAME): Likewise.
72268         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
72269
72270         2006-03-11  Eric Blake  <ebb9@byu.net>
72271
72272         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
72273         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
72274         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
72275         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
72276
72277 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
72278
72279         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
72280         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
72281         reported by Mark D. Baushke, one in
72282         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
72283
72284         Merge from coreutils.
72285
72286         * lib/.cppi-disable: Add stdint_.h.
72287         * lib/.cvsignore: Add stdint.h.
72288
72289         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
72290
72291         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
72292         both double and long double versions.
72293         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
72294         * lib/xstrtold.c: New file.
72295         * lib/xstrtod.h (xstrtold): New decl.
72296
72297         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
72298
72299         * lib/filemode.c (setst): Remove.
72300         (strmode): Rewrite to avoid setst.  This makes the code shorter,
72301         (arguably) clearer, and the generated code is a bit smaller on my
72302         Debian GNU/Linux stable x86 host.
72303
72304         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
72305
72306         * lib/filemode.c: Include "filemode.h" first, to test the interface.
72307         Assume that filemode.h includes sys/types.h and sys/stat.h.
72308         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
72309         (ftypelet): Reorder to put common cases first, for efficiency.
72310         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
72311         to do 'M'.
72312         (strmode): Renamed from mode_string, and now stores 12 bytes instead
72313         of 10, for compatibility with FreeBSD.  All callers changed.
72314         (filemodestring): Now stores 12 bytes instead of 10, and sets file
72315         types that can't be deduced solely from st_mode.  First arg is now a
72316         const pointer.
72317         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
72318         (strmode): Renamed from mode_string.
72319         (filemodestring): New decl.
72320         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
72321         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
72322         needed.
72323         (S_ISPORT, S_ISWHT): New macros, if not already defined.
72324
72325         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
72326
72327         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
72328         fsusage.h now does that.  Include fsusage.h first, to test interface.
72329         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
72330         at most one method (the old code could have generated decls that
72331         didn't conform to C89, not that this was ever exercised).
72332         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
72333
72334         2006-03-19  Jim Meyering  <jim@meyering.net>
72335
72336         Work even in a chroot where d_ino values for entries in "/"
72337         don't match the stat.st_ino values for the same names.
72338         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
72339         number, iterate through all entries again, using lstat instead.
72340         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
72341         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
72342
72343         * lib/getcwd.c (__getcwd): Clarify a comment.
72344         Use memcpy in place of a call to strcpy.
72345
72346         2006-03-12  Jim Meyering  <jim@meyering.net>
72347
72348         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
72349         matches that of the current directory (which we're about to chdir ".."
72350         out of), then save the dev-ino of the parent, instead.
72351
72352         * lib/same-inode.h (SAME_INODE): New file/macro.
72353         * lib/chdir-safer.c (SAME_INODE): Remove definition.
72354         Include "same-inode.h", instead.
72355         * lib/same.c: Likewise.
72356         * lib/cycle-check.h: Include "same-inode.h".
72357         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
72358         * lib/cycle-check.c (SAME_INODE): Remove definition.
72359         * lib/root-dev-ino.h: Include "same-inode.h".
72360
72361         2006-03-11  Eric Blake  <ebb9@byu.net>
72362
72363         * lib/same.c (same_name): s/base_name/last_component/
72364         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
72365         * lib/filenamecat.c (file_name_concat): Likewise.
72366
72367         2006-03-11  Eric Blake  <ebb9@byu.net>,
72368                     Paul Eggert  <eggert@cs.ucla.edu>
72369
72370         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
72371         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
72372         drive prefix.
72373         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
72374         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
72375         (last_component): New method.
72376         * lib/dirname.c (dir_len): Determine when drive letters need a
72377         subsequent slash.  Preserve // when it is special.
72378         (dir_name): Don't append dot when drive letter is absolute.
72379         [TEST_DIRNAME]: Move into a full-blown gnulib test.
72380         * lib/basename.c (base_name): New semantics - malloc the result.
72381         Preserve // when it is special.  Preserve relative files that look
72382         like drive letters.
72383         (base_len): Preserve // when it is special.
72384         (last_component): New method, similar to old base_name semantics.
72385         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
72386         base_name.  Strip redundant slashes from ///.
72387
72388 2006-07-03  Jim Meyering  <jim@meyering.net>
72389
72390         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
72391         macro is used before the first cycle_check call.
72392
72393 2006-07-03  Eric Blake  <ebb9@byu.net>
72394
72395         * modules/dirname (Depends-on): Add xstrndup.
72396
72397 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
72398
72399         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
72400         test cases, so that config.log is a bit easier to follow.
72401
72402 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
72403
72404         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
72405         both are 64 bits, since this seems to be the tradition, and this
72406         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
72407         we ever run into a host that prefers long long to long in this
72408         case, we'll need another configure-time test.  Problem reported by
72409         Jim Meyering.
72410
72411 2006-07-02  Eric Blake  <ebb9@byu.net>
72412
72413         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
72414
72415 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
72416
72417         * modules/inttypes (Depends-on): No longer depends on stdint.
72418         * modules/stdint (Description): Say more about assumptions.
72419         Say that the fast types might differ.  Say macros are used.
72420         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
72421         (Makefile.am): Revise list of substituted symbols to match
72422         new stdint.m4.
72423         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
72424         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
72425         * tests/test-stdint.c (verify_same_types)
72426         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
72427         the code conforms to C99/C89.
72428         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
72429         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
72430
72431 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
72432
72433         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
72434         but fix a bug, by requiring at least 64 bits.
72435         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
72436         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
72437         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
72438         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
72439
72440         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
72441         changes.  Make 2.59 a prerequisite.  Check and substitute for
72442         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
72443         inttypes.h.  Do not use special include files; just use the
72444         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
72445         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
72446         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
72447         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
72448         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
72449         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
72450         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
72451         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
72452         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
72453         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
72454         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
72455         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
72456         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
72457         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
72458         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
72459         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
72460         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
72461         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
72462         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
72463         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
72464         WINT_MAX.  Check for C99 conformance more strictly, by detecting
72465         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
72466         not check for things that C99 does not require, e.g., int8_t.  If
72467         a test isn't needed unless <stdint.h> isn't working, and is
72468         unlikely to be needed for any other reason, then don't do it
72469         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
72470         size_t, since we assume C89 freestanding at least.  Do not check
72471         for sig_atomic_t, wchar_t, or wint_t, since the code now does
72472         the right thing even if the types are not defined.  Instead use:
72473         (gl_STDINT_TYPE_PROPERTIES): New macro.
72474         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
72475         testing whether <sys/types.h> clashes, as Autoconf does this for
72476         us now.  All uses removed.
72477         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
72478         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
72479         (gl_CHECK_TYPE_SAME):
72480         Remove; no longer needed.
72481         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
72482         exists, since we'll return 0 anyway in that case.
72483         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
72484
72485 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
72486
72487         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
72488         possible collision with system files.
72489         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
72490         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
72491         WCHAR_MIN and WCHAR_MAX in this case.
72492         (<stddef.h>): Do not include; no longer needed.
72493         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
72494         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
72495         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
72496         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
72497         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
72498         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
72499         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
72500         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
72501         !defined(__c99))]: Include in this case too, since it's harmless
72502         now.
72503         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
72504         dangerous to do so.
72505         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
72506         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
72507         (_STDINT_MIN, _STDINT_MAX): New macros.
72508         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
72509         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
72510         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
72511         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
72512         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
72513         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
72514         macros, not typedefs; this simplifies things quite a bit.
72515         Use long int for all types narrower than int64_t.
72516         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
72517         Define in terms of long long int or int64_t or long int,
72518         not int64_t or int32_t.  This saves some compile-time testing.
72519         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
72520         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
72521         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
72522         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
72523         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
72524         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
72525         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
72526         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
72527         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
72528         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
72529         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
72530         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
72531         undef any previous version and define our own version, for
72532         simplicity and consistency with the new macros for types.
72533         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
72534         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
72535         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
72536         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
72537         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
72538         @WINT_T_SUFFIX@ to keep things simple here.
72539         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
72540         Simplify by assuming typical 8/16/32/64 host, since we're
72541         already doing that elsewhere anyway.
72542         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
72543         and assume long long int is 64 bits if available.  This
72544         speeds up 'configure'.
72545
72546 2006-07-01  Eric Blake  <ebb9@byu.net>
72547
72548         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
72549         Reported by Andreas Buening.
72550
72551 2006-07-01  Eric Blake  <ebb9@byu.net>
72552
72553         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
72554
72555 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
72556
72557         * lib/getaddrinfo.c: fixed typo
72558
72559 2006-06-29  Jim Meyering  <jim@meyering.net>
72560
72561         * modules/strftime (Maintainer): Add my name, since with the
72562         FPRINTFTIME changes strftime.c has forked from glibc.
72563
72564 2006-06-29  Eric Blake  <ebb9@byu.net>
72565
72566         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
72567
72568 2006-06-29  Eric Blake  <ebb9@byu.net>
72569
72570         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
72571
72572 2006-06-29  Eric Blake  <ebb9@byu.net>
72573
72574         * lib/stat_.h: New file.
72575
72576 2006-06-29  Eric Blake  <ebb9@byu.net>
72577
72578         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
72579         unused static function.
72580
72581 2006-06-29  Eric Blake  <ebb9@byu.net>
72582
72583         * doc/functions.texi (Function Portability): Document missing lstat
72584         on mingw.
72585
72586 2006-06-29  Eric Blake  <ebb9@byu.net>
72587
72588         * MODULES.html.sh: Add sys_stat.
72589         * modules/sys_stat: New module.
72590         * modules/mkstemp (Depends-on): Add sys_stat.
72591
72592 2006-06-29  Derek R. Price  <derek@ximbiot.com>
72593
72594         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
72595
72596 2006-06-29  Derek R. Price  <derek@ximbiot.com>
72597
72598         * m4/c-bs-a.m4: Removed.
72599
72600 2006-06-29  Derek R. Price  <derek@ximbiot.com>
72601
72602         * lib/strftime.c: Assume strftime() exists.
72603
72604 2006-06-29  Derek Price  <derek@ximbiot.com>
72605
72606         * modules/c-bs-a: Removed - \a is C89.
72607         * MODULES.html.sh: Remove c-bs-a.
72608
72609 2006-06-29  Bruno Haible  <bruno@clisp.org>
72610
72611         * modules/wcwidth (License): Change to LGPL.
72612
72613 2006-06-28  Simon Josefsson  <jas@extundo.com>
72614
72615         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
72616         on _WIN32.
72617
72618         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
72619         getnameinfo.
72620
72621 2006-06-28  Simon Josefsson  <jas@extundo.com>
72622
72623         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
72624
72625 2006-06-28  Simon Josefsson  <jas@extundo.com>
72626
72627         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
72628         functions there.  It will succeed on Windows XP, but on Windows
72629         2000 and (presumably) earlier, it will fail, and use the internal
72630         re-implementation.
72631         (use_win32_p): New function.
72632         (getaddrinfo): Use strtoul on servname, to support numeric ports.
72633         Support AI_NUMERICSERV to disable getservbyname.
72634         (getnameinfo): New function, only supports
72635         NI_NUMERICHOST|NI_NUMERICSERV for now.
72636
72637         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
72638         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
72639         getnameinfo.
72640
72641 2006-06-28  Eric Blake  <ebb9@byu.net>
72642
72643         * modules/wcwidth: New file.
72644         * modules/mbchar (Depends-on): Add wcwidth.
72645         * modules/mbswidth (Depends-on): Add wcwidth.
72646         * MODULES.html.sh: Add wcwidth.
72647
72648 2006-06-28  Eric Blake  <ebb9@byu.net>
72649
72650         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
72651         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
72652
72653 2006-06-28  Eric Blake  <ebb9@byu.net>
72654
72655         * lib/xvasprintf.h: Fix comments.
72656
72657 2006-06-28  Eric Blake  <ebb9@byu.net>
72658
72659         * lib/mbchar.h (wcwidth): Include wcwidth.h.
72660         * lib/mbswidth.c (wcwidth): Move from here...
72661         * lib/wcwidth.h: ...to this new file.
72662
72663 2006-06-28  Derek R. Price  <derek@ximbiot.com>
72664
72665         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
72666
72667         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
72668         it's obsolete.
72669         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
72670
72671 2006-06-28  Derek R. Price  <derek@ximbiot.com>
72672
72673         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
72674         Autoconf 2.60 says this stuff was obsolete.
72675
72676 2006-06-28  Bruno Haible  <bruno@clisp.org>
72677
72678         * modules/wcwidth (Files): Add m4/wchar_t.m4.
72679
72680 2006-06-28  Bruno Haible  <bruno@clisp.org>
72681
72682         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
72683         gt_TYPE_WCHAR_T.
72684
72685 2006-06-28  Bruno Haible  <bruno@clisp.org>
72686
72687         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
72688         declaration for wcwidth.
72689         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
72690
72691 2006-06-28  Bruno Haible  <bruno@clisp.org>
72692
72693         * lib/mkdtemp.c [MINGW]: Include <io.h>.
72694         (mkdir): Define using _mkdir.
72695
72696 2006-06-28  Bruno Haible  <bruno@clisp.org>
72697
72698         * lib/getaddrinfo.h: Fix POSIX URL.
72699         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
72700         _WIN32.
72701         (use_win32_p): Make static.
72702         (getaddrinfo): Reject service name if it is empty or does not consist
72703         solely of decimal digits, or if its value is > 65535.
72704         (getnameinfo): Remove useless casts.
72705
72706 2006-06-27  Simon Josefsson  <jas@extundo.com>
72707
72708         * modules/sys_select: New file, suggested by Bruno Haible, Paul
72709         Eggert and Martin Lambers.
72710
72711 2006-06-27  Simon Josefsson  <jas@extundo.com>
72712
72713         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
72714         Eggert and Martin Lambers.
72715
72716 2006-06-27  Bruno Haible  <bruno@clisp.org>
72717
72718         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
72719         result to 0, not to empty.
72720         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
72721
72722 2006-06-27  Bruno Haible  <bruno@clisp.org>
72723
72724         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
72725
72726 2006-06-26  Simon Josefsson  <jas@extundo.com>
72727
72728         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
72729         present.
72730
72731 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
72732
72733         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
72734         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
72735         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
72736
72737 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
72738
72739         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
72740
72741 2006-06-26  Bruno Haible  <bruno@clisp.org>
72742
72743         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
72744
72745 2006-06-26  Bruno Haible  <bruno@clisp.org>
72746
72747         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
72748
72749 2006-06-26  Bruno Haible  <bruno@clisp.org>
72750
72751         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
72752         SGI C compiler in pre-C99 mode.
72753         Suggested by Mark D. Baushke and Larry Jones.
72754
72755 2006-06-26  Bruno Haible  <bruno@clisp.org>
72756
72757         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
72758         WCHAR_MAX.
72759         Reported by Mark D. Baushke and Larry Jones.
72760
72761 2006-06-26  Bruno Haible  <bruno@clisp.org>
72762
72763         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
72764         in pre-C99 mode.
72765         Suggested by Mark D. Baushke and Larry Jones.
72766
72767 2006-06-23  Simon Josefsson  <jas@extundo.com>
72768             Bruno Haible  <bruno@clisp.org>
72769
72770         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
72771         Emit mostlyclean-local rule.
72772         (func_emit_tests_Makefile_am): Likewise.
72773         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
72774
72775 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
72776
72777         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
72778
72779 2006-06-23  Bruno Haible  <bruno@clisp.org>
72780
72781         * tests/test-stdint.c: Update to match ISO C 99 Technical
72782         Corrigendum 1.
72783
72784 2006-06-23  Bruno Haible  <bruno@clisp.org>
72785
72786         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
72787
72788 2006-06-23  Bruno Haible  <bruno@clisp.org>
72789
72790         * lib/stdint_.h: Treat IRIX like OpenBSD.
72791
72792 2006-06-23  Bruno Haible  <bruno@clisp.org>
72793
72794         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
72795         ISO C 99 Technical Corrigendum 1.
72796
72797 2006-06-22  Simon Josefsson  <jas@extundo.com>
72798
72799         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
72800         MinGW.
72801
72802 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
72803
72804         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
72805         needed.  Some compiler complained about some of them.  Problem reported
72806         by Larry Jones in
72807         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
72808
72809 2006-06-21  Simon Josefsson  <jas@extundo.com>
72810
72811         * tests/test-getaddrinfo.c: New file.
72812
72813         * modules/getaddrinfo-tests: New file.
72814
72815         * MODULES.html.sh: Add inet_pton.
72816
72817         * modules/inet_pton: New file.
72818
72819 2006-06-21  Simon Josefsson  <jas@extundo.com>
72820
72821         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
72822         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
72823         of using the (limited) gnulib implementation on Windows XP.
72824
72825         * m4/inet_pton.m4: New file.
72826
72827 2006-06-21  Simon Josefsson  <jas@extundo.com>
72828
72829         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
72830         variable.
72831
72832         * lib/socket_.h: Don't define WINVER.
72833
72834         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
72835         slightly modified to work in gnulib.
72836
72837 2006-06-21  Simon Josefsson  <jas@extundo.com>
72838
72839         * doc/gnulib.texi (Windows sockets): Add.
72840
72841 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
72842
72843         * lib/read-file.c (fread_file): Start with buffer allocation of
72844         0 bytes rather than 1 byte; this simplifies the code.
72845         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
72846         code to free buffer and save/restore errno.
72847         (internal_read_file): Remove unused local.
72848
72849 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
72850
72851         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
72852         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
72853         Problem reported by Denis Excoffier in
72854         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
72855
72856 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72857
72858         * modules/sys_socket, modules/socklen: Include sys/types since
72859         FreeBSD 4.x's sys/socket.h needs it.
72860
72861 2006-06-19  Simon Josefsson  <jas@extundo.com>
72862
72863         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
72864
72865 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
72866
72867         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
72868
72869 2006-06-19  Bruno Haible  <bruno@clisp.org>
72870
72871         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
72872         and FULL_PATH_INTTYPES_H in angle brackets.
72873         Reported by Mark D. Baushke <mdb@gnu.org>.
72874
72875 2006-06-17  Eric Blake  <ebb9@byu.net>
72876
72877         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
72878         errno.
72879
72880 2006-06-17  Bruno Haible  <bruno@clisp.org>
72881
72882         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
72883         <sys/inttypes.h>.
72884
72885 2006-06-17  Bruno Haible  <bruno@clisp.org>
72886
72887         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
72888         whether errno is declared. Assume <errno.h> declares errno.
72889
72890 2006-06-17  Bruno Haible  <bruno@clisp.org>
72891
72892         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
72893
72894 2006-06-17  Bruno Haible  <bruno@clisp.org>
72895
72896         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
72897         problem on Solaris 2.5.1.
72898
72899 2006-06-16  Eric Blake  <ebb9@byu.net>
72900
72901         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
72902         * lib/unicodeio.c [!defined errno]: Likewise.
72903         * lib/strtol.c [!defined errno]: Likewise.
72904         * lib/strtod.c [!defined errno]: Likewise.
72905
72906 2006-06-15  Eric Blake  <ebb9@byu.net>
72907
72908         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
72909
72910 2006-06-15  Eric Blake  <ebb9@byu.net>
72911
72912         * config/srclist.txt (ssize_t.m4): Lose sync.
72913
72914 2006-06-15  Bruno Haible  <bruno@clisp.org>
72915
72916         * modules/stdint (Files): Include m4/full-header-path.m4,
72917         m4/size_max.m4, m4/wchar_t.m4.
72918         (Makefile.am): Many more substitutions.
72919         * modules/stdint-tests: New file.
72920         * tests/test-stdint.c: New file.
72921
72922 2006-06-15  Bruno Haible  <bruno@clisp.org>
72923
72924         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
72925         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
72926         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
72927         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
72928         gl_CHECK_TYPE_SAME): New macros.
72929
72930 2006-06-15  Bruno Haible  <bruno@clisp.org>
72931
72932         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
72933
72934 2006-06-15  Bruno Haible  <bruno@clisp.org>
72935
72936         * lib/stdint_.h: Rewritten to be fully auto-configured.
72937         Fixes bug on HP-UX/IA64.
72938
72939 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
72940
72941         * lib/getdate.y (__attribute__): Don't define if already defined.
72942         Problem reported by Larry Jones.
72943         * lib/utimens.c (__attribute__): Likewise.
72944
72945 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
72946
72947         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
72948         reported by Andreas Schwab.
72949
72950 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72951             Bruno Haible  <bruno@clisp.org>
72952
72953         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
72954         check for the declaration of strnlen and a run test that exposes the
72955         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
72956         rpl_strndup.
72957
72958 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72959             Bruno Haible  <bruno@clisp.org>
72960
72961         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
72962
72963 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72964
72965         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
72966         compile test, for Tru64 4.0D.
72967
72968 2006-05-28  Karl Berry  <karl@gnu.org>
72969
72970         * config/srclist.txt (printf-args.c): lose sync.
72971
72972 2006-05-26  Martin Lambers  <marlam@marlam.de>
72973
72974         * lib/getpass.c: Updates the test for the native W32 API, and adds
72975         missing includes, thus fixing compilation warnings.
72976
72977 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
72978
72979         * lib/exclude.c (exclude_fnmatch): New function.
72980         (excluded_file_name): Call exclude_fnmatch.
72981         * lib/exclude.h (excluded_file_name): New prototype
72982
72983 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
72984
72985         * lib/tempname.c (small_open, large_open): New macros.
72986         (__open, __open64) [!_LIBC]: Remove.
72987         (__gen_tempname): Use small_open and large_open instead of __open
72988         and __open64.  This fixes a portability bug on HP-UX 11.11i
72989         reported by Simon Wing-Tang in
72990         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
72991
72992 2006-05-24  Bruno Haible  <bruno@clisp.org>
72993
72994         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
72995         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
72996         Reported by Thorsten Maerz <torte@netztorte.de> via
72997         Aaron Stone <aaron@serendipity.cx>.
72998
72999 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73000
73001         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
73002         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
73003         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
73004         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
73005         not really conditional on the cache.
73006         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
73007
73008 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
73009
73010         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
73011         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
73012         (my_usleep): Don't mishandle maximum value.
73013
73014 2006-05-19  Jim Meyering  <jim@meyering.net>
73015
73016         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
73017
73018 2006-05-17  Bruno Haible  <bruno@clisp.org>
73019
73020         Cygwin portability.
73021         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
73022
73023 2006-05-17  Bruno Haible  <bruno@clisp.org>
73024
73025         * lib/stdint_.h: Fix recognition of Cygwin.
73026
73027 2006-05-15  Bruno Haible  <bruno@clisp.org>
73028
73029         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
73030         on libtool patch by Ralf Wildenhues.
73031
73032 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
73033
73034         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
73035         test for C99 conformance; (bool) 0.5 is an integer constant
73036         expression, but (bool) -0.5 is not.  Problem reported by Fedor
73037         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
73038
73039 2006-05-11  Simon Josefsson  <jas@extundo.com>
73040
73041         * m4/xvasprintf.m4: Fix obvious typo.
73042
73043 2006-05-11  Jim Meyering  <jim@meyering.net>
73044
73045         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
73046         James Lemley.
73047
73048 2006-05-10  Simon Josefsson  <jas@extundo.com>
73049
73050         * lib/md4.c: Typo fix, update copyright years.
73051         (K1, K2): Don't use L because it turn computations into 64-bit on
73052         64-bit platforms.
73053
73054 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
73055
73056         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
73057         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
73058         unwanted sign propagation, e.g., on hosts with 64-bit int.
73059         There still are some problems with reeelly weird theoretical hosts
73060         (e.g., 33-bit int) but it's not worth worrying about now.
73061         * lib/sha1.c (rol): Likewise.
73062         (K1, K2, K3, K4): Remove unnecessary L suffix.
73063
73064 2006-05-10  Bruno Haible  <bruno@clisp.org>
73065
73066         * lib/des.c: Cast to avoid warnings.
73067
73068 2006-05-09  Bruno Haible  <bruno@clisp.org>
73069
73070         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
73071         (Depends-on): Depend also on xsize, stdarg.
73072         (configure.ac): Add gl_XVASPRINTF.
73073
73074 2006-05-09  Bruno Haible  <bruno@clisp.org>
73075
73076         * m4/xvasprintf.m4: New file.
73077
73078 2006-05-09  Bruno Haible  <bruno@clisp.org>
73079
73080         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
73081         (EOVERFLOW): Define fallback value.
73082         (xstrcat): New function.
73083         (xvasprintf): Recognize the special case of a string concatenation.
73084
73085 2006-05-08  Eric Blake  <ebb9@byu.net>
73086
73087         * gnulib-tool (func_version): Base copyright year on CVS date.
73088         (func_emit_copyright_notice): New function.
73089         (func_emit_lib_Makefile_am): Use it.
73090         (func_emit_tests_Makefile_am): Likewise.
73091         (func_import): Likewise.
73092
73093 2006-05-08  Bruno Haible  <bruno@clisp.org>
73094
73095         * modules/stdarg: New file.
73096         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
73097
73098 2006-05-08  Bruno Haible  <bruno@clisp.org>
73099
73100         * m4/stdarg.m4: New file, from GNU gettext.
73101
73102 2006-05-08  Bruno Haible  <bruno@clisp.org>
73103
73104         * config/srclist.txt (build-aux/config.rpath): different from latest
73105         release.
73106
73107 2006-05-08  Bruno Haible  <bruno@clisp.org>
73108
73109         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
73110
73111 2006-05-05  Jim Meyering  <jim@meyering.net>
73112
73113         * m4/warning.m4: New file, derived from bison's file by the same name.
73114
73115 2006-05-03  Bruno Haible  <bruno@clisp.org>
73116
73117         * lib/stdint_.h: Shorter URL.
73118         * lib/inttypes.h: Likewise.
73119
73120 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
73121
73122         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
73123
73124 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
73125
73126         * lib/verify.h: Document the internals better.  Most of this change
73127         was written by Bruno Haible.
73128
73129 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
73130
73131         * doc/verify.texi: New file, partly based on a proposal by
73132         Bruno Haible.
73133
73134 2006-05-02  Bruno Haible  <bruno@clisp.org>
73135
73136         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
73137         test from here...
73138         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
73139
73140 2006-04-29  Bruno Haible  <bruno@clisp.org>
73141
73142         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
73143         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
73144
73145 2006-04-29  Bruno Haible  <bruno@clisp.org>
73146
73147         * gnulib-tool: Make --update option actually work.
73148
73149 2006-04-29  Bruno Haible  <bruno@clisp.org>
73150
73151         * doc/gcd.texi: New file.
73152         * doc/gnulib.texi: Include it.
73153
73154 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
73155
73156         * lib/getdate.y (get_date): When adding relative date, start with the
73157         initial time, not with the result of the first mktime call.
73158
73159 2006-04-25  Bruno Haible  <bruno@clisp.org>
73160
73161         * gnulib-tool (func_import): Output the include directives in three
73162         blocks, sorted separately.
73163         Reported by Ben Pfaff <blp@cs.stanford.edu>.
73164
73165 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
73166
73167         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
73168         to define main with arguments, for C++.  Reported by Eric Blake.
73169         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
73170         Prefer 'int main ()' to 'int main (void)', for C++.
73171         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
73172         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
73173         for 'main', for C99 and C++.
73174
73175 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
73176
73177         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
73178         Don't assume that exit status -1 is valid.
73179         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
73180         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
73181         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
73182         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
73183         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
73184         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
73185         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
73186         functions can be used without declaring them, or that you can
73187         exit with status -1.
73188         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
73189
73190 2006-04-24  Karl Berry  <karl@gnu.org>
73191
73192         * config/srclist.txt (longdouble.m4): sync lost.
73193
73194 2006-04-24  Eric Blake  <ebb9@byu.net>
73195
73196         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
73197
73198 2006-04-24  Bruno Haible  <bruno@clisp.org>
73199
73200         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
73201         poll() implementation in AIX.
73202         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73203
73204 2006-04-24  Bruno Haible  <bruno@clisp.org>
73205
73206         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
73207         assigned exactly once.
73208
73209 2006-04-23  Claudio Fontana  <claudio@gnu.org>
73210             Bruno Haible  <bruno@clisp.org>
73211
73212         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
73213         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
73214         for AM_CPPFLAGS.
73215
73216 2006-04-23  Bruno Haible  <bruno@clisp.org>
73217
73218         * modules/copy-file: Depend on unistd.
73219         * modules/execute: Likewise.
73220         * modules/fatal-signal: Likewise.
73221         * modules/findprog: Likewise.
73222         * modules/mkdtemp : Likewise.
73223         * modules/pipe: Likewise.
73224         * modules/wait-process: Likewise.
73225
73226 2006-04-23  Bruno Haible  <bruno@clisp.org>
73227
73228         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
73229         condition was already detected.
73230         Reported by Ben Pfaff <blp@cs.stanford.edu>.
73231
73232 2006-04-23  Bruno Haible  <bruno@clisp.org>
73233
73234         * lib/copy-file.c: Include <unistd.h> unconditionally.
73235         * lib/execute.c: Likewise.
73236         * lib/fatal-signal.c: Likewise.
73237         * lib/findprog.c: Likewise.
73238         * lib/mkdtemp.c: Likewise.
73239         * lib/pipe.h: Likewise.
73240         * lib/pipe.c: Likewise.
73241         * lib/wait-process.h: Likewise.
73242
73243 2006-04-23  Bruno Haible  <bruno@clisp.org>
73244
73245         * gnulib-tool (func_usage): Fix --import description. Document
73246         --update.
73247         (func_import): Create temporary file in a temporary directory, if
73248         --dry-run is specified. Silence errors from 'grep' when there are no
73249         m4 files in $m4dir.
73250         (func_create_testdir): Silence errors from 'grep' when there are no
73251         m4 files in $m4dir.
73252         Reported by Karl Berry <karl@freefriends.org>.
73253
73254 2006-04-20  Bruno Haible  <bruno@clisp.org>
73255
73256         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
73257         one argument, so that the code will be portable to Autoconf 2.60.
73258         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
73259         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
73260         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
73261
73262 2006-04-19  Derek Price  <derek@ximbiot.com>
73263             Eric Blake  <ebb9@byu.net>
73264
73265         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
73266         rather than "/full/path.h".  Update comment to match.  Shorten &
73267         generalize m4_translit call via AS_TR_CPP.
73268
73269 2006-04-19  Derek Price  <derek@ximbiot.com>
73270             Eric Blake  <ebb9@byu.net>
73271
73272         * lib/inttypes.h: Correct grammar in comment.
73273
73274 2006-04-18  Derek Price  <derek@ximbiot.com>
73275             Paul Eggert  <eggert@cs.ucla.edu>
73276
73277         * modules/inttypes: New file.
73278         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
73279
73280 2006-04-18  Derek Price  <derek@ximbiot.com>
73281             Paul Eggert  <eggert@cs.ucla.edu>
73282
73283         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
73284         New files.
73285
73286 2006-04-18  Derek Price  <derek@ximbiot.com>
73287             Paul Eggert  <eggert@cs.ucla.edu>
73288
73289         * lib/inttypes.h: New file.
73290         * lib/strtoimax.c: Assume <inttypes.h>.
73291
73292 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
73293
73294         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
73295         isn't mounted.  Problem reported by Kir Kolyshkin.
73296
73297 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
73298
73299         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
73300         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
73301         Derek R. Price.
73302         * lib/regex.h (RE_DUP_MAX): Update comment to match current
73303         implementation.
73304
73305 2006-04-12  Eric Blake  <ebb9@byu.net>
73306
73307         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
73308         is now done automatically by the corresponding Autoconf macro.
73309
73310 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
73311
73312         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
73313         time_r.h.
73314
73315 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
73316
73317         Merge regex changes from libc, removing some of our
73318         POSIX-conformance changes that were rejected and redoing them in a
73319         less-intrusive way.
73320
73321         * lib/regcomp.c (re_compile_internal, init_dfa):
73322         Length arg is now size_t, not Idx.  All uses changed.
73323         (peek_token): Forward decl now says internal_function.
73324         (__re_error_msgid, __re_error_msgid_idx):
73325         Now static rather than extern with attribute_hidden.
73326         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
73327         For some reason libc prefers K&R style defns for external functions.
73328         (regerror) [!defined _LIBC]: Likewise.
73329         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
73330         (seek_collating_symbol_entry, lookup_collation_sequence_value):
73331         (build_range_exp, build_collating_symbol):
73332         Use K&R-style defn.
73333         (re_compile_fastmap): Use '\0' to memset, not 0.
73334         (utf8_sb_map): Make the calculations more obvious.
73335         (init_dfa, parse_bracket_exp, build_charclass_op):
73336         Call calloc and cast result, as glibc does.
73337         (init_word_char, fetch_token, peek_token, peek_token_bracket):
73338         (build_range_exp, build_collating_symbol):
73339         Now internal functions.
73340
73341         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
73342
73343         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
73344         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
73345         Don't depend on VMS; depend on __VMS instead, for POSIX
73346         namespace cleanness.
73347         (regoff_t): Define to ssize_t, not long int.
73348
73349         Remove the REG_ macros named below.  Instead, make the old names
73350         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
73351         __USE_GNU_REGEX.
73352         (REG_BACKSLASH_ESCAPE_IN_LISTS):
73353         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
73354         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
73355         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
73356         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
73357         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
73358         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
73359         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
73360         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
73361         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
73362         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
73363         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
73364         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
73365         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
73366         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
73367         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
73368         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
73369         (REG_NREGS):
73370         Remove.  All uses replaced by the old RE_* names.
73371         (RE_BACKSLASH_ESCAPE_IN_LISTS):
73372         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
73373         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
73374         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
73375         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
73376         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
73377         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
73378         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
73379         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
73380         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
73381         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
73382         Don't bother having these macros be independent of each others'
73383         values, since they no longer exist in the POSIX name space.
73384
73385         Rename the following member names back to their old names,
73386         unless !__USE_GNU_REGEX.  All uses changed back.
73387         (buffer): Renamed from re_buffer.
73388         (allocated): Renamed from re_allocated.
73389         (used): Renamed from re_used.
73390         (syntax): Renamed from re_syntax.
73391         (fastmap): Renamed from re_fastmap.
73392         (translate): Renamed from re_translate.
73393         (can_be_null): Renamed from re_can_be_null.
73394         (regs_allocated): Renamed from re_regs_allocated.
73395         (fastmap_accurate): Renamed from re_fastmap_accurate.
73396         (no_sub): Renamed from re_no_sub.
73397         (not_bol): Renamed from re_not_bol.
73398         (not_eol): Renamed from re_not_eol.
73399         (newline_anchor): Renamed from re_newline_anchor.
73400         (num_regs): Renamed from rm_num_regs.
73401         (start): Renamed from rm_start.
73402         (end): Renamed from rm_end.
73403
73404         (free_state): Move up a bit.
73405
73406         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
73407         #define to be empty.
73408         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
73409         when that is what is intended.
73410         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
73411         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
73412         (MAX): New macro.
73413         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
73414         All uses changed back to re_malloc, etc.  It's now the caller's
73415         responsibility to check for overflow; all callers changed.
73416         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
73417         (re_x2nrealloc): Remove.
73418         (free_state): Remove decl.
73419
73420         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
73421         (re_set_registers, re_exec):
73422         Use K&R-style defn.
73423
73424         2006-01-31  Roland McGrath  <roland@redhat.com>
73425
73426         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
73427         Reported by Mike Frysinger <vapier@gentoo.org>.
73428
73429         2006-01-15  Andreas Jaeger  <aj@suse.de>
73430
73431         [BZ #1950]
73432         * lib/regex_internal.c (re_string_reconstruct): Adjust for
73433         build_wcs_upper_buffer change.
73434         (build_wcs_upper_buffer): Change return type.
73435
73436         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
73437
73438         * lib/regex_internal.h: Include <stdint.h> if available.
73439
73440         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
73441
73442         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
73443
73444         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
73445
73446         * lib/regcomp.c: Adjust for changed secondary hash function.
73447
73448         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
73449
73450         * lib/regex.h: Pretty printing.
73451         Clean up namespace a bit.
73452
73453         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
73454
73455         * lib/regexec.c (update_cur_sifted_state, check_arrival,
73456         check_arrival_add_next_nodes): Avoid using uninitialized variable.
73457
73458         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
73459                     Ulrich Drepper  <drepper@redhat.com>
73460
73461         [BZ #1302]
73462         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
73463         changed.
73464         (bitset_word_t): Renamed from bitset_word.  All uses changed.
73465
73466         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
73467
73468         [BZ #281]
73469         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
73470         * lib/regcomp.c: Remove unnecessary uses of
73471         unsigned RE_TRANSLATE_TYPE.
73472         * lib/regex_internal.h: Likewise.
73473         * lib/regex_internal.c: Likewise.
73474         * lib/regexec.c: Likewise.
73475         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
73476
73477         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
73478
73479         * lib/regexec.c (find_recover_state): Remove unnecessary
73480         initialization.
73481         (transit_state_bkref): Make DFA a const pointer.
73482         (get_subexp): Likewise.
73483         (check_arrival): Likewise.
73484         (update_cur_sifted_state): Likewise.
73485         (re_search_internal): Likewise.
73486         (prune_impossible_nodes): Likewise.
73487         (acquire_init_state_context): Likewise.
73488         (proceed_next_node): Likewise.
73489         (set_regs): Likewise.
73490         (free_fail_stack_return): Likewise.
73491         (check_arrival_expand_ecl): Mark DFA parameter as const.
73492         (check_arrival_expand_ecl_sub): Likewise.
73493         (check_subexp_limits): Likewise.
73494         (sub_epsilon_src_nodes):  Likewise.
73495         (add_epsilon_src_nodes):  Likewise.
73496         (merge_state_array): Likewise.
73497         (update_regs): Likewise.
73498         (build_trtable): Likewise.
73499         (sift_states_backward): Mark MCTX parameter as const.
73500         (build_sifted_states): Likewise.
73501         (update_cur_sifted_state): Likewise.
73502         (sift_states_mkref): Likewise.
73503         (check_arrival_expand_ecl): Mark eclosure as const.
73504         (check_dst_limits_calc_pos_1): Likewise.
73505         * lib/regex_internal.h (re_match_context_t): Make dfa a const
73506         pointer.
73507
73508         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
73509
73510         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
73511         (transit_state_sb): Likewise.
73512         (transit_state_mb): Likewise.
73513         (sift_states_iter_mb): Likewise.
73514         (check_arrival_add_next_nodes): Likewise.
73515         (check_node_accept_bytes): Change first parameter to pointer-to-const.
73516         [_LIBC] (re_search_2_stub): Use mempcpy.
73517
73518         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
73519         mbrtowc for very simple UTF-8 case.
73520
73521         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
73522         a pointer-to-const.
73523         (re_acquire_state_context): Likewise.
73524         * lib/regex_internal.h: Adjust prototypes.
73525
73526         * lib/regex.c: Prevent using C++ compilers.
73527
73528         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
73529         (re_acquire_state_context): Likewise.
73530
73531 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
73532
73533         * modules/regex (Depends-on): Add ssize_t.
73534
73535 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
73536
73537         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
73538         translation table.
73539
73540 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
73541
73542         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
73543
73544 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
73545             Bruno Haible  <bruno@clisp.org>
73546
73547         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
73548         <sys/types.h> and <inttypes.h>.
73549
73550 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73551
73552         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
73553         `__error_t_defined', so argp.h will not typedef the former.
73554
73555 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
73556
73557         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
73558         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
73559         glibc names.  Even if glibc is changed to conform to POSIX, the
73560         traditional names will be available anyway, since regex depends on
73561         the extensions module.  Also, fix a longstanding typo in the
73562         implementation of Spencer ERE test #75 from grep 2.3.  Problems
73563         reported by Emanuele Giaquinta.  Also, change sense of cached
73564         variable, so that the message makes sense.
73565
73566 2006-03-24  Simon Josefsson  <jas@extundo.com>
73567
73568         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
73569         including some doc fixes.
73570         (base64_encode_alloc): Fix +1 bug on allocation failures.
73571
73572 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73573
73574         * lib/base64.c (base64_encode): Do not read past end of array with
73575         unsanitized input on systems with CHAR_BIT > 8.
73576
73577 2006-03-24  Eric Blake  <ebb9@byu.net>
73578
73579         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
73580
73581 2006-03-22  Karl Berry  <karl@gnu.org>
73582
73583         * config/srclist.txt (*setenv.[ch]): get from coreutils.
73584         * config/srclistvars.sh (COREUTILS): new var.
73585
73586 2006-03-17  Jim Meyering  <jim@meyering.net>
73587
73588         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
73589         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
73590
73591 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
73592
73593         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
73594         no longer needs it.  Instead, check that regoff_t is as least
73595         as wide as ptrdiff_t.
73596
73597         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
73598         so that our regex.h stays compatible with the installed regex.
73599         This is helpful for installers who configure --without-included-regex.
73600         Problem reported by Emanuele Giaquinta.
73601
73602 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
73603
73604         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
73605         Typedef to long int, not to off_, as POSIX will likely change
73606         in that direction.
73607
73608 2006-03-15  Eric Blake  <ebb9@byu.net>
73609
73610         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
73611
73612 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
73613
73614         * lib/argp-help.c (validate_uparams): Fix typo
73615         * lib/argp-parse.c (argp_default_options): Consistently begin help
73616         messages with a lowercase letter.
73617
73618 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
73619
73620         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
73621         overrun buffers and shouldn't be used (much as gets shouldn't be
73622         used).
73623         * lib/time_r.c (asctime_r, ctime_r): Likewise.
73624
73625 2006-03-08  Simon Josefsson  <jas@extundo.com>
73626
73627         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
73628         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73629
73630 2006-03-08  Simon Josefsson  <jas@extundo.com>
73631
73632         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
73633         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73634
73635 2006-03-08  Simon Josefsson  <jas@extundo.com>
73636
73637         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
73638         signal that configure disabled the device.
73639
73640 2006-03-08  Simon Josefsson  <jas@extundo.com>
73641
73642         * build-aux/maint.mk: Fix refresh-po, to handle no translated
73643         languages.
73644
73645 2006-03-07  Simon Josefsson  <jas@extundo.com>
73646
73647         * modules/getopt (Depends-on): Add unistd.
73648
73649         * modules/unistd: New file.
73650
73651 2006-03-07  Simon Josefsson  <jas@extundo.com>
73652
73653         * modules/gc-random: New file.
73654
73655 2006-03-07  Simon Josefsson  <jas@extundo.com>
73656
73657         * m4/unistd_h.m4: New file.
73658
73659 2006-03-07  Simon Josefsson  <jas@extundo.com>
73660
73661         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
73662         test to be side-effect free by storing the result in the cache
73663         variable gl_cv_lib_readline, and moving the assignment of
73664         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
73665         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73666
73667 2006-03-07  Simon Josefsson  <jas@extundo.com>
73668
73669         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
73670         error on missing devices (the functions will return an error).
73671
73672         * m4/gc.m4: Move random stuff to gc-random.m4
73673
73674 2006-03-07  Simon Josefsson  <jas@extundo.com>
73675
73676         * lib/unistd_.h: New file.
73677
73678 2006-03-07  Simon Josefsson  <jas@extundo.com>
73679
73680         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
73681
73682 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
73683
73684         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
73685         Problem reported by Juan Manuel Guerrero.
73686
73687 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
73688
73689         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
73690         the unistd module.
73691         * lib/getlogin_r.c: Likewise.
73692         * lib/getlogin_r.h: Likewise.
73693         * lib/glob.c: Likewise.
73694         * lib/pagealign_alloc.c: Likewise.
73695         * lib/unistd_.h: Remove; no longer needed.
73696
73697 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
73698
73699         * MODULES.html.sh (Support for systems lacking POSIX:2001):
73700         Add unistd.
73701         * modules/c-stack (Depends-on): Add unistd.
73702         * modules/getlogin_r: Likewise.
73703         * modules/glob: Likewise.
73704         * modules/pagealign_alloc: Likewise.
73705         * modules/unistd (Files): Remove lib/unistd_.h.
73706         (EXTRA_DIST): Remove.
73707         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
73708         need unistd_.h.
73709         (MOSTLYCLEANFILES): Remove unistd.h-t.
73710
73711 2006-03-03  Simon Josefsson  <jas@extundo.com>
73712
73713         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
73714
73715 2006-03-03  Simon Josefsson  <jas@extundo.com>
73716
73717         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
73718         libidn and bison.
73719
73720 2006-03-03  Simon Josefsson  <jas@extundo.com>
73721
73722         * build-aux/maint.mk: Add indent target.
73723
73724 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
73725
73726         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
73727         our replacement poll.h in any case, to avoid a differing
73728         declaration from a system header.  Seen on AIX.
73729
73730 2006-03-01  Simon Josefsson  <jas@extundo.com>
73731
73732         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
73733         <kasal@ucw.cz>.
73734
73735 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73736
73737         * modules/gettime (Depends-on): Add extensions module.
73738         * modules/nanosleep (Depends-on): Likewise.
73739         * modules/settime (Depends-on): Likewise.
73740
73741 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
73742
73743         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
73744         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
73745         pedantically.
73746         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
73747         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
73748
73749         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
73750         not "==".  Reported by Ralf Wildenhues.
73751
73752 2006-03-01  Karl Berry  <karl@gnu.org>
73753
73754         * doc/Copyright/request-*: new files, synced from gnuorg.
73755
73756 2006-03-01  Karl Berry  <karl@gnu.org>
73757
73758         * config/srclist.txt (Copyright/*): new entries.
73759
73760 2006-02-28  Simon Josefsson  <jas@extundo.com>
73761
73762         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
73763
73764 2006-02-27  Simon Josefsson  <jas@extundo.com>
73765
73766         * lib/base64.h: Indent #define's.  From Jim Meyering
73767         <jim@meyering.net>.
73768
73769 2006-02-27  Jim Meyering  <jim@meyering.net>
73770
73771         Revert the change of 2006-02-24, so these files can continue
73772         to be sync'd from gettext.
73773         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
73774         of `config.h'.
73775
73776 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
73777
73778         * modules/intprops: New file.
73779         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
73780         Add intprops.
73781         * modules/getloadavg (Files): Remove lib/intprops.h.
73782         (Depends-on): Add intprops.
73783         * modules/human: Likewise.
73784         * modules/inttostr: Likewise.
73785         * modules/openat: Likewise.
73786         * modules/sig2str: Likewise.
73787         * modules/userspec: Likewise.
73788         * modules/utimecmp: Likewise.
73789         * modules/xnanosleep: Likewise.
73790         * modules/xstrtol: Likewise.
73791
73792 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
73793
73794         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
73795         * modules/lock-tests (TESTS): Use $(EXEEXT).
73796         * modules/tls-tests: Likewise.
73797         * modules/argp-tests: Likewise.
73798         (check_PROGRAMS): New var, replacing...
73799         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
73800
73801 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73802
73803         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
73804         `config.h'.
73805
73806 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
73807
73808         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
73809
73810 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73811
73812         Sync from coreutils.
73813         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
73814         gl_CHDIR_SAFER.
73815
73816 2006-02-22  Jim Meyering  <jim@meyering.net>
73817
73818         Sync from coreutils.
73819         * m4/chdir-safer.m4: New file.
73820
73821 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
73822
73823         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
73824         AT_FDCWD exceeds INT_MAX.
73825         * lib/openat.h (AT_FDCWD): Likewise.
73826
73827 2006-02-17  Eric Blake  <address@hidden>
73828
73829         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
73830
73831 2006-02-16  Simon Josefsson  <jas@extundo.com>
73832
73833         * modules/getaddrinfo (Depends-on): Add sys_socket.
73834
73835 2006-02-15  Simon Josefsson  <jas@extundo.com>
73836
73837         * build-aux/maint.mk: Add dsyntax-check rule.
73838
73839 2006-02-15  Eric Blake  <ebb9@byu.net>
73840
73841         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
73842         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
73843         'present but cannot compile' warnings on cygwin.
73844         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
73845         use ws2tcpip.h if sys/socket.h works.
73846         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
73847         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
73848
73849 2006-02-14  Simon Josefsson  <jas@extundo.com>
73850
73851         * modules/maintainer-makefile (Files): Rename.
73852
73853         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
73854         and (the local) Makefile.cfg to maint-cfg.mk.
73855
73856         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
73857         to the latter.
73858
73859         * modules/maintainer-makefile: New module.
73860
73861         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
73862         severaly stripped to make it possible to build it up from scratch
73863         with reliable tests.
73864
73865         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
73866         fixes to permit overriding the default actions when configure and
73867         makefile are not available.
73868
73869 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73870
73871         Sync from coreutils.
73872         * modules/lstat (Depends-on): Don't depend on xalloc.
73873         (License): Change from GPL to LGPL, since this is now simply a
73874         replacement for a libc function.
73875
73876 2006-02-14  Jim Meyering  <jim@meyering.net>
73877
73878         Sync from coreutils.
73879
73880         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
73881         failure on deficient systems, and simplify gnulib lgpl dependencies.
73882         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
73883         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
73884
73885         * lib/xalloc-die.c: Remove unused definition of N_.
73886
73887 2006-02-14  Jim Meyering  <jim@meyering.net>
73888
73889         Sync from coreutils.
73890         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
73891         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
73892         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
73893         double-quote uses of that variable, to accommodate the rare case in
73894         which getmntent is available in none of the libraries checked.  This
73895         happens at least on FreeBSD 5.0.
73896
73897 2006-02-13  Simon Josefsson  <jas@extundo.com>
73898
73899         * gnulib-tool (Usage): Fix --import, from
73900         karl@freefriends.org (Karl Berry).
73901
73902 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
73903
73904         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
73905
73906 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
73907
73908         * lib/argp-namefrob.h: Restore changes accidentally lost during the
73909         "autoupdate" on 2005-12-12.
73910
73911 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
73912
73913         * modules/closeout (Depends-on): Remove atexit.
73914
73915 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
73916
73917         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
73918         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
73919
73920 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73921
73922         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
73923         __EXTENSIONS__ if this causes compilation to fail.  Problem
73924         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
73925         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
73926
73927 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
73928
73929         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
73930         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
73931         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
73932         All uses changed.
73933
73934 2006-01-26  Simon Josefsson  <jas@extundo.com>
73935
73936         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
73937         prototype is visible on mingw32.
73938
73939         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
73940         for mingw32.
73941
73942         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
73943         mingw32).
73944
73945 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
73946
73947         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
73948         attempt to open for write; this always fails, at least on POSIX
73949         hosts.  This reinstates the 2006-01-09 change, which was
73950         inadvertently removed.
73951
73952 2006-01-26  Bruno Haible  <bruno@clisp.org>
73953
73954         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
73955         Reported by Paul Eggert.
73956
73957 2006-01-26  Bruno Haible  <bruno@clisp.org>
73958             Paul Eggert  <eggert@cs.ucla.edu>
73959
73960         * lib/stdbool_.h (_Bool)
73961         [(! (defined __cplusplus || defined __BEOS__)
73962           && !defined __GNUC__
73963           && !(defined __HP_cc || defined __xlc__
73964                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
73965                || defined __sgi))]:
73966         #define to signed char in these cases too; this simplifies
73967         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
73968         etc., separately) and makes it more conservative.
73969
73970 2006-01-25  Simon Josefsson  <jas@extundo.com>
73971
73972         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
73973         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
73974         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
73975
73976 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
73977
73978         * lib/argp-namefrob.h: Bugfix. Remove stray #
73979
73980 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
73981
73982         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
73983         so that we test the test.
73984         Check for yet another HP-UX cc bug involving *bool |= bool.
73985
73986 2006-01-25  Karl Berry  <karl@gnu.org>
73987
73988         * config/srclist.txt (vasnprintf.c): sync lost.
73989
73990 2006-01-25  Jim Meyering  <jim@meyering.net>
73991
73992         Sync from the stable (b5) branch of coreutils:
73993
73994         * lib/fts.c (fts_children): Don't let close() clobber errno from
73995         failed fchdir().
73996
73997         * lib/fts.c (fts_stat): When following a symlink-to-directory,
73998         don't necessarily interpret stat-fails+lstat-succeeds as indicating
73999         a dangling symlink.  That can also happen at least for ELOOP.
74000         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
74001         FYI, this bug predates the inclusion of fts.c in coreutils.
74002
74003         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
74004         in their own block, so pre-c99 compilers don't object.
74005
74006         Avoid the double-free (first in fts_read, second in fts_close) that
74007         would occur when an `active' directory is made inaccessible (e.g.,
74008         via chmod a-x) during a traversal.
74009         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
74010         before returning.  Reproduce this failure by
74011         mkdir -p a/b; cd a; chmod a-x . b
74012         Reported by Stavros Passas.
74013
74014 2006-01-25  Jim Meyering  <jim@meyering.net>
74015
74016         * lib/fileblocks.c: Remove more useless parentheses.
74017         * lib/readutmp.h: Likewise.
74018
74019 2006-01-25  Bruno Haible  <bruno@clisp.org>
74020
74021         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
74022         warnings.
74023         Reported by Paul Eggert.
74024
74025 2006-01-25  Bruno Haible  <bruno@clisp.org>
74026
74027         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
74028         rid of a trap command. For Solaris sh.
74029         Reported by Mark D. Baushke <mdb@gnu.org>.
74030
74031 2006-01-24  Simon Josefsson  <jas@extundo.com>
74032
74033         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
74034         Bruno.
74035
74036 2006-01-24  Karl Berry  <karl@gnu.org>
74037
74038         * config/srclist.txt (argp-namefrob.h): sync lost.
74039
74040 2006-01-24  Jim Meyering  <jim@meyering.net>
74041
74042         * modules/openat (Files): Add lib/intprops.h.
74043         From Mark D. Baushke.
74044
74045 2006-01-24  Jim Meyering  <jim@meyering.net>
74046
74047         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
74048         Reported by Mark D. Baushke.
74049
74050 2006-01-24  Jim Meyering  <jim@meyering.net>
74051
74052         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
74053
74054 2006-01-24  Bruno Haible  <bruno@clisp.org>
74055
74056         * modules/strnlen (Maintainer): Change from glibc to all.
74057
74058 2006-01-24  Bruno Haible  <bruno@clisp.org>
74059
74060         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
74061         Patch by Paul Eggert.
74062
74063 2006-01-24  Bruno Haible  <bruno@clisp.org>
74064
74065         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
74066         already has it.
74067         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
74068         2005-11-26.
74069
74070         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
74071         'signed char' to avoid problems with the built-in _Bool type.
74072         Reported by Paul Eggert on 2005-11-26.
74073
74074 2006-01-24  Bruno Haible  <bruno@clisp.org>
74075
74076         * gnulib-tool (func_import): Avoid constructing complicated sed
74077         expressions inside backquote.
74078         Report and solution by Mark D. Baushke <mdb@gnu.org>.
74079
74080 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
74081
74082         These changes imported from libc.
74083         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
74084         test and two separate function calls.
74085         * lib/strndup.c (__strndup): Add libc_hidden_def.
74086
74087 2006-01-23  Simon Josefsson  <jas@extundo.com>
74088
74089         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
74090         Remove the test_*_SOURCES variable: automake infers it by default.
74091         * modules/tls-tests: Likewise.
74092
74093 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74094
74095         Work around porting bugs reported by Dieter in
74096         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
74097         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
74098         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
74099         Include "getopt.h" first, to check interface.
74100         (getenv): Declare only if defined HAVE_DECL_GETENV &&
74101         !HAVE_DECL_GETENV.
74102         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
74103         (__strndup): Revert to K&R-style function dfns, the glibc style.
74104         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
74105         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
74106         Include strnlen.h first, to get prototype properly.
74107         (strnlen): Renamed from __strnlen.
74108         Remove weak alias.
74109
74110 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74111
74112         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
74113
74114 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74115
74116         * config/srclist.txt: Adjust to reflect glibc reorganization.
74117         This affects only comments.
74118
74119 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74120
74121          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
74122          Reported by Bruce Korb <bkorb@gnu.org>.
74123
74124 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74125
74126         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
74127         to pacify gcc -Wswitch-default.
74128
74129 2006-01-22  Bruno Haible  <bruno@clisp.org>
74130
74131         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
74132         temporary buffer for sprintf, take into account the precision also
74133         for 'd', 'i', 'u', 'o', 'x', 'X'.
74134
74135 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
74136
74137         * modules/argp-tests: New module
74138         * tests/test-argp.c: New file
74139         * tests/test-argp-2.sh: New file
74140
74141 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
74142
74143         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
74144         (__argp_base_name): Removed
74145         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
74146         typo.
74147         (__argp_base_name): Provide macro definition or extern declaration
74148         depending on the configuration
74149
74150 2006-01-20  Simon Josefsson  <jas@extundo.com>
74151
74152         * modules/inet_ntop (Depends-on): Depend on sys_socket.
74153
74154 2006-01-20  Simon Josefsson  <jas@extundo.com>
74155
74156         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
74157
74158 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
74159
74160         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
74161         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
74162         Suggested by Bruno Haible.
74163
74164 2006-01-20  Karl Berry  <karl@gnu.org>
74165
74166         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
74167         until changes propagate, I guess.
74168
74169 2006-01-19  Simon Josefsson  <jas@extundo.com>
74170
74171         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
74172
74173 2006-01-19  Simon Josefsson  <jas@extundo.com>
74174
74175         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
74176
74177 2006-01-19  Simon Josefsson  <jas@extundo.com>
74178
74179         * gnulib-tool: Set check_PROGRAMS.
74180
74181         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
74182         modules/des-tests, modules/gc-arcfour-tests,
74183         modules/gc-arctwo-tests, modules/gc-des-tests,
74184         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
74185         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
74186         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
74187         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
74188         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
74189         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
74190         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
74191         test_*_SOURCES.
74192
74193 2006-01-18  Simon Josefsson  <jas@extundo.com>
74194
74195         * modules/socklen (Depends-on): Depend on sys_socket.
74196
74197 2006-01-18  Simon Josefsson  <jas@extundo.com>
74198
74199         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
74200         modules/des-tests, modules/gc-arcfour-tests,
74201         modules/gc-arctwo-tests, modules/gc-des-tests,
74202         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
74203         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
74204         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
74205         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
74206         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
74207         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
74208         $(EXEEXT) to automake TESTS variable, for mingw32.
74209
74210 2006-01-17  Simon Josefsson  <jas@extundo.com>
74211
74212         * modules/socklen (Include): Need sys/socket.h.
74213
74214 2006-01-17  Bruno Haible  <bruno@clisp.org>
74215
74216         * modules/ssize_t (Include): Add <sys/types.h>.
74217
74218 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
74219
74220         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
74221         it's not portable and it doesn't work with cross-compiles.
74222         Problem reported by Bruno Haible.  Fix missing-$ typo in
74223         'test "gl_cv_ignore_unused_libraries" ...' that prevented
74224         -zignore from being used with Sun's C compiler.
74225
74226 2006-01-12  Simon Josefsson  <jas@extundo.com>
74227
74228         * lib/base64.c: Fix warning, reported by Bruno Haible
74229         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
74230
74231 2006-01-12  Bruno Haible  <bruno@clisp.org>
74232
74233         * modules/ldd: New file.
74234         * build-aux/ldd.sh.in: New file.
74235         * MODULES.html.sh (Support for building libraries and executables): Add
74236         ldd.
74237
74238 2006-01-12  Bruno Haible  <bruno@clisp.org>
74239
74240         * m4/ldd.m4: New file.
74241
74242 2006-01-12  Bruno Haible  <bruno@clisp.org>
74243
74244         * gnulib-tool (func_import, func_create_testdir): Don't go into an
74245         endless loop while replacing $auxdir with build-aux.
74246
74247 2006-01-11  Simon Josefsson  <jas@extundo.com>
74248
74249         * lib/stdint_.h (SIZE_MAX): Add missing (.
74250
74251 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
74252
74253         Sync from coreutils.
74254         * lib/md5.c: Fix commentary typos.
74255         (alignof, UNALIGNED_P): No need for a GCC-specific version.
74256         * lib/md5.h (__attribute__): Remove; unused.
74257         * lib/sha1.c: Fix commentary to match md5 better.
74258         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
74259         so that we don't need to worry about alignment.  All uses changed.
74260         This merges the 2005-10-28 md5 change into sha1.
74261
74262 2006-01-11  Jim Meyering  <jim@meyering.net>
74263
74264         Sync from coreutils.
74265         * lib/md5.c (OP): Fix spacing.
74266
74267 2006-01-11  Bruno Haible  <bruno@clisp.org>
74268
74269         Ensure automatic ordering between gl_LOCK and gl_ARGP.
74270         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
74271         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
74272
74273 2006-01-11  Bruno Haible  <bruno@clisp.org>
74274
74275         Ensure automatic ordering between gl_LOCK and gl_ARGP.
74276         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
74277         the "early" section as well.
74278
74279 2006-01-11  Bruno Haible  <bruno@clisp.org>
74280
74281         Avoid "ar: no archive members specified" error on MacOS X.
74282         * gnulib-tool (func_modules_add_dummy): New function.
74283         (func_import, func_create_testdir): Invoke it.
74284
74285 2006-01-11  Bruno Haible  <bruno@clisp.org>
74286
74287         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
74288         with $auxdir in AC_CONFIG_FILES statements.
74289
74290 2006-01-11  Bruno Haible  <bruno@clisp.org>
74291
74292         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74293         Initialize also noinst_HEADERS to empty.
74294
74295 2006-01-11  Bruno Haible  <bruno@clisp.org>
74296
74297         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
74298         variables.
74299         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
74300         autoreconf.
74301
74302 2006-01-11  Bruno Haible  <bruno@clisp.org>
74303
74304         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
74305         overridable by the user.
74306         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
74307
74308 2006-01-10  Simon Josefsson  <jas@extundo.com>
74309
74310         * modules/sys_socket: New file.
74311
74312 2006-01-10  Simon Josefsson  <jas@extundo.com>
74313
74314         * m4/sys_socket_h.m4: New file.
74315
74316 2006-01-10  Simon Josefsson  <jas@extundo.com>
74317
74318         * lib/socket_.h: New file.
74319
74320 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74321
74322         * modules/readutmp (Maintainer): Add myself.
74323
74324 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74325
74326         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
74327         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
74328         People who are still concerned with buggy memcmp implementations
74329         can invoke gl_FUNC_MEMCMP themselves.
74330
74331 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74332
74333         * lib/regex_internal.h (BITSET_WORD_BITS):
74334         Work around a bug in 64-bit PGC (before version 6.1-2), where the
74335         preprocessor mishandles large unsigned values as if they were signed.
74336         Problem reported by Claudio Fontana in
74337         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
74338
74339 2006-01-10  Jim Meyering  <jim@meyering.net>
74340
74341         Avoid the double-free (first in fts_read, second in fts_close) that
74342         would occur when an `active' directory is made inaccessible (e.g.,
74343         via chmod a-x) during a traversal.
74344         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
74345         before returning.  Reproduce this failure by
74346         mkdir -p a/b; cd a; chmod a-x . b
74347         Reported by Stavros Passas.
74348
74349         Sync from coreutils.
74350         * lib/sha1.c: Tweak grammar in a comment.
74351
74352 2006-01-10  Jim Meyering  <jim@meyering.net>
74353
74354         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
74355         Patch by Joerg Sonnenberger.
74356
74357 2006-01-10  Bruno Haible  <bruno@clisp.org>
74358
74359         * modules/readutmp: Depend on module free.
74360         * modules/strtok_r: Depend on module restrict.
74361
74362 2006-01-10  Bruno Haible  <bruno@clisp.org>
74363
74364         * modules/gettext (configure.ac): Add an invocation of
74365         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
74366
74367 2006-01-10  Bruno Haible  <bruno@clisp.org>
74368
74369         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
74370         Reported by Werner Lemberg <wl@gnu.org>.
74371
74372 2006-01-10  Bruno Haible  <bruno@clisp.org>
74373
74374         * lib/localcharset.c: Update from GNU gettext.
74375
74376 2006-01-10  Bruno Haible  <bruno@clisp.org>
74377
74378         * lib/argp.h (__const): Remove macro. Use const instead.
74379         * lib/argp-fmtstream.h (__const): Likewise.
74380         * lib/glob_.h (__const): Remove macro.
74381         * lib/glob-libc.h: Use const instead of __const.
74382
74383 2006-01-10  Bruno Haible  <bruno@clisp.org>
74384
74385         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
74386         variable.
74387         Needed to avoid an automake error regarding the 'gettext' module.
74388
74389 2006-01-09  Simon Josefsson  <jas@extundo.com>
74390
74391         * modules/inet_ntop (Depends-on): Add restrict.
74392
74393 2006-01-09  Simon Josefsson  <jas@extundo.com>
74394
74395         * modules/gc-rijndael-tests (License): Put under LGPL.
74396
74397         * modules/gc-des-tests (License): Likewise.
74398
74399         * modules/gc-arcfour-tests (License): Likewise.
74400
74401         * modules/gc-arctwo-tests (License): Likewise.
74402
74403         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
74404
74405         * modules/gc-hmac-sha1-tests (Files): Likewise.
74406
74407         * modules/gc-hmac-md5-tests (License): Likewise.
74408
74409         * modules/gc-sha1-tests (License): Likewise.
74410
74411         * modules/gc-md5-tests (License): Likewise.
74412
74413         * modules/gc-md4-tests (License): Likewise.
74414
74415         * modules/gc-md2-tests (License): Likewise.
74416
74417         * modules/gc-tests (License): Likewise.
74418
74419         * modules/des-tests (License): Likewise.
74420
74421         * modules/md4-tests (License): Likewise.
74422
74423         * modules/md2-tests (License): Likewise.
74424
74425 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
74426
74427         Sync from coreutils:
74428
74429         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
74430         * modules/lib-ignore: New file.
74431         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
74432         chdir-safer.m4, lchmod.m4.
74433         * modules/openat: Add mkdirat.c, openat-priv.h.
74434
74435 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
74436
74437         Sync from coreutils.
74438         * m4/lib-ignore.m4: New file.
74439         * m4/lchmod.m4: New file.
74440
74441 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
74442
74443         Sync from coreutils.
74444         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
74445         for write access: POSIX says that must fail.
74446         * lib/fts.c (diropen): Likewise.
74447         * lib/save-cwd.c (save_cwd): Likewise.
74448         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
74449         well, for minor improvements on hosts that lack O_DIRECTORY.
74450         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
74451         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
74452         Fall back on chown if open failed with EACCES.
74453
74454         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
74455         Report an error at compile-time if only a 1-second nominal clock
74456         resolution is found.
74457
74458         * lib/lchmod.h: New file.
74459         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
74460         (make_dir_parents): Use lchown rather than chown, and
74461         lchmod rather than chmod.
74462
74463         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
74464         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
74465         "proc" reported by n0dalus.
74466
74467         * lib/mountlist.c: Include <limits.h>.
74468         (dev_from_mount_options)
74469         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
74470         New function.  It no longer assumes "dev=" has the System V meaning
74471         on Linux (since it doesn't).  It also parses "dev=" more carefully.
74472         (read_file_system_list)
74473         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
74474         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
74475         dev= in that case.
74476
74477         * lib/posixtm.h (PDS_PRE_2000): New macro.
74478         * lib/posixtm.c (year): Arg is now syntax_bits rather than
74479         allow_century.  All usages changed.  Reject dates outside the range
74480         1969-1999 if PDS_PRE_2000 is used.
74481
74482 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
74483
74484         Sync from coreutils.
74485         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
74486         (Time of day items): Mention the possibility of leap seconds.
74487         Problem reported by Dr. David Alan Gilbert.
74488
74489 2006-01-09  Jim Meyering  <jim@meyering.net>
74490
74491         Sync from coreutils.
74492
74493         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
74494
74495         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
74496
74497         * lib/modechange.c (mode_compile): Reject an invalid mode string
74498         that starts with an octal digit.  From Andreas Gruenbacher.
74499
74500         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
74501         and dup to open_safer and dup_safer, respectively.
74502         (openat_permissive): Fix typo in comment.
74503
74504         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
74505         "gettext.h"; either no longer needed or are guaranteed by openat.h.
74506         (_): Remove; no longer needed.
74507         (openat): Renamed from rpl_openat; no need for rpl_openat
74508         since openat.h renames openat for us.
74509         Replace most of the body with a call to openat_permissive,
74510         to avoid duplicate code.
74511         Port to (probably hypothetical) environments were mode_t is
74512         wider than int.
74513         (openat_permissive): Require mode arg, so that we can check
74514         types better.  Put it just after flags.  Change cwd failure
74515         indicator from pointer-to-bool to pointer-to-errno-value.
74516         All callers changed.
74517         Invoke openat_save_fail and/or openat_restore_fail if
74518         cwd_errno is null, so that openat can call us.
74519         (openat_permissive, fdopendir, fstatat, unlinkat):
74520         Simplify errno handling to avoid some duplicate code,
74521         as it's OK to set errno on success.
74522         * lib/openat.h: Revamp code so that function macros depend on
74523         __OPENAT_PREFIX only, not also on AT_FDCWD.
74524         (openat_ro): Remove.  Caller changed to use openat_permissive.
74525         (openat_permissive): Now a macro, if not a function.
74526         (openat_restore_fail, openat_save_fail): Now always functions,
74527         since mkdirat needs them even if __OPENAT_PREFIX is defined.
74528
74529         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
74530         and openat.c.
74531         * lib/mkdirat.c: Include openat-priv.h.
74532         Remove definitions of macros defined therein.
74533         * lib/openat.c: Likewise.
74534
74535         * lib/mkdirat.c (mkdirat): New file and function.
74536         * lib/openat.h (mkdirat): Declare.
74537
74538         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
74539
74540         * lib/openat.h (openat_permissive): Declare.
74541         (openat_ro): Define.
74542
74543         * lib/openat.c (EXPECTED_ERRNO): New macro.
74544         (openat_permissive): New function -- used in remove.c rewrite.
74545         (all functions): Set errno just before returning, only if there
74546         was an actual failure.
74547         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
74548
74549         Emulate openat-family functions using Linux's procfs, if possible.
74550         Idea and some code based on Ulrich Drepper's glibc changes.
74551
74552         * lib/openat.c: (BUILD_PROC_NAME): New macro.
74553         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
74554         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
74555         before falling back on save_cwd and restore_cwd.
74556         (fdopendir, fstatat, unlinkat): Likewise.
74557
74558         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
74559         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
74560
74561         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
74562         as second argument to va_arg.  Otherwise, some versions of gcc
74563         warn that `if this code is reached, the program will abort'.
74564
74565 2006-01-09  Jim Meyering  <jim@meyering.net>
74566
74567         Sync from coreutils.
74568         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
74569         Require openat-priv.h.
74570
74571 2006-01-09  Bruno Haible  <bruno@clisp.org>
74572
74573         * modules/strnlen (Include): Use strnlen.h.
74574
74575 2006-01-09  Bruno Haible  <bruno@clisp.org>
74576
74577         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
74578
74579 2006-01-09  Bruno Haible  <bruno@clisp.org>
74580
74581         * lib/sysexit_.h (EX_OK): New macro.
74582         Suggested by Martin Lambers <marlam@marlam.de>.
74583
74584 2006-01-09  Bruno Haible  <bruno@clisp.org>
74585
74586         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
74587         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
74588
74589 2006-01-09  Bruno Haible  <bruno@clisp.org>
74590
74591         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
74592         numbers.
74593
74594 2006-01-09  Bruno Haible  <bruno@clisp.org>
74595
74596         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
74597         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
74598         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
74599         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
74600
74601 2006-01-09  Bruno Haible  <bruno@clisp.org>
74602
74603         * build-aux/javacomp.sh.in: New file, moved from lib/.
74604         * modules/javacomp-script (Files): Update.
74605         (configure.ac): Add AC_CONFIG_FILES invocation.
74606         (EXTRA_DIST): Remove variable.
74607
74608         * build-aux/javaexec.sh.in: New file, moved from lib/.
74609         * modules/javaexec (Files): Update.
74610         (configure.ac): Add AC_CONFIG_FILES invocation.
74611         (EXTRA_DIST): Remove javaexec.sh.in.
74612
74613         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
74614         * modules/csharpcomp-script (Files): Update.
74615         (configure.ac): Add AC_CONFIG_FILES invocation.
74616         (EXTRA_DIST): Remove variable.
74617
74618         * build-aux/csharpexec.sh.in: New file, moved from lib/.
74619         * modules/csharpexec (Files): Update.
74620         (configure.ac): Add AC_CONFIG_FILES invocation.
74621         (EXTRA_DIST): Remove csharpexec.sh.in.
74622
74623 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
74624
74625         Sync from coreutils.
74626
74627         Add POSIX ACL support
74628         * lib/acl.h (copy_acl, set_acl): Add declarations.
74629         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
74630         systems other than Linux.
74631         (chmod_or_fchmod): New function: use fchmod when possible,
74632         and chmod otherwise.
74633         (file_has_acl): Add a POSIX ACL implementation, with a
74634         Linux-specific subcase.
74635         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
74636         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
74637         acls are unsupported.
74638         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
74639         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
74640         are unsupported.
74641
74642 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
74643
74644         Sync from coreutils.
74645         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
74646
74647 2006-01-07  Bruno Haible  <bruno@clisp.org>
74648
74649         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
74650         gl_EARLY.
74651
74652 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
74653
74654         * lib/strftime.c (tzname): Don't declare if it is already #defined.
74655         Problem reported for Mingw by Mark Junker.
74656
74657 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
74658
74659         * README: Gnulib normally doesn't generate a tarball.
74660
74661 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
74662
74663         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
74664         long int, not int, for nanosecond counts, so that people who are
74665         used to POSIX struct timespec won't be surprised.  Reported by Jim
74666         Meyering.
74667
74668 2005-12-28  Bruno Haible  <bruno@clisp.org>
74669
74670         * build-aux/config.rpath: Update from GNU gettext.
74671
74672 2005-12-16  Jim Meyering  <jim@meyering.net>
74673
74674         * modules/fprintftime: New module.
74675         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
74676
74677 2005-12-16  Jim Meyering  <jim@meyering.net>
74678
74679         * m4/fprintftime.m4: New file.
74680
74681 2005-12-16  Jim Meyering  <jim@meyering.net>
74682
74683         * lib/fprintftime.c, lib/fprintftime.h: New files.
74684
74685 2005-12-15  Simon Josefsson  <jas@extundo.com>
74686
74687         * modules/socklen (configure.ac): Fix M4 macro name, to align with
74688         new m4/socklen.m4.
74689
74690 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
74691
74692         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
74693         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
74694
74695 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
74696
74697         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
74698         * lib/argp-help.c (fill_in_uparams): Check if the constructed
74699         struct uparams is valid. Fall back to the default values if it is
74700         not.
74701
74702 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74703
74704         * modules/argp (Files): Add argp-pin.c
74705         (Depends-on): dirname
74706         (lib_SOURCES): Add argp-pin.c
74707
74708 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74709
74710         * m4/argp.m4:  Check if program_invocation_name and
74711         program_invocation_short_name are declared and define appropriate
74712         macros if they are not.
74713
74714 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
74715
74716         * lib/argp-help.c (__argp_base_name): New function
74717         (__argp_short_program_name): Rewrite using __argp_base_name
74718         * lib/argp-namefrob.h: Define program_invocation_name and
74719         program_invocation_short_name if requested
74720         (__argp_base_name): Add prototype
74721         * lib/argp-parse.c (argp_def): Use gettext wrappers
74722         (argp_default_parser): Use __argp_base_name
74723         * lib/argp-pin.c: New file. Defines program_invocation_name and
74724         program_invocation_short_name on systems that lack them.
74725
74726 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
74727
74728         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
74729         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
74730         porting problem reported by Georg Schwarz in
74731         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
74732
74733 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
74734
74735         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
74736         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
74737         porting problem reported by Georg Schwarz in
74738         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
74739
74740 2005-12-05  Bruno Haible  <bruno@clisp.org>
74741
74742         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
74743         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
74744         Reported by Mark Junker <mjscod@gmx.de>.
74745
74746 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
74747
74748         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
74749         Use implementation from Albert Chin, with some
74750         comments/corrections by Stepan Kasal and myself.
74751
74752 2005-12-02  Bruno Haible  <bruno@clisp.org>
74753
74754         * gnulib-tool (func_import): Accept GPLed build tool modules when
74755         --lgpl is given.
74756         * modules/csharpcomp-script: New file.
74757         * modules/csharpcomp: Depend on it.
74758         * modules/javacomp-script: New file.
74759         * modules/javacomp: Depend on it.
74760         Suggested by Simon Josefsson.
74761
74762 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
74763
74764         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
74765         statement, to work around an HP-UX 10.20 compiler bug reported by
74766         Peter O'Gorman.
74767
74768 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
74769
74770         * modules/savedir (Depends-on): Add openat.
74771
74772 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
74773
74774         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
74775         (uintmax_t) [defined uintmax_t]: Do not declare.
74776         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
74777         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
74778         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
74779         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
74780         sake of portability to weird hosts that C allows (though we don't
74781         know of any practical examples).
74782
74783         * lib/savedir.h (fdsavedir): New decl.
74784         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
74785         contains most of the former guts of savedir.
74786         (savedir): Use savedirstream.
74787         Include "openat.h".
74788
74789 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
74790
74791         * modules/obstack (Files): Add m4/ulonglong.m4.
74792         Problem reported by Davide Angelocola.
74793
74794 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
74795
74796         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
74797         coreutils no longer futzes with rounding modes.
74798
74799 2005-11-14  Jim Meyering  <jim@meyering.net>
74800
74801         * lib/mkstemp-safer.c: Include <config.h>, required for possible
74802         replacement of mkstemp.
74803
74804 2005-11-10  Simon Josefsson  <jas@extundo.com>
74805
74806         * lib/readline.c: Remove EOL.
74807
74808 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74809
74810         * modules/gethrxtime (Depends-on): Add gettime.
74811
74812 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74813
74814         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
74815         or gettimeofday; no longer needed.
74816
74817 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
74818
74819         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
74820         time business.
74821         (gethrxtime) [! (HAVE_NANOUPTIME
74822         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
74823         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
74824         our own approximation.
74825
74826 2005-11-08  Eric Blake  <ebb9@byu.net>
74827
74828         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
74829
74830 2005-11-08  Eric Blake  <ebb9@byu.net>
74831
74832         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
74833
74834 2005-11-04  Bruno Haible  <bruno@clisp.org>
74835
74836         * gnulib-tool: Implement --update mode.
74837
74838 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
74839
74840         Fix porting problem reported by Theodoros V. Kalamatianos.
74841         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
74842         Don't assume that futimes failing means we must fail.
74843
74844 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
74845
74846         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
74847         variables to suggest the intended function of the PATH_MAX check.
74848
74849 2005-10-30  Kean Johnston  <jkj@sco.com>
74850
74851         Trivial changes to support SCO systems.
74852         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
74853         as PATH_MAX.
74854         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
74855         where __ptr is null when no I/O is pending.
74856
74857 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
74858
74859         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
74860         leave errno alone.  Problem reported by Dmitry V. Levin.
74861
74862 2005-10-28  Simon Josefsson  <jas@extundo.com>
74863
74864         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
74865         Test more.
74866
74867         * tests/test-gc-md2.c, tests/test-md2.c: New files.
74868
74869         * modules/md2, modules/md2-tests: New files.
74870
74871 2005-10-28  Simon Josefsson  <jas@extundo.com>
74872
74873         * m4/inet_ntop.m4: More tests.
74874
74875         * m4/gc-md2.m4, md2.m4: New file.
74876
74877 2005-10-28  Simon Josefsson  <jas@extundo.com>
74878
74879         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
74880         "restrict" keywords, as per POSIX.  Protect the function
74881         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
74882         Don't use K&R prototypes.  Check the sprintf return values.
74883         Re-define EAFNOSUPPORT if not present.  Indent.
74884
74885         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
74886         suggested by Bruno Haible <bruno@clisp.org>.
74887
74888         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
74889
74890         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
74891
74892         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
74893         libgcrypt).
74894
74895         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
74896
74897         * lib/md2.h, lib/md2.c: New files.
74898
74899 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
74900
74901         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
74902         errno alone.  Problem reported by Frederic Jolliton.
74903
74904 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
74905
74906         * modules/verify (License): Change from GPL to LGPL.  This is a
74907         tiny module and there are apparently near-equivalents that are
74908         under the BSD license.
74909
74910 2005-10-24  Simon Josefsson  <jas@extundo.com>
74911
74912         * modules/sha1: Relicense to LGPL.
74913
74914 2005-10-24  Simon Josefsson  <jas@extundo.com>
74915
74916         * lib/md4.h: Shrink buffer size, now that we changed the type.
74917
74918 2005-10-23  Simon Josefsson  <jas@extundo.com>
74919
74920         * gnulib-tool (func_import): Fix --tests-base.
74921
74922 2005-10-22  Simon Josefsson  <jas@extundo.com>
74923
74924         * modules/arcfour (Depends-on): Need stdint.
74925
74926 2005-10-22  Simon Josefsson  <jas@extundo.com>
74927
74928         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
74929         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
74930
74931 2005-10-22  Simon Josefsson  <jas@extundo.com>
74932
74933         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
74934         suggested by Bruno Haible <bruno@clisp.org>.
74935
74936 2005-10-22  Simon Josefsson  <jas@extundo.com>
74937
74938         * lib/crc.h: Include stddef.h, for size_t.
74939
74940 2005-10-22  Simon Josefsson  <jas@extundo.com>
74941
74942         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
74943         arcfour_context struct (simplify test vector testing in GNU
74944         Shishi).
74945
74946 2005-10-21  Simon Josefsson  <jas@extundo.com>
74947
74948         * modules/des, modules/des-tests: New files.
74949
74950         * modules/gc-des, modules/gc-des-tests: New files.
74951
74952         * tests/test-des.c, tests/test-gc-des.c: New file.
74953
74954 2005-10-21  Simon Josefsson  <jas@extundo.com>
74955
74956         * modules/arctwo, modules/arctwo-tests: New files.
74957
74958         * tests/test-arctwo.c: New file.
74959
74960         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
74961
74962         * tests/test-gc-arctwo.c: New file.
74963
74964 2005-10-21  Simon Josefsson  <jas@extundo.com>
74965
74966         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
74967         Bruno Haible <bruno@clisp.org>.
74968
74969         * m4/gc-des.m4: New file.
74970
74971 2005-10-21  Simon Josefsson  <jas@extundo.com>
74972
74973         * m4/arctwo.m4: New file.
74974
74975         * m4/gc-arctwo.m4: New file.
74976
74977 2005-10-21  Simon Josefsson  <jas@extundo.com>
74978
74979         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
74980         block.
74981
74982 2005-10-21  Simon Josefsson  <jas@extundo.com>
74983
74984         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
74985         <bruno@clisp.org>.
74986
74987         * lib/hmac-sha1.c (hmac_sha1): Likewise.
74988
74989         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
74990         Bruno Haible <bruno@clisp.org>.
74991
74992         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
74993         <bruno@clisp.org>.
74994
74995 2005-10-21  Simon Josefsson  <jas@extundo.com>
74996
74997         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
74998
74999 2005-10-21  Simon Josefsson  <jas@extundo.com>
75000
75001         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
75002
75003 2005-10-21  Simon Josefsson  <jas@extundo.com>
75004
75005         * lib/des.h, lib/des.c: New files.
75006
75007         * lib/gc-gnulib.c: Support DES.c
75008
75009 2005-10-21  Simon Josefsson  <jas@extundo.com>
75010
75011         * lib/arctwo.h, lib/arctwo.c: New files.
75012
75013         * lib/gc-gnulib.c: Support ARCTWO.
75014
75015 2005-10-21  Simon Josefsson  <jas@extundo.com>
75016
75017         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
75018         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75019
75020 2005-10-21  Simon Josefsson  <jas@extundo.com>
75021
75022         * gnulib-tool (func_import, func_create_testdir): Define automake
75023         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
75024         Makefile.am snippet),
75025         suggested by Bruno Haible <bruno@clisp.org>.
75026
75027         * modules/gc (Makefile.am): Use it.
75028
75029 2005-10-21  Bruno Haible  <bruno@clisp.org>
75030
75031         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
75032         patch.
75033
75034 2005-10-19  Simon Josefsson  <jas@extundo.com>
75035
75036         * tests/test-gc-rijndael.c: New file.
75037
75038         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
75039
75040 2005-10-19  Simon Josefsson  <jas@extundo.com>
75041
75042         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
75043         interface too.
75044
75045 2005-10-19  Simon Josefsson  <jas@extundo.com>
75046
75047         * tests/test-gc-arcfour.c: New file.
75048
75049         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
75050
75051 2005-10-19  Simon Josefsson  <jas@extundo.com>
75052
75053         * modules/gc-md4, modules/gc-md4-tests: New file.
75054
75055         * tests/test-gc-md4.c: New file.
75056
75057 2005-10-19  Simon Josefsson  <jas@extundo.com>
75058
75059         * m4/gc-md4.m4: New file.
75060
75061 2005-10-19  Simon Josefsson  <jas@extundo.com>
75062
75063         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
75064         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
75065         <kasal@ucw.cz>.
75066
75067 2005-10-19  Simon Josefsson  <jas@extundo.com>
75068
75069         * m4/gc-arcfour.m4: New file.
75070
75071         * m4/gc-rijndael.m4: New file.
75072
75073 2005-10-19  Simon Josefsson  <jas@extundo.com>
75074
75075         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
75076
75077 2005-10-19  Simon Josefsson  <jas@extundo.com>
75078
75079         * lib/gc-gnulib.c: Support ARCFOUR.
75080
75081 2005-10-19  Simon Josefsson  <jas@extundo.com>
75082
75083         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
75084         support.
75085
75086         * lib/gc.h: Add ECB enum type.
75087
75088         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
75089
75090 2005-10-18  Simon Josefsson  <jas@extundo.com>
75091
75092         * tests/test-md5.c: New file.
75093
75094         * modules/md5-tests: New file.
75095
75096 2005-10-18  Simon Josefsson  <jas@extundo.com>
75097
75098         * tests/test-md4.c: New file.
75099
75100         * modules/md4, modules/md4-tests: New files.
75101
75102 2005-10-18  Simon Josefsson  <jas@extundo.com>
75103
75104         * m4/md4.m4: New file.
75105
75106 2005-10-18  Simon Josefsson  <jas@extundo.com>
75107
75108         * lib/md4.h, lib/md4.c: New files, based on md5.?.
75109
75110 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
75111
75112         * gnulib-tool (func_create_testdir): Omit the second check whether
75113         BUILT_SOURCES in nonempty.
75114
75115 2005-10-17  Simon Josefsson  <jas@extundo.com>
75116
75117         * tests/test-rijndael.c: New file.
75118
75119 2005-10-17  Simon Josefsson  <jas@extundo.com>
75120
75121         * modules/sha1: Depend on stdint instead of md5.
75122
75123         * modules/md5: Depend on stdint, remove uint32_t.
75124
75125 2005-10-17  Simon Josefsson  <jas@extundo.com>
75126
75127         * modules/gc-sha1-tests: New file.
75128
75129         * tests/test-gc-sha1.c: New file.
75130
75131 2005-10-17  Simon Josefsson  <jas@extundo.com>
75132
75133         * m4/md5.m4: Remove call to uint32_t.m4.
75134
75135 2005-10-17  Simon Josefsson  <jas@extundo.com>
75136
75137         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
75138
75139         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
75140         md5.h.
75141
75142         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
75143
75144         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
75145
75146 2005-10-17  Simon Josefsson  <jas@extundo.com>
75147
75148         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
75149
75150 2005-10-17  Simon Josefsson  <jas@extundo.com>
75151
75152         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
75153
75154 2005-10-17  Simon Josefsson  <jas@extundo.com>
75155
75156         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
75157
75158         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
75159
75160 2005-10-17  Bruno Haible  <bruno@clisp.org>
75161
75162         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
75163         that it can also be used in a test.
75164
75165 2005-10-16  Bruno Haible  <bruno@clisp.org>
75166
75167         * gnulib-tool (func_emit_tests_Makefile_am): Also define
75168         TESTS_ENVIRONMENT, so that individual tests can augment it.
75169
75170         * gnulib-tool (func_create_testdir): Use an intermediate target for
75171         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
75172         macros, like $(ALLOCA_H), which cannot be passed through the command
75173         line.
75174
75175 2005-10-15  Simon Josefsson  <jas@extundo.com>
75176
75177         * modules/rijndael-tests: New file.
75178
75179         * modules/rijndael: New file.
75180
75181 2005-10-15  Simon Josefsson  <jas@extundo.com>
75182
75183         * m4/rijndael.m4: New file.
75184
75185 2005-10-15  Simon Josefsson  <jas@extundo.com>
75186
75187         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
75188
75189         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
75190
75191 2005-10-14  Simon Josefsson  <jas@extundo.com>
75192
75193         * tests/test-arcfour.c: New file.
75194
75195         * modules/arcfour, modules/arcfour-tests: New files.
75196
75197 2005-10-14  Simon Josefsson  <jas@extundo.com>
75198
75199         * m4/arcfour.m4: New file.
75200
75201 2005-10-14  Simon Josefsson  <jas@extundo.com>
75202
75203         * lib/arcfour.h, lib/arcfour.c: New files.
75204
75205 2005-10-14  Roland McGrath  <roland@redhat.com>
75206
75207         Import from libc.  [BZ #1331]
75208         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
75209         macro argument.
75210         Reported by Matej Vela <vela@debian.org>.
75211
75212 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
75213
75214         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
75215         include <wchar.h>; no longer needed.
75216
75217 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
75218
75219         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
75220
75221 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
75222         and  Ulrich Drepper  <drepper@redhat.com>
75223
75224         Import from libc.
75225         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
75226         instead of inline stream orientation test and two separate
75227         function calls.  Pay no attention to USE_IN_LIBIO.
75228
75229 2005-10-13  Simon Josefsson  <jas@extundo.com>
75230
75231         * modules/gc-hmac-md5-tests: New file.
75232
75233         * tests/test-gc-hmac-sha1.c: New file.
75234
75235         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
75236
75237         * modules/gc-hmac-md5-tests: New file.
75238
75239         * tests/test-gc-md5.c: New file.
75240
75241         * modules/gc-md5-tests: New file.
75242
75243 2005-10-13  Simon Josefsson  <jas@extundo.com>
75244
75245         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
75246         Move memory allocation outside of loop.
75247
75248 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
75249
75250         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
75251         intermediate directory is in a read-only file system.  Problem
75252         reported by Eric Blake.
75253
75254 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
75255
75256         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
75257
75258 2005-10-12  Simon Josefsson  <jas@extundo.com>
75259
75260         * tests/test-hmac-sha1.c: New file.
75261
75262         * modules/hmac-sha1-tests: New file.
75263
75264         * modules/hmac-sha1: New file.
75265
75266 2005-10-12  Simon Josefsson  <jas@extundo.com>
75267
75268         * modules/gc-sha1: New file.
75269
75270 2005-10-12  Simon Josefsson  <jas@extundo.com>
75271
75272         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
75273
75274         * tests/test-gc-pbkdf2-sha1.c: New file.
75275
75276 2005-10-12  Simon Josefsson  <jas@extundo.com>
75277
75278         * modules/gc-md5, modules/gc-hmac-md5: New files.
75279
75280         * modules/gc (Files): Remove md5, memxor and hmac files.
75281
75282 2005-10-12  Simon Josefsson  <jas@extundo.com>
75283
75284         * m4/gc-pbkdf2-sha1.m4: New file.
75285
75286         * m4/gc-hmac-sha1.m4: New file.
75287
75288         * m4/gc-sha1: New file.
75289
75290         * m4/hmac-sha1.m4: New file.
75291
75292 2005-10-12  Simon Josefsson  <jas@extundo.com>
75293
75294         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
75295
75296         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
75297
75298 2005-10-12  Simon Josefsson  <jas@extundo.com>
75299
75300         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
75301         suggested by Bruno Haible <bruno@clisp.org>.
75302
75303 2005-10-12  Simon Josefsson  <jas@extundo.com>
75304
75305         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
75306
75307 2005-10-12  Simon Josefsson  <jas@extundo.com>
75308
75309         * lib/gc-pbkdf2-sha1.c: New file.
75310
75311         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
75312
75313 2005-10-12  Simon Josefsson  <jas@extundo.com>
75314
75315         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
75316
75317         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
75318
75319 2005-10-12  Simon Josefsson  <jas@extundo.com>
75320
75321         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
75322         GC_USE_HMAC_MD5, respectively.
75323
75324         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
75325         (gc_md5): Fix typo.
75326
75327         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
75328
75329         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
75330
75331         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
75332
75333 2005-10-12  Bruno Haible  <bruno@clisp.org>
75334
75335         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
75336         Reported by Stepan Kasal <kasal@ucw.cz>.
75337
75338 2005-10-11  Simon Josefsson  <jas@extundo.com>
75339
75340         * tests/test-crc.c: New file.
75341
75342         * modules/crc, modules/crc-tests: New files.
75343
75344 2005-10-11  Simon Josefsson  <jas@extundo.com>
75345
75346         * m4/crc.m4: New file.
75347
75348 2005-10-11  Simon Josefsson  <jas@extundo.com>
75349
75350         * lib/gc.h: Add gc_hash and gc_hash_buffer.
75351
75352         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
75353
75354         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
75355
75356 2005-10-11  Simon Josefsson  <jas@extundo.com>
75357
75358         * lib/crc.h, lib/crc.c: New files.
75359
75360         * lib/gc.h (gc_hash_buffer): Add doc.
75361
75362 2005-10-11  Bruno Haible  <bruno@clisp.org>
75363
75364         * modules/c-strcasestr: New file.
75365         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
75366
75367 2005-10-11  Bruno Haible  <bruno@clisp.org>
75368
75369         * modules/c-strcase: New file.
75370         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
75371
75372 2005-10-11  Bruno Haible  <bruno@clisp.org>
75373
75374         * lib/strcasecmp.c: Include limits.h.
75375         (strcasecmp): Avoid integer overflow on exotic platforms.
75376         * lib/strncasecmp.c: Include limits.h.
75377         (strncasecmp): Avoid integer overflow on exotic platforms.
75378         Reported by Paul Eggert.
75379
75380 2005-10-11  Bruno Haible  <bruno@clisp.org>
75381
75382         * lib/c-strcasestr.h: New file, from GNU gettext.
75383         * lib/c-strcasestr.c: New file, from GNU gettext.
75384
75385 2005-10-11  Bruno Haible  <bruno@clisp.org>
75386
75387         * lib/c-strcase.h: New file, from GNU gettext.
75388         * lib/c-strcasecmp.c: New file, from GNU gettext.
75389         * lib/c-strncasecmp.c: New file, from GNU gettext.
75390
75391 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
75392
75393         * modules/mempcpy (License): GPL -> LGPL.
75394         * modules/strchrnul (License): Likewise.
75395         * modules/sysexits (License): Likewise.
75396
75397 2005-10-08  Simon Josefsson  <jas@extundo.com>
75398
75399         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
75400
75401 2005-10-07  Simon Josefsson  <jas@extundo.com>
75402
75403         * m4/memxor.m4: Remove gl_C_RESTRICT call.
75404
75405 2005-10-06  Simon Josefsson  <jas@extundo.com>
75406
75407         * tests/test-hmac-md5.c: New file.
75408
75409         * modules/hmac-md5-tests: New file.
75410
75411         * modules/hmac-md5: New file.
75412
75413 2005-10-06  Simon Josefsson  <jas@extundo.com>
75414
75415         * m4/hmac-md5.m4: New file.
75416
75417         * m4/memxor.m4: Require gl_C_RESTRICT.
75418
75419 2005-10-06  Simon Josefsson  <jas@extundo.com>
75420
75421         * lib/memxor.c (memxor): Avoid casts and warnings.
75422
75423 2005-10-06  Simon Josefsson  <jas@extundo.com>
75424
75425         * lib/hmac-md5.c: New file.
75426
75427         * lib/hmac.h: New file.
75428
75429 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
75430
75431         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
75432         promotes to int, not unsigned int, to catch the AIX 5.3
75433         compiler bug.
75434
75435 2005-10-05  Simon Josefsson  <jas@extundo.com>
75436
75437         * modules/memxor: New file.
75438
75439         * modules/iconv (Files): Move config.rpath to havelib, it is used
75440         there.
75441
75442         * modules/havelib (Files): Add config.rpath.
75443
75444 2005-10-05  Simon Josefsson  <jas@extundo.com>
75445
75446         * m4/memxor.m4: New file.
75447
75448 2005-10-05  Simon Josefsson  <jas@extundo.com>
75449
75450         * lib/memxor.c (memxor): Fix compiler error.
75451
75452         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
75453         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
75454
75455         * lib/memxor.h, lib/memxor.c: New files.
75456
75457         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
75458         we assume all systems have it, suggested by Jim Meyering
75459         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
75460         any systems lack sys/socket.h; mingw32 is known to lack it, but we
75461         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
75462         same reasons.
75463
75464 2005-10-05  Simon Josefsson  <jas@extundo.com>
75465
75466         * config/srclist.txt: Add glibc bug 1423 for md5.h.
75467
75468 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
75469
75470         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
75471         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
75472         needed, since the source code now assumes these .h files.
75473
75474 2005-10-05  Derek Price  <derek@ximbiot.com>
75475
75476         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
75477
75478 2005-10-05  Bruno Haible  <bruno@clisp.org>
75479
75480         * modules/stdint (License): Change to LGPL.
75481
75482 2005-10-04  Simon Josefsson  <jas@extundo.com>
75483
75484         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
75485         D. Baushke" <mdb@gnu.org>.
75486
75487 2005-10-04  Bruno Haible  <bruno@clisp.org>
75488
75489         * lib/verify.h (verify_true): Provide alternative definition for C++.
75490
75491 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
75492
75493         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
75494         (SSIZE_MAX): New macro, if not already defined.
75495         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
75496         than 2 GiB.
75497
75498 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
75499
75500         Sync from coreutils.
75501         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
75502         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
75503         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
75504         ULLONG_MAX doesn't work with 2.7.2.1.
75505
75506 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
75507
75508         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
75509         From Ben Pfaff.
75510
75511         * modules/exclude (Depends-on): Depend on verify.
75512         * modules/strtoimax (Depends-on): Likewise.
75513         * modules/utimecmp (Depends-on): Likewise.
75514
75515 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
75516
75517         * lib/exclude.c: Include verify.h.
75518         (verify): Remove.  All callers changed to use verify.h's version.
75519         * lib/strtoimax.c: Likewise.
75520         * lib/utimecmp.c: Likewis.e
75521
75522         Sync from coreutils.
75523         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
75524         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
75525         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
75526         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
75527         bother returning ENOSYS if settimeofday or stime fails; just let
75528         them return whatever errno they want to return.
75529         * lib/utimens.c: Include unistd.h, for dup2.
75530         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
75531         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
75532
75533 2005-10-02  Jim Meyering  <jim@meyering.net>
75534
75535         Sync from coreutils.
75536         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
75537         from glibc-2.2.5 that fails for read-only files.
75538
75539 2005-10-02  Jim Meyering  <jim@meyering.net>
75540
75541         Sync from coreutils.
75542         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
75543         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
75544         `#if HAVE_CONFIG_H'.
75545         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
75546         Remove AT_FDCWD test.
75547         Do not consume the fd unless successful.
75548         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
75549         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
75550         block, so that we don't even try to compile it if settimeofday is
75551         available.  This works around a compilation failure on OSF1 V5.1,
75552         due to stime requiring a `long int*' while tv_sec is `int'.
75553
75554 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
75555
75556         Sync from coreutils.
75557         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
75558         against `yes', rather than just testing for nonempty.
75559
75560 2005-10-01  Simon Josefsson  <jas@extundo.com>
75561
75562         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
75563         and Darwin.
75564
75565         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
75566         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
75567         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
75568         freeaddrinfo and gai_strerror are declared by the POSIX headers.
75569         Check if struct addrinfo is declared.
75570
75571 2005-10-01  Simon Josefsson  <jas@extundo.com>
75572
75573         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
75574         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
75575         AI_* and EAI_* definitions.  Protect function declarations.
75576
75577 2005-10-01  Jim Meyering  <jim@meyering.net>
75578
75579         Sync from coreutils.
75580
75581         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
75582         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
75583         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
75584         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
75585         in the inet and nsl libraries.  Required on Solaris 5.7.
75586
75587 2005-10-01  Jim Meyering  <jim@meyering.net>
75588
75589         Sync from coreutils.
75590         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
75591         in the inet and nsl libraries.  Required on Solaris 5.7.
75592
75593 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
75594
75595         * lib/getdelim.c (getdelim): Remove unused variables.
75596
75597 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
75598
75599         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
75600         so that the code works even with ancient cpp.  Portability problem
75601         with GCC 2.7.2.1 reported by Thomas M.Ott.
75602
75603 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
75604
75605         * modules/regex (Depends-on): Add strcase.
75606
75607         * modules/gethostname (Licence): Change from GPL to LGPL, since
75608         gethostname.c is a trivial implementation of a standard library
75609         function.
75610         * modules/poll (License): Change from GPL to LGPL, since it's
75611         derived from LGPL code.
75612
75613 2005-09-27  Jim Meyering  <jim@meyering.net>
75614
75615         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
75616         HAVE_CONFIG_H.
75617
75618         * lib/intprops.h (signed_type_or_expr__): Define.
75619         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
75620         for unsigned types.
75621
75622 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
75623
75624         * lib/verify.h (verify_expr): Remove, replacing with:
75625         (verify_true): New macro that returns true instead of void.
75626         (verify_type__): Remove.
75627         (verify): Use verify_true rather than verify_type__.
75628
75629 2005-09-26  Bruno Haible  <bruno@clisp.org>
75630
75631         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
75632         is necessary.
75633         (lib_SOURCES): Remove mbchar.c.
75634         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
75635         (Files): Add m4/mbrtowc.m4.
75636         * modules/mbiter: Likewise.
75637         * modules/mbuiter: Likewise.
75638
75639 2005-09-26  Bruno Haible  <bruno@clisp.org>
75640
75641         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
75642         compile mbchar.c if they are not both present.
75643         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
75644         * m4/mbiter.m4 (gl_MBITER): Likewise.
75645         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
75646         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
75647         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
75648
75649 2005-09-25  Jim Meyering  <jim@meyering.net>
75650
75651         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
75652         also uses socklen_t.
75653
75654 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
75655
75656         * lib/utimens.c (ENOSYS): Define if not already defined.
75657         (futimens): Support having a null PATH if the file descriptor
75658         is nonnegative.
75659
75660         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
75661         Remove.
75662         (__attribute): Define to empty unless GCC 3.1 or later.
75663         This works around a core dump on OpenBSD 3.4, which has GCC
75664         2.95.3, which dumps core when given __attribute__(()).  It also
75665         simplifies other tests, since we really don't want to bother with
75666         worrying about which ancient version of GCC supported what.
75667         Original problem reported by Yoann Vandoorselaere, with part of
75668         the fix suggested by Derek Price.
75669
75670 2005-09-24  Jim Meyering  <jim@meyering.net>
75671
75672         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
75673         so we can once again use a positive bitfield width of 1 -- now we
75674         don't have to explain why we were using a bitfield width of 2.
75675
75676 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
75677
75678         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
75679         and similarly for the other external symbols.  Problem reported
75680         by James Gallager.
75681
75682         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
75683         bug reported by Jim Meyering.
75684
75685         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
75686         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
75687         not needed, since socklen is a prerequisite module.
75688
75689 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
75690
75691         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
75692         Problem reported by Eric Blake.
75693         (getaddrinfo): Initialize se so that it's not garbage.
75694         Redo internal storage allocation so that it doesn't make unportable
75695         assumptions about alignment.
75696         Fix a memory leak.
75697
75698         * lib/utimens.c (futimens): Use futimesat if available.
75699         Prefer it to futimes since it doesn't have the futimes bug.
75700
75701         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
75702         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
75703         Instead, declare a function that returns a pointer to an array,
75704         and use verify_type__ to declare the size of the array.
75705         Problem and germ of a solution reported by Bruno Haible.
75706         (verify_type__): Use 2, not 1, for bitfield size, to avoid
75707         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
75708
75709 2005-09-23  Jim Meyering  <jim@meyering.net>
75710
75711         Sync from coreutils.
75712         Correct build failure (socklen_t not defined) on at least
75713         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
75714         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
75715
75716 2005-09-23  Jim Meyering  <jim@meyering.net>
75717
75718         * modules/getaddrinfo (Depends-on): Add socklen.
75719
75720 2005-09-23  Bruno Haible  <bruno@clisp.org>
75721
75722         * tests/test-verify.c: New file.
75723
75724 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
75725
75726         Sync from coreutils.
75727
75728         * modules/argmatch (Depends-on): Add verify.
75729         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
75730         unistd-safer.
75731         * modules/save-cwd (Depends-on): Likewise.
75732
75733         * modules/openat (Files): Add lib/openat-die.c.
75734         (Depends-on): Remove error, exitfail.
75735         Add dirname.
75736
75737         * modules/verify: New file.
75738         * MODULES.html.sh (Diagnostics <assert.h>): New section,
75739         with "verify" module.
75740
75741 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
75742
75743         Sync from coreutils.
75744
75745         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
75746         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
75747         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
75748         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
75749         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
75750         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
75751         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
75752         Don't bother checking for string.h, stdlib.h, unistd.h.
75753         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
75754         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
75755         module's job.
75756         * m4/jm-macros.m4 (gl_MACROS): Likewise.
75757         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
75758
75759         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
75760         (gl_GETDATE): Use it.
75761
75762         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
75763
75764 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
75765
75766         Sync from coreutils.
75767
75768         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
75769         stat-time.h.
75770         * lib/argmatch.h: Include verify.h
75771         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
75772         (ARGMATCH_ASSERT): Remove; unused.
75773         * lib/canonicalize.c: Assume STDC_HEADERS.
75774         * lib/exclude.c: Include "strcase.h".
75775         * lib/regex_internal.h [!defined _LIBC]: Likewise.
75776         * lib/getusershell.c: Include stdio--.h rather than stdio.h
75777         and stdio-safer.h.
75778         (getusershell): Call fopen, not fopen_safer.
75779         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
75780         Do not include unistd-safer.h.
75781         (save_cwd): Don't call fd_safer; no longer needed
75782         now that we include fcntl--.h.
75783
75784         * lib/getdate.y (relative_time): New type.
75785         (RELATIVE_TIME_0): New constant.
75786         (parser_control): Use relative_time instead of doing it ourselves.
75787         (%union): Add new relative_time rel member.
75788         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
75789         Now typeless.
75790         (relunit, relunit_snumber): Now of type rel.
75791         (zone, rel, relunit, get_date): Adjust to above changes.
75792
75793         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
75794         Do not include unistd-safer.h.
75795         (getloadavg): Don't call fd_safer; no longer needed
75796         now that we include fcntl--.h.
75797
75798         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
75799         (make_dir_parents): Treat ENOSYS like EEXIST.
75800
75801         Improve quality of diagnostics on restore_cwd failure.
75802         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
75803         (make_dir_parents): Last arg is now int * (for errno), not bool *.
75804         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
75805         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
75806         each time through the loop.  Do not diagnose restore_cwd failure;
75807         that is the caller's job (and perhaps the caller does not care).
75808
75809         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
75810         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
75811         If the file already exists but is not a directory, don't bother
75812         to try to make its parents.
75813         Close potential file descriptor leak if we can't chdir("/") (!).
75814         Don't always return true if chdir($PWD) fails; return true only
75815         if the requested action was done successfully (except for the
75816         chdir($PWD)).
75817         Don't log final directory unless we actually made it.
75818         Refactor to avoid duplicate code to fix up permissions.
75819         Don't attempt to fix up parent permissions if chdir($PWD) fails.
75820
75821         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
75822         to make it a bit faster and (I hope) clearer.
75823         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
75824         Fix bug in formats like %2N.
75825
75826         * lib/verify.h: New file.
75827
75828 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
75829
75830         Sync from coreutils.
75831         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
75832
75833 2005-09-22  Jim Meyering  <jim@meyering.net>
75834
75835         Sync from coreutils.
75836
75837         * m4/lstat.m4 (gl_FUNC_LSTAT):
75838         Use AC_LIBSOURCES to require lstat.c and lstat.h.
75839         Remove obsolete comment.
75840         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
75841         * m4/xstrtod.m4: Likewise.
75842
75843         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
75844
75845 2005-09-22  Jim Meyering  <jim@meyering.net>
75846
75847         Sync from coreutils.
75848
75849         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
75850
75851         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
75852         the .tm_year member, since otherwise gcc-4.0 would now warn about
75853         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
75854
75855         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
75856         order to avoid an unsuppressible warning from gcc on 64-bit systems.
75857
75858         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
75859         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
75860         when run in a time zone for which daylight savings time is in effect
75861         for the starting date.
75862
75863         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
75864         stop us from restricting permissions of just-created absolute-named
75865         directories.
75866         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
75867         to restore initial working directory.
75868         * lib/mkdir-p.c (make_dir_parents): New parameter:
75869         different_working_dir, to tell caller if/when we change the working
75870         directory and are unable to return to the initial one.
75871         * lib/mkdir-p.h (make_dir_parents): Update prototype.
75872         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
75873         `return false'.  This fixes a bug introduced on 2004-07-30.
75874
75875         * lib/openat.c (fdopendir): Be sure to close the supplied
75876         file descriptor before returning.  This makes our replacement
75877         implementation a little closer to Solaris's, where fdopendir
75878         ties the file descriptor to the returned DIR* pointer.
75879         * lib/openat.c (unlinkat): New function.
75880         * lib/openat.h (unlinkat): Add prototype.
75881         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
75882         (openat_restore_fail): Rename from openat_restore_die.
75883         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
75884
75885         Provide an alternative to exiting immediately upon save_cwd or
75886         restore_cwd failure.  Now, an application can arrange e.g.,
75887         to perform a longjump in that case.
75888         * lib/openat.c: Include dirname.h.
75889         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
75890         (rpl_openat, fdopendir, fstatat): Call openat_save_die
75891         and openat_restore_die rather than calling error directly.
75892         Don't include "error.h" or "exitfail.h"; they're no longer needed.
75893
75894         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
75895         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
75896         define.
75897
75898         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
75899         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
75900                             int utc, int nanoseconds);
75901         Background:
75902         date should not have to allocate a megabyte of virtual memory to
75903         handle a format argument like +%1048575T.  When implemented with
75904         strftime, it must allocate such a buffer, use strftime to fill it
75905         in, print it, then free it.
75906         With fprintftime, it simply prints everything and exits.
75907         With no need for memory allocation, that's one fewer way to fail.
75908         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
75909         optional field width, not before, so we accept %9:z, not %:9z.
75910         (my_strftime): Be sure to use L_('x') for literals.
75911
75912         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
75913         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
75914         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
75915         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
75916         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
75917         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
75918         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
75919         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
75920         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
75921         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
75922         * lib/xgethostname.c, lib/xreadlink.c:
75923         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
75924
75925         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
75926         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
75927         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
75928         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
75929         and don't include <sys/file.h>).
75930
75931 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
75932
75933         Sync from coreutils.
75934
75935         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
75936         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
75937         [!LDAV_DONE]: Avoid unused variable warning.
75938
75939 2005-09-21  Bruno Haible  <bruno@clisp.org>
75940
75941         * lib/unicodeio.h (unicode_to_mb): New declaration.
75942
75943 2005-09-20  Derek Price  <derek@ximbiot.com>
75944
75945         * lib/getaddrinfo.c: Don't include <netdb.h> included from
75946         getaddrinfo.h.
75947
75948 2005-09-20  Bruno Haible  <bruno@clisp.org>
75949
75950         * gnulib-tool: Remove trailing slashes from the values specified for
75951         --source-base, --m4-base, --tests-base, --aux-dir.
75952         Suggested by Simon Josefsson <jas@extundo.com>.
75953
75954 2005-09-20  Bruno Haible  <bruno@clisp.org>
75955
75956         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
75957         func_modules_to_filelist, func_import, func_create_testdir): Make all
75958         sorting results locale-independent, so that gnulib-cache.m4 doesn't
75959         change when gnulib-tool is invoked in a different locale.
75960
75961 2005-09-19  Simon Josefsson  <jas@extundo.com>
75962
75963         * m4/socklen.m4: Fix typo.
75964
75965 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75966
75967         Use a consistent style for including <config.h>.
75968         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
75969         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
75970         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
75971         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
75972         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
75973         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
75974         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
75975         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
75976         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
75977         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
75978         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
75979         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
75980         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
75981         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
75982         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
75983         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
75984         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
75985         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
75986         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
75987         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
75988         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
75989         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
75990         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
75991         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
75992         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
75993         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
75994         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
75995         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
75996         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
75997         lib/xstrtoumax.c, lib/yesno.c:
75998         Standardize inclusion of config.h.
75999         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
76000         lib/inttostr.h:  Removed inclusion of config.h from header files.
76001         * lib/inttostr.c:  Adjusted in-tree users.
76002         * lib/timespec.h: Remove superfluous warning to include config.h.
76003         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
76004         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
76005         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
76006         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
76007         config.h with HAVE_CONFIG_H.
76008
76009 2005-09-19  Jim Meyering  <jim@meyering.net>
76010
76011         * modules/pathmax (License): Change to LGPL.
76012
76013 2005-09-19  Derek Price  <derek@ximbiot.com>
76014
76015         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
76016
76017 2005-09-19  Bruno Haible  <bruno@clisp.org>
76018
76019         * gnulib-tool (import): Provide default for --tests-base.
76020
76021 2005-09-19  Bruno Haible  <bruno@clisp.org>
76022
76023         * doc/quote.texi: New file, extracted from gnulib.texi.
76024         * doc/ctime.texi: New file, extracted from gnulib.texi.
76025         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
76026         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
76027         * doc/gnulib.texi: Include them.
76028
76029 2005-09-18  Bruno Haible  <bruno@clisp.org>
76030
76031         Portability fix.
76032         * gnulib-tool (func_readlink): New function.
76033         (func_ln_if_changed): Use it.
76034
76035 2005-09-18  Bruno Haible  <bruno@clisp.org>
76036
76037         * gnulib-tool: Support --with-tests also with --import.
76038         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
76039         (func_import): Use variables $testsbase and $inctests. Emit a
76040         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
76041         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
76042         SUBDIRS += $testsdir.
76043         (func_create_testdir): Update.
76044
76045 2005-09-18  Bruno Haible  <bruno@clisp.org>
76046
76047         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
76048         instead of $dry_run.
76049         (func_cp_if_changed, func_mv_if_changed): Remove functions.
76050         (func_ln_if_changed): Don't handle dry-run here.
76051         (func_import): In dry-run mode, detect more precisely which actions
76052         would be performed, and don't use "...ing" verbs.
76053
76054 2005-09-18  Bruno Haible  <bruno@clisp.org>
76055
76056         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
76057         (func_import): Use join on two temporary files instead of three nested
76058         loops, in order to determine which files are new or old.
76059
76060 2005-09-18  Bruno Haible  <bruno@clisp.org>
76061
76062         * gnulib-tool (func_import): Comment out code that spits out the
76063         new files with --dry-run.
76064
76065 2005-09-18  Bruno Haible  <bruno@clisp.org>
76066
76067         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
76068
76069 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
76070
76071         * lib/stat-time.h: New file.
76072         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
76073         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
76074         in a different way.
76075         (timespec_cmp): New function.
76076         * lib/utimecmp.c: Include stat-time.h.
76077         (SYSCALL_RESOLUTION): Depend on whether various struct stat
76078         members exist, not on the obsolescent ST_MTIM_NSEC.
76079         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
76080
76081 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
76082
76083         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
76084
76085 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
76086
76087         * MODULES.html.sh (File system functions): Add stat-time.
76088         * modules/stat-time: New file.
76089         * modules/timespec (Files): Remove m4/st_mtim.m4; this
76090         is now done in a different way, by the stat-time module.
76091         * modules/utimecmp (Depends-on): Add stat-time.
76092
76093 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76094
76095         * m4/st_mtim.m4: Remove.  Superseded by...
76096         * m4/stat-time.m4: New file.
76097         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
76098         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
76099
76100 2005-09-15  Derek Price  <derek@ximbiot.com>
76101
76102         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
76103
76104 2005-09-15  Derek Price  <derek@ximbiot.com>
76105
76106         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
76107         * lib/regex_internal.c: Ditto, using this...
76108         (__GNUC_PREREQ): ...new macro.
76109         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
76110         using...
76111         (__GNUC_PREREQ): ...this new macro.
76112
76113         * lib/strstr.h: Include string.h. Define strstr as a macro here.
76114
76115 2005-09-15  Derek Price  <derek@ximbiot.com>
76116             Paul Eggert  <eggert@cs.ucla.edu>
76117
76118         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
76119         changes, consolidating in...
76120         * lib/regex_internal.h: ...this file.
76121
76122 2005-09-13  Jim Meyering  <jim@meyering.net>
76123
76124         * lib/canon-host.c: Filter through gnu indent and reword comments
76125         slightly.
76126         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
76127
76128 2005-09-13  Derek Price  <derek@ximbiot.com>
76129
76130         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
76131         failure.
76132         Reported by Jim Meyering  <jim@meyering.net>.
76133
76134 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76135
76136         * lib/base64.c: Typo.
76137         (base64_encode): Put b64str in initialized data section.
76138
76139 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
76140
76141         Merge glibc and coreutils changes into gnulib, plus a few
76142         extra fixes.
76143         * lib/md5.c: Use #error rather than a string.
76144         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
76145         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
76146         (__attribute__): Define to empty for non recent-GCC.
76147         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
76148         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
76149         Renamed from their non-__ counterparts, with new macros replacing
76150         them if not _LIBC.  Add __THROW attribute.
76151         (rol): Remove.
76152         (struct md5_ctx): Align buffer if using GCC.
76153         * lib/sha1.h (struct sha1_ctx): Likewise.
76154         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
76155         The old name was backwards.
76156         (NOTSWAP): Remove; not used.
76157         (rol): New macro, moved here from md5.h.
76158         (sha1_process_block): Remove a FIXME that doesn't make sense.
76159
76160 2005-09-12  Derek Price  <derek@ximbiot.com>
76161
76162         Return usable errors from canon-host.
76163         * lib/canon-host.h: New file.
76164         * lib/canon-host.c (canon_host): Wrap...
76165         (canon_host_r): ...this new function, which now relies exclusively on
76166         getaddrinfo.
76167         (ch_strerror): New function.
76168         (last_cherror): New global.
76169         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
76170         interface.
76171         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
76172         void *.
76173         (freeaddrinfo): Free ai->ai_canonname when set.
76174
76175 2005-09-12  Derek Price  <derek@ximbiot.com>
76176
76177         Make canon-host require getaddrinfo.
76178         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
76179         AC_LIBSOURCE canon-host.h.  Call...
76180         (gl_PREREQ_CANON_HOST): ...this new function, which requires
76181         gl_GETADDRINFO.
76182         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
76183
76184 2005-09-12  Derek Price  <derek@ximbiot.com>
76185
76186         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
76187         LGPL.
76188         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
76189
76190 2005-09-12  Derek Price  <derek@ximbiot.com>
76191
76192         * lib/gai_strerror.c: Include config.h when available.  Include
76193         getaddrinfo.h before other headers to test interface.
76194         Reported by Larry Jones <lawrence.jones@ugs.com>.
76195
76196 2005-09-12  Derek Price  <derek@ximbiot.com>
76197             Paul Eggert  <eggert@cs.ucla.edu>
76198
76199         * modules/glob (Files): Add glob-libc.h.
76200
76201 2005-09-12  Derek Price  <derek@ximbiot.com>
76202             Paul Eggert  <eggert@cs.ucla.edu>
76203
76204         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
76205         glob_.h, glob-libc.h.
76206         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
76207
76208 2005-09-12  Derek Price  <derek@ximbiot.com>
76209             Paul Eggert  <eggert@cs.ucla.edu>
76210
76211         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
76212         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
76213         protecting things that should be done only in gnulib contexts.
76214         * lib/glob_.h: New file, containing only the glob things needed for
76215         gnulib.
76216         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
76217         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
76218         (glob, globfree, glob_pattern_p): Now defined simply in terms of
76219         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
76220         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
76221         and to respect the namespace rules better.
76222
76223 2005-09-08  Simon Josefsson  <jas@extundo.com>
76224
76225         * modules/socklen: New file.
76226
76227 2005-09-08  Simon Josefsson  <jas@extundo.com>
76228
76229         * m4/socklen.m4: New file.
76230
76231 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76232
76233         * modules/utimens (Files): Add m4/utimbuf.m4, since
76234         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
76235         Reported by Sergey Poznyakoff.
76236
76237 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76238
76239         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
76240         definitions, since that's the preferred style in glibc.
76241         Fix a minor spacing issue, and update copyright notice to match
76242         glibc's.
76243
76244 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76245
76246         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
76247
76248 2005-09-06  Simon Josefsson  <jas@extundo.com>
76249
76250         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
76251         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
76252
76253 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76254
76255         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
76256         warning.
76257
76258 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76259
76260         * config/srclist.txt: Add glibc bug 1302.
76261
76262 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
76263
76264         Change bitset word type from unsigned int to unsigned long int,
76265         as this has better performance on typical 64-bit hosts.
76266         Port bitset code to hosts with unusual word sizes.
76267         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
76268         (build_collating_symbol):
76269         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
76270         argument is a bitset.  This is merely a style issue, but it makes
76271         it clearer that an entire array is expected.
76272         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
76273         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
76274         Port to the case where bitset_word is not the same as unsigned int.
76275         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
76276         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
76277         Likewise.
76278         * lib/regexec.c (check_dst_limits_calc_pos_1,
76279         check_subexp_matching_top):
76280         (build_trtable, group_nodes_into_DFAstates):
76281         Likewise.
76282         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
76283         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
76284         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
76285         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
76286         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
76287         * lib/regcomp.c (optimize_subexps, lower_subexp):
76288         Work even if bitset_word has holes in its bitwise representation.
76289         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
76290         * lib/regexec.c (check_dst_limits_calc_pos_1,
76291         check_subexp_matching_top):
76292         Likewise.
76293         * lib/regex_internal.c (re_string_reconstruct):
76294         Don't assume UCHAR_MAX == 255.
76295         * lib/regex_internal.h (bitset_set_all): Likewise.
76296         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
76297         All uses changed.
76298         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
76299         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
76300         All uses changed.
76301         (BITSET_WORD_MAX): New macro.
76302         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
76303         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
76304         (bitset_empty, bitset_copy):
76305         Prefer sizeof (bitset) to multiplying it out ourselves.
76306         (bitset_not_merge): Remove; unused.
76307         (bitset_contain): Return bool, not unsigned int with one bit on.
76308         All callers changed.
76309         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
76310         alignment than re_node_set; do this by defining a new internal
76311         type struct dests_alloc and using it to allocate memory.
76312
76313 2005-09-05  Bruno Haible  <bruno@clisp.org>
76314
76315         * gnulib-tool (func_import): Fix comparison in handling of symbolic
76316         links.
76317
76318 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
76319
76320         * modules/size_max (Makefile.am): Add size_max.h
76321
76322 2005-09-04  Derek Price  <derek@ximbiot.com>
76323
76324         * gnulib-tool (func_import): Fix reversed $symbolic logic.
76325
76326 2005-09-03  Simon Josefsson  <jas@extundo.com>
76327
76328         * gnulib-tool: Fix typo.
76329
76330 2005-09-03  Simon Josefsson  <jas@extundo.com>
76331
76332         * config/srclist.txt: Add glibc bug 1293.
76333
76334 2005-09-03  Derek Price  <derek@ximbiot.com>
76335
76336         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
76337         From Larry Jones <lawrence.jones@ugs.com>.
76338
76339 2005-09-02  Simon Josefsson  <jas@extundo.com>
76340
76341         * modules/socklen: New file.
76342
76343 2005-09-02  Simon Josefsson  <jas@extundo.com>
76344
76345         * modules/havelib: New module.
76346
76347         * modules/gettext, modules/iconv, modules/lock, modules/readline:
76348         Use havelib.
76349
76350 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
76351
76352         Check for arithmetic overflow when calculating sizes, to prevent
76353         some buffer-overflow issues.  These patches are conservative, in the
76354         sense that when I couldn't determine whether an overflow was possible,
76355         I inserted a run-time check.
76356         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
76357         macros.
76358         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
76359         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
76360         (re_xnrealloc, re_x2nrealloc): New inline functions.
76361         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
76362         parse_bracket_exp):
76363         (build_equiv_class, build_charclass): Check for arithmetic overflow
76364         in size expression calculations.
76365         * lib/regex_internal.c (re_string_realloc_buffers):
76366         (build_wcs_upper_buffer, re_node_set_add_intersect):
76367         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
76368         (re_dfa_add_node, register_state): Likewise.
76369         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
76370         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
76371         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
76372         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
76373
76374 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
76375
76376         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
76377         m4/ulonglong.m4.  Problem reported by Martin Lambers.
76378
76379 2005-09-02  Bruno Haible  <bruno@clisp.org>
76380
76381         Support for lib vs. lib64 distinction on biarch platforms.
76382         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
76383         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
76384         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
76385
76386 2005-09-02  Bruno Haible  <bruno@clisp.org>
76387
76388         * gnulib-tool (import): In the other first-use case, provide defaults
76389         as well.
76390
76391 2005-09-02  Bruno Haible  <bruno@clisp.org>
76392
76393         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
76394         patches not yet found in the latest gettext release.
76395
76396 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76397
76398         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
76399         to avoid a collision with bits/local_lim.h in glibc.
76400         All uses changed.  Problem reported by Dmitry V. Levin in
76401         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
76402
76403         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
76404         bugs in int versus size_t comparisons.
76405         (re_string_context_at): Fix bug where the code assumed that
76406         Idx is signed.
76407
76408         Use bool where appropriate.
76409         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
76410         All callers changed.
76411         (calc_eclosure_iter): Likewise, for ROOT arg.
76412         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
76413         (build_charclass_op): Likewise, for NON_MATCH arg.
76414         * lib/regex_internal.c (re_string_allocate, re_string_construct):
76415         (re_string_construct_common): Likewise, for ICASE arg.
76416         * lib/regexec.c (re_search_2_stub, re_search_stub):
76417         Likewise, for RET_LEN arg.
76418         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
76419         (set_regs): Likewise, for FL_BACKTRACK arg.
76420         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
76421         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
76422         (calc_eclosure_iter, parse_bracket_exp):
76423         Use bool for internal variables that are booleans.
76424         * lib/regexec.c (re_search_internal, check_matching,
76425         proceed_next_node):
76426         (set_regs, build_sifted_states, sift_states_bkref):
76427         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
76428         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
76429         (find_collation_sequence_value):
76430         Likewise.
76431         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
76432         (re_node_set_compare):
76433         Return bool, not int. All callers changed.
76434         * lib/regexec.c (check_halt_node_context, check_dst_limits):
76435         (build_trtable, check_node_accept): Likewise.
76436         * lib/regex_internal.h: Include stdbool.h.
76437
76438         Fix bugs uncovered when converting to bool.
76439         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
76440         failure instead of charging ahead blindly.
76441         * lib/regex_internal.c (register_state): Likewise.
76442         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
76443         for freeing internal storage.
76444         (group_nodes_into_DFA_states): Use unsigned int, not int, for
76445         bitset pieces used as boolean, to avoid undefined behavior
76446         on hosts that do int overflow checking.
76447
76448 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76449
76450         * config/srclist.txt: Add glibc bugs 1285-1287.
76451
76452 2005-09-01  Jim Meyering  <jim@meyering.net>
76453
76454         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
76455         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
76456         Require gl_STAT_MACROS, too.
76457
76458 2005-09-01  Bruno Haible  <bruno@clisp.org>
76459
76460         * gnulib-tool (import): In the first-use case, provide defaults.
76461
76462 2005-09-01  Bruno Haible  <bruno@clisp.org>
76463
76464         * gnulib-tool (func_import): Remove the .tmp files.
76465
76466 2005-09-01  Bruno Haible  <bruno@clisp.org>
76467
76468         * gnulib-tool (func_import): Fix handling of symbolic links.
76469
76470 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76471
76472         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
76473         old glibc regex code mishandles strings longer than 2**31 bytes.
76474         This patch fixes this when the regex code is used in gnulib
76475         (i.e., outside glibc).
76476
76477         This patch should not affect the use of the regex code inside
76478         glibc.  No doubt this problem also needs to be handled for glibc
76479         as well, but the result will be an incompatible change to the
76480         glibc ABI, and the old ABI will have to be supported too.  That
76481         can be the the subject for another patch.
76482
76483         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
76484         governing whether the rest of this patch is active.  By default,
76485         the macro is disabled and the patch has no effect.
76486         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
76487         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
76488         (struct re_pattern_buffer, re_search, re_search_2, re_match):
76489         (re_match_2, re_set_registers): Use the new types.
76490         * lib/regex_internal.h (Idx, re_hashval_t): New types.
76491         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
76492         New macros.
76493         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
76494         (re_string_context_at, bin_tree_t, re_dfastate_t):
76495         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
76496         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
76497         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
76498         (re_string_char_size_at, re_string_wchar_at):
76499         (re_string_elem_size_at):
76500         Use the new types and macros to port to 64-bit hosts.
76501         Use unsigned types for internal values, so that the code
76502         mostly works even for arrays larger than SSIZE_MAX.
76503         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
76504         (search_duplicated_node, calc_eclosure_iter, fetch_number):
76505         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
76506         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
76507         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
76508         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
76509         (calc_inveclosure, parse_dup_op, build_range_exp):
76510         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
76511         (fetch_number, create_token_tree, mark_opt_subexp):
76512         Likewise.
76513         * lib/regex_internal.c (re_string_construct_common,
76514         create_ci_newstate):
76515         (create_cd_newstate, re_string_allocate, re_string_construct):
76516         (re_string_realloc_buffers, build_wcs_upper_buffer):
76517         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
76518         (re_string_reconstruct, re_string_peek_byte_case):
76519         (re_string_fetch_byte_case, re_string_context_at):
76520         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
76521         (re_node_set_init_copy, re_node_set_add_intersect):
76522         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
76523         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
76524         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
76525         (re_acquire_state, re_acquire_state_context, register_state):
76526         Likewise.
76527         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
76528         search_cur_bkref_entry):
76529         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
76530         (re_search_internal, re_search_2_stub, re_search_stub)
76531         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
76532         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
76533         (update_cur_sifted_state, check_dst_limits):
76534         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
76535         (check_subexp_limits, sift_states_bkref, merge_state_array):
76536         (check_subexp_matching_top, get_subexp, get_subexp_sub):
76537         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
76538         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
76539         (expand_bkref_cache, check_node_accept_bytes):
76540         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
76541         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
76542         (acquire_init_state_context, check_halt_node_context):
76543         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
76544         (sift_states_backward, clean_state_log_if_needed):
76545         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
76546         (find_recover_state, transit_state_sb, transit_state_mb):
76547         (transit_state_bkref, build_trtable, match_ctx_clean):
76548         Likewise.
76549         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
76550         to work around an assumption that REG_MISSING is negative.
76551
76552         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
76553         (seek_collating_symbol_entry) [defined _LIBC]:
76554         (lookup_collation_sequence_value) [defined _LIBC]:
76555         (build_range_exp, build_collating_symbol) [defined _LIBC]:
76556         Use prototypes rather than old-style function definitions.
76557         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
76558         (transit_state_sb) [0]:
76559         (find_collation_sequence_value) [defined _LIBC]: Likewise.
76560
76561         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
76562         rm_eo.
76563
76564         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
76565         (optimize_subexps, lower_subexp):
76566         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
76567         since the signed shift might overflow.  Use 1u<<31 instead.
76568         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
76569         Likewise.
76570         * lib/regexec.c (check_dst_limits_calc_pos_1,
76571         check_subexp_matching_top): Likewise.
76572
76573         * lib/regcomp.c (optimize_subexps, lower_subexp):
76574         Use CHAR_BIT rather than 8, for clarity.
76575         * lib/regexec.c (check_dst_limits_calc_pos_1):
76576         (check_subexp_matching_top): Likewise.
76577         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
76578         have to worry about portability issues when shifting it left.
76579         Remove no-longer-needed test for table_size > 0.
76580         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
76581         in a word, as the resulting behavior is undefined.
76582         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
76583         in one case, a <= should have been an <, and in another case the
76584         whole test was missing.
76585         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
76586         the standard name CHAR_BIT.
76587         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
76588         this is not true on one's complement and signed-magnitude hosts.
76589
76590         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
76591         next_last_offset.
76592         (struct re_dfa_t): Remove unused member states_alloc.
76593         * lib/regcomp.c (init_dfa): Don't initialize unused members.
76594
76595 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76596
76597         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
76598         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
76599         and large-file glibc and in 32-bit large-file Solaris.
76600
76601 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76602
76603         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
76604         lengths fit in regoff_t; this isn't true if regoff_t is the same
76605         width as size_t.
76606         * lib/regex.c (re_search_internal): 5th arg is LAST_START
76607         (= START + RANGE) instead of RANGE.  This avoids overflow
76608         problems when regoff_t is the same width as size_t.
76609         All callers changed.
76610         (re_search_2_stub): Check for overflow when adding the
76611         sizes of the two strings.
76612         (re_search_stub): Check for overflow when adding START
76613         to RANGE; if it occurs, substitute the extreme value.
76614
76615 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76616
76617         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
76618
76619 2005-08-31  Jim Meyering  <jim@meyering.net>
76620
76621         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
76622         a pointer-to-const.
76623         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
76624         (register_state): Likewise.
76625         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
76626         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
76627         (group_nodes_into_DFAstates): Likewise.
76628
76629 2005-08-31  Jim Meyering  <jim@meyering.net>
76630
76631         * check-module: Add a FIXME comment.
76632
76633 2005-08-31  Eric Blake  <ebb9@byu.net>
76634
76635         * modules/unistd-safer (Files): Add unistd--.h.
76636         * modules/stdio-safer (Files): Add stdio--.h.
76637
76638 2005-08-31  Derek Price  <derek@ximbiot.com>
76639
76640         * lib/getdelim.c (getdelim): Return EOF on EOF.
76641         Reported by Larry Jones <lawrence.jones@ugs.com>.
76642
76643 2005-08-31  Bruno Haible  <bruno@clisp.org>
76644
76645         Avoid unnecessary diffs in the generated lib/Makefile.am.
76646         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
76647         the generated files.
76648         (func_import): Don't set cmd.
76649
76650 2005-08-31  Bruno Haible  <bruno@clisp.org>
76651
76652         * lib/strstr.c: Include <stddef.h>, for NULL.
76653         * lib/strcasestr.c: Likewise.
76654         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76655
76656 2005-08-31  Bruno Haible  <bruno@clisp.org>
76657
76658         * gnulib-tool: New option --macro-prefix.
76659         (func_import): Use macro_prefix.
76660         (import): Handle option --macro-prefix.
76661
76662 2005-08-31  Bruno Haible  <bruno@clisp.org>
76663
76664         * gnulib-tool (import): Rename most ac_* variables to cached_*.
76665         Also use new variables cached_lgpl, cached_libtool.
76666
76667 2005-08-31  Bruno Haible  <bruno@clisp.org>
76668
76669         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
76670         always instantiating them.
76671
76672 2005-08-31  Bruno Haible  <bruno@clisp.org>
76673
76674         * gnulib-tool (func_import): Read the previous cached settings
76675         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
76676         earlier added by gnulib but are now dropped. Warn when a gnulib file
76677         overwrites a non-gnulib file.
76678
76679 2005-08-31  Bruno Haible  <bruno@clisp.org>
76680
76681         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
76682         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
76683         projects that don't keep autogenerated files in CVS. Put into
76684         actioncmd only the specified modules, not the transitive closure.
76685
76686 2005-08-31  Bruno Haible  <bruno@clisp.org>
76687
76688         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
76689         Create directories that shall be filled.
76690         (import): Don't look for gl_* macros in configure.ac. Recurse across
76691         all directories containing a gnulib-cache.m4 files, if meaningful.
76692
76693 2005-08-31  Bruno Haible  <bruno@clisp.org>
76694
76695         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
76696         (import): Set seen_libtool when we see gl_LIBTOOL.
76697
76698 2005-08-31  Bruno Haible  <bruno@clisp.org>
76699
76700         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
76701         declaration macro definitions from generated gnulib.m4.
76702
76703 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
76704
76705         * lib/iconvme.h: Add prototype for iconv_alloc.
76706
76707 2005-08-29  Simon Josefsson  <jas@extundo.com>
76708
76709         * lib/iconvme.c: Fix errno.
76710
76711 2005-08-29  Bruno Haible  <bruno@clisp.org>
76712
76713         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
76714         that it works when the directory contains spaces.
76715
76716 2005-08-29  Bruno Haible  <bruno@clisp.org>
76717
76718         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
76719
76720 2005-08-29  Bruno Haible  <bruno@clisp.org>
76721
76722         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
76723         Emit more advice.
76724
76725 2005-08-29  Bruno Haible  <bruno@clisp.org>
76726         and Stepan Kasal  <kasal@ucw.cz>
76727
76728         * check-module: If more parameters are given, check each of them
76729         separately; add more exceptions, as noted by Jim Meyering.
76730         (check_module): New procedure.
76731         (%exempt_header): Now contains all exceptions.
76732
76733 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
76734
76735         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
76736
76737 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
76738
76739         * lib/iconvme.c: Split iconv_string into iconv_alloc.
76740
76741 2005-08-28  Bruno Haible  <bruno@clisp.org>
76742
76743         * m4/gnulib-tool.m4: New file.
76744
76745 2005-08-27  Jim Meyering  <jim@meyering.net>
76746
76747         * modules/unistd-safer (Files): Add pipe-safer.c.
76748         * modules/fcntl-safer (Files): Add creat-safer.c.
76749
76750 2005-08-27  Jim Meyering  <jim@meyering.net>
76751
76752         * m4/stdlib-safer.m4: New file.  From coreutils.
76753         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
76754         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
76755         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
76756         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
76757         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
76758
76759 2005-08-27  Jim Meyering  <jim@meyering.net>
76760
76761         * lib/fopen-safer.c: Merge minor changes from coreutils.
76762         * lib/dup-safer.c: Likewise.
76763         * lib/fd-safer.c: Likewise.
76764
76765         Merge from coreutils.
76766         * lib/stdio--.h: New file.
76767         * lib/stdlib--.h: New file.
76768         * lib/mkstemp-safer.c: New file.
76769
76770         GNU tar needs these.
76771         * lib/pipe-safer.c: New file.
76772         * lib/creat-safer.c: New file.
76773         * lib/fcntl--.h (creat): Define to creat_safer.
76774         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
76775         * lib/unistd--.h (pipe): Define to pipe_safer.
76776         * lib/unistd-safer.h: Declare pipe_safer.
76777
76778 2005-08-26  Simon Josefsson  <jas@extundo.com>
76779
76780         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
76781         Haible <bruno@clisp.org>.
76782
76783 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
76784
76785         * lib/regex_internal.h: Remove all references to
76786         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
76787         or better.
76788         (bitset_not, bitset_merge, bitset_not_merge):
76789         (bitset_mask, re_string_allocate, re_string_construct):
76790         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
76791         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
76792         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
76793         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
76794         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
76795         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
76796         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
76797         (re_acquire_state_context):
76798         Remove unnecessary forward decls.
76799         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
76800         Put __attribute at function definition,
76801         now that the function decl has been removed.
76802         * lib/regex_internal.c (re_string_peek_byte_case):
76803         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
76804         Likewise.
76805
76806 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
76807
76808         * m4/regex.m4: Add AC_PREREQ(2.50).
76809         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
76810
76811 2005-08-25  Simon Josefsson  <jas@extundo.com>
76812
76813         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
76814         __fsetlocking.
76815
76816 2005-08-25  Simon Josefsson  <jas@extundo.com>
76817
76818         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
76819         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
76820         GLIBC specific code.
76821
76822 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76823
76824         Make regex safe for g++.  This fixes one real bug (an "err"
76825         that should have been "*err").  g++ problem reported by
76826         Sam Steingold.
76827         * lib/regex_internal.h (re_calloc): New macro, consistent with
76828         re_malloc etc.  All callers of calloc changed to use re_calloc.
76829         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
76830         not int.  All callers changed.
76831         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
76832         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
76833         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
76834         (find_recover_state): Change "err" to "*err"; this fixes what
76835         appears to be a real bug.
76836         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
76837         versus int.
76838
76839 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76840
76841         * modules/regex (Depends-on): Add malloc, since the code
76842         assumes that !malloc(0) means failure.
76843
76844 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76845
76846         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
76847
76848         alloca modernization/simplification for regex.
76849         * lib/regex.c: Remove portability cruft for alloca.  This no longer
76850         needs to be at the start of the file, and can be moved into
76851         regex_internal.h and simplified.
76852         * lib/regex_internal.h: Include <alloca.h>.
76853         (__libc_use_alloca) [!defined _LIBC]: New macro.
76854         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
76855         now works outside glibc.
76856
76857 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76858
76859         * config/srclist.txt: Add glibc bugs 1241, 1245.
76860
76861 2005-08-25  Jim Meyering  <jim@meyering.net>
76862
76863         * lib/open-safer.c: Include <config.h>.
76864         Otherwise, we'd lose LARGEFILE support in any file using
76865         e.g. "fcntl--.h"
76866
76867 2005-08-25  Bruno Haible  <bruno@clisp.org>
76868
76869         * m4/minmax.m4: Require autoconf 2.52.
76870         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
76871         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
76872         alternatives of translit over the alphabet.
76873         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
76874
76875 2005-08-24  Simon Josefsson  <jas@extundo.com>
76876
76877         * tests/test-getpass.c: New file.
76878
76879 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76880
76881         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
76882         for GNU regex features.
76883
76884 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76885
76886         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
76887         * lib/regex.h (regerror): Likewise.
76888
76889         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
76890         requires this.  (The code never needed it.)
76891
76892         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
76893         All uses of recently-renamed identifiers changed to use the new,
76894         POSIX-compliant names.  The code will build and run just fine
76895         without these changes, but it's better to eat our own dog food
76896         and use the standard-conforming names.
76897
76898         * lib/regex.h: Fix a multitude of POSIX name space violations.
76899         These changes have an effect only for programs that define
76900         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
76901         do not change anything for programs compiled in the normal way.
76902         Also, there is no effect on the ABI.
76903
76904         (_REGEX_SOURCE): New macro.
76905         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
76906         defined and _GNU_SOURCE is not; this fixes a name space violation.
76907
76908         Rename the following macros to obey POSIX requirements.
76909         The old names are still visible as macros if _REGEX_SOURCE is defined.
76910         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
76911         RE_BACKSLASH_ESCAPE_IN_LISTS.
76912         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
76913         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
76914         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
76915         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
76916         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
76917         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
76918         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
76919         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
76920         (REG_INTERVALS): renamed from RE_INTERVALS.
76921         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
76922         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
76923         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
76924         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
76925         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
76926         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
76927         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
76928         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
76929         RE_UNMATCHED_RIGHT_PAREN_ORD.
76930         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
76931         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
76932         (REG_DEBUG): renamed from RE_DEBUG.
76933         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
76934         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
76935         unusual, since we can't clash with the POSIX REG_ICASE.
76936         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
76937         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
76938         (REG_NO_SUB): renamed from RE_NO_SUB.
76939         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
76940         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
76941         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
76942         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
76943         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
76944         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
76945         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
76946         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
76947         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
76948         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
76949         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
76950         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
76951         RE_SYNTAX_POSIX_MINIMAL_BASIC.
76952         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
76953         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
76954         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
76955         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
76956         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
76957         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
76958         (REG_FIXED): Renamed from REGS_FIXED.
76959         (REG_NREGS): Renamed from RE_NREGS.
76960
76961         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
76962         of other REG_* macros, since POSIX says the user is allowed to
76963         #undef these macros selectively.
76964
76965         (reg_errcode_t): Update comment stating what other tables need
76966         to be consistent.
76967
76968         Rename the following enum values to obey POSIX requirements.
76969         The old names are still visible as macros.
76970         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
76971         is not defined, since GNU is supposed to be a superset of POSIX as
76972         much as possible, and since we want reg_errcode_t to be a signed
76973         type for implementation consistency.
76974         (_REG_NOERROR): Renamed from REG_NOERROR.
76975         (_REG_NOMATCH): Renamed from REG_NOMATCH.
76976         (_REG_BADPAT): Renamed from REG_BADPAT.
76977         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
76978         (_REG_ECTYPE): Renamed from REG_ECTYPE.
76979         (_REG_EESCAPE): Renamed from REG_EESCAPE.
76980         (_REG_ESUBREG): Renamed from REG_ESUBREG.
76981         (_REG_EBRACK): Renamed from REG_EBRACK.
76982         (_REG_EPAREN): Renamed from REG_EPAREN.
76983         (_REG_EBRACE): Renamed from REG_EBRACE.
76984         (_REG_BADBR): Renamed from REG_BADBR.
76985         (_REG_ERANGE): Renamed from REG_ERANGE.
76986         (_REG_ESPACE): Renamed from REG_ESPACE.
76987         (_REG_BADRPT): Renamed from REG_BADRPT.
76988         (_REG_EEND): Renamed from REG_EEND.
76989         (_REG_ESIZE): Renamed from REG_ESIZE.
76990         (_REG_ERPAREN): Renamed from REG_ERPAREN.
76991         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
76992         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
76993         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
76994         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
76995
76996         (_REG_RE_NAME, _REG_RM_NAME): New macros.
76997         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
76998         changed.  But support the old name if the new one is not defined
76999         and if _REGEX_SOURCE.
77000
77001         Change the following member names in struct re_pattern_buffer.
77002         The old names are still supported if !_REGEX_SOURCE.
77003         The new names are always supported, regardless of _REGEX_SOURCE.
77004         (re_buffer): Renamed from buffer.
77005         (re_allocated): Renamed from allocated.
77006         (re_used): Renamed from used.
77007         (re_syntax): Renamed from syntax.
77008         (re_fastmap): Renamed from fastmap.
77009         (re_translate): Renamed from translate.
77010         (re_can_be_null): Renamed from can_be_null.
77011         (re_regs_allocated): Renamed from regs_allocated.
77012         (re_fastmap_accurate): Renamed from fastmap_accurate.
77013         (re_no_sub): Renamed from no_sub.
77014         (re_not_bol): Renamed from not_bol.
77015         (re_not_eol): Renamed from not_eol.
77016         (re_newline_anchor): Renamed from newline_anchor.
77017
77018         Change the following member names in struct re_registers.
77019         The old names are still supported if !_REGEX_SOURCE.
77020         The new names are always supported, regardless of _REGEX_SOURCE.
77021         (rm_num_regs): Renamed from num_regs.
77022         (rm_start): Renamed from start.
77023         (rm_end): Renamed from end.
77024
77025         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
77026         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
77027         Prepend __ to parameter names.
77028
77029         Undo yesterday's changes.
77030
77031 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77032
77033         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
77034         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
77035         lib/regex.c.
77036
77037 2005-08-24  Jim Meyering  <jim@meyering.net>
77038
77039         Sync from coreutils.
77040         * m4/fcntl-safer.m4: New file.
77041
77042         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
77043         and object files for this module.
77044
77045 2005-08-24  Jim Meyering  <jim@meyering.net>
77046
77047         Sync from coreutils.
77048         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
77049
77050 2005-08-24  Jim Meyering  <jim@meyering.net>
77051
77052         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
77053         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
77054
77055 2005-08-24  Jim Meyering  <jim@meyering.net>
77056
77057         * modules/fcntl-safer: New module.
77058         * modules/fts (Depends-on): Add fcntl-safer.
77059         * MODULES.html.sh (File descriptor based Input/Output):
77060         Add fcntl-safer.
77061
77062 2005-08-24  Bruno Haible  <bruno@clisp.org>
77063
77064         Support for unit test modules.
77065         * modules/README: Mention tests modules.
77066         * modules/TEMPLATE-TESTS: New file.
77067         * gnulib-tool: New options --extract-tests-module, --with-tests and
77068         --tests-base (unused for the moment).
77069         (testsbase, inctests): New variables.
77070         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
77071         (func_verify_module): Exclude TEMPLATE-TESTS.
77072         (func_verify_nontests_module, func_verify_tests_module): New functions.
77073         (func_get_dependencies): Add implicit dependency for tests modules.
77074         (func_get_tests_module): New function.
77075         (func_modules_transitive_closure): When --with-tests was specified,
77076         include the unit tests as well, unless explicitly avoided.
77077         (func_emit_lib_Makefile_am): Ignore the tests modules here.
77078         (func_emit_tests_Makefile_am): New function.
77079         (func_create_testdir): When --with-tests was specified, emit a
77080         tests/ directory.
77081         * MODULES.html.sh (Future developments): Update.
77082
77083 2005-08-24  Bruno Haible  <bruno@clisp.org>
77084
77085         * modules/tls-tests: New file.
77086         * tests/test-tls.c: New file, from GNU gettext.
77087
77088 2005-08-24  Bruno Haible  <bruno@clisp.org>
77089
77090         * modules/lock-tests: New file.
77091         * tests/test-lock.c: New file, from GNU gettext.
77092
77093 2005-08-24  Bruno Haible  <bruno@clisp.org>
77094
77095         * lib/lock.h: Add multiple inclusion guard.
77096         * lib/tls.h: Add multiple inclusion guard.
77097
77098 2005-08-24  Bruno Haible  <bruno@clisp.org>
77099
77100         * gnulib-tool: Add support for the --aux-dir option to
77101         --create-testdir, --create-megatestdir, --test, --megatest.
77102         (func_create_testdir, func_create_megatestdir): Optionally emit a
77103         AC_CONFIG_AUX_DIR directive.
77104         (create-testdir, create-megatestdir, test, megatest): Provide a
77105         default value for $auxdir.
77106
77107 2005-08-24  Bruno Haible  <bruno@clisp.org>
77108
77109         * gnulib-tool (import): Use compound statement instead of subshell
77110         where possible.
77111
77112 2005-08-24  Bruno Haible  <bruno@clisp.org>
77113
77114         * gnulib-tool (import): Change --aux-dir default to "build-aux".
77115
77116 2005-08-24  Bruno Haible  <bruno@clisp.org>
77117
77118         * gnulib-tool (func_version): Update.
77119
77120 2005-08-24  Bruno Haible  <bruno@clisp.org>
77121
77122         * gnulib-tool (func_import, func_create_testdir,
77123         func_create_megatestdir): Quote all autoconf macro arguments.
77124
77125 2005-08-24  Bruno Haible  <bruno@clisp.org>
77126
77127         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
77128         option --force, because --force causes the aclocal.m4 of each
77129         subdirectory to be newer than the corresponding config.h.in.
77130
77131 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
77132
77133         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
77134         All contents moved to gl_REGEX.
77135         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
77136         assume that it does.
77137
77138 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
77139
77140         * lib/regex.h (REG_NOSYS)
77141         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
77142         Define, since POSIX requires it as of 2001.
77143         (_REG_ENOSYS)
77144         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
77145         New private symbol, used to keep the enum signed in all cases.
77146         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
77147         Youngman in
77148         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
77149
77150         * lib/regex_internal.c (re_string_skip_chars, register_state):
77151         (calc_state_hash):
77152         Remove forward decls; no longer needed now that we use prototypes.
77153         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
77154         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
77155         (clean_state_log_if_needed): Likewise.
77156
77157 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
77158
77159         * config/srclist.txt: Add glibc bugs 1231-1233.
77160
77161 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77162
77163         Fix problems reported by Sam Steingold in
77164         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
77165         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
77166         assumed that reg_errcode_t is a signed type, which is not
77167         necessarily true if _XOPEN_SOURCE is not defined.
77168         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
77169         since some compilers warn about it otherwise.
77170
77171 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77172
77173         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
77174         (init_word_char, create_initial_state, duplicate_node_closure):
77175         (fetch_token, peek_token_bracket, build_range_exp):
77176         (build_collating_symbol): Remove forward decls; no longer needed
77177         now that we use prototypes.
77178
77179         * lib/regcomp.c:
77180         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
77181         (re_compile_fastmap_iter, regcomp, regerror, regfree):
77182         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
77183         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
77184         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
77185         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
77186         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
77187         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
77188         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
77189         (build_range_exp, build_collating_symbol, parse_bracket_exp):
77190         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
77191         (build_charclass, build_charclass_op, fetch_number, create_tree):
77192         (create_token_tree, mark_opt_subexp, duplicate_tree):
77193         Use prototypes rather than old-style definitions.
77194
77195         * lib/regex_internal.c:
77196         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
77197         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
77198         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
77199         (re_string_reconstruct, re_string_peek_byte_case):
77200         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
77201         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
77202         (re_node_set_init_copy, re_node_set_add_intersect):
77203         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
77204         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
77205         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
77206         (re_acquire_state, re_acquire_state_context, register_state):
77207         (create_ci_newstate, create_cd_newstate, free_state):
77208         Likewise.
77209         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
77210         re_search_2):
77211         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
77212         (re_search_internal, prune_impossible_nodes):
77213         (acquire_init_state_context, check_matching, static):
77214         (check_halt_node_context, check_halt_state_context, proceed_next_node):
77215         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
77216         (update_regs, sift_states_backward, build_sifted_states):
77217         (clean_state_log_if_needed, merge_state_array):
77218         (update_cur_sifted_state, add_epsilon_src_nodes):
77219         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
77220         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
77221         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
77222         (find_recover_state, check_subexp_matching_top, transit_state_mb):
77223         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
77224         (check_arrival, check_arrival_add_next_nodes):
77225         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
77226         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
77227         (check_node_accept_bytes, check_node_accept, extend_buffers):
77228         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
77229         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
77230         (sift_ctx_init):
77231         Likewise.
77232
77233         * lib/regex_internal.h:
77234         (re_string_allocate, re_string_construct, re_string_reconstruct):
77235         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
77236         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
77237         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
77238         (re_string_context_at, re_string_peek_byte_case):
77239         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
77240         is defined, since we now use prototypes always.
77241
77242         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
77243         C89 or better.  All uses removed.
77244
77245 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77246
77247         * config/srclist.txt: Add glibc bugs 1220-1227.
77248
77249 2005-08-20  Jim Meyering  <jim@meyering.net>
77250
77251         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
77252         of unused local, dfa.
77253
77254 2005-08-20  Bruno Haible  <bruno@clisp.org>
77255
77256         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
77257
77258 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77259
77260         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
77261         (re_node_set_insert_last, re_dfa_add_node):
77262         Rename local variables to avoid GCC shadowing warnings.
77263
77264 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77265
77266         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
77267         [defined lint]: Suppress bogus uninitialized-variable warnings.
77268
77269         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
77270         and let the caller return REG_ESPACE if out of space.  This
77271         removes an uninitialied-variable warning with GCC 4.0.1, and also
77272         avoids taking the address of a local variable.  All callers
77273         changed.
77274
77275 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77276
77277         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
77278         $LIBCSRC/posix/regexec.c.
77279         Add glibc bug 1217 for regcomp.c.
77280
77281 2005-08-19  Jim Meyering  <jim@meyering.net>
77282
77283         * lib/regexec.c (proceed_next_node): Redo local variables to
77284         avoid GCC shadowing warnings.
77285
77286 2005-08-18  Bruno Haible  <bruno@clisp.org>
77287
77288         * lib/strstr.c (strstr): Fix return value in multibyte case.
77289         * lib/strcasestr.c (strcasestr): Likewise.
77290
77291 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77292
77293         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
77294
77295 2005-08-17  Jim Meyering  <jim@meyering.net>
77296
77297         Make the %s format (seconds since the epoch) work for a negative
77298         number and when used with a zero-padded field width, e.g. %015s.
77299
77300         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
77301         label so that it precedes the code to set `digits'.  Otherwise,
77302         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
77303         print `00-22'.  Now, it prints `-0022', as it should.
77304
77305 2005-08-17  Bruno Haible  <bruno@clisp.org>
77306
77307         * modules/strstr (Files): Add m4/mbrtowc.m4.
77308         (Depends-on): Add mbuiter.
77309
77310 2005-08-17  Bruno Haible  <bruno@clisp.org>
77311
77312         * modules/strcasestr: New file.
77313         * MODULES.html.sh (String handling, based on ANSI C 89): Add
77314         strcasestr.
77315
77316 2005-08-17  Bruno Haible  <bruno@clisp.org>
77317
77318         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
77319
77320 2005-08-17  Bruno Haible  <bruno@clisp.org>
77321
77322         * modules/mbuiter: New file.
77323         * MODULES.html.sh (Extended multibyte and wide character utilities):
77324         Add mbuiter.
77325
77326 2005-08-17  Bruno Haible  <bruno@clisp.org>
77327
77328         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
77329         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
77330
77331 2005-08-17  Bruno Haible  <bruno@clisp.org>
77332
77333         * m4/strcasestr.m4: New file.
77334
77335 2005-08-17  Bruno Haible  <bruno@clisp.org>
77336
77337         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
77338         * lib/strstr.c: Completely rewritten, with multibyte locale support.
77339
77340 2005-08-17  Bruno Haible  <bruno@clisp.org>
77341
77342         * lib/strcasestr.h: New file.
77343         * lib/strcasestr.c: New file.
77344
77345 2005-08-17  Bruno Haible  <bruno@clisp.org>
77346
77347         * lib/strcasecmp.c: Use mbuiter.h.
77348
77349 2005-08-17  Bruno Haible  <bruno@clisp.org>
77350
77351         * lib/mbuiter.h: New file.
77352
77353 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
77354
77355         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
77356         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
77357         and gl_GETOPT are both invoked via different paths (as happens
77358         with GNU tar CVS because it uses both argp and getopt), the former
77359         wins.
77360
77361 2005-08-16  Bruno Haible  <bruno@clisp.org>
77362
77363         * modules/tls: New file.
77364         * MODULES.html.sh (Multithreading): Add tls.
77365
77366 2005-08-16  Bruno Haible  <bruno@clisp.org>
77367
77368         * modules/strnlen1: New file.
77369         * MODULES.html.sh (String handling): Add strnlen1.
77370
77371 2005-08-16  Bruno Haible  <bruno@clisp.org>
77372
77373         * modules/strcase (Files): Add m4/mbrtowc.m4.
77374         (Depends-on): Add strnlen1, mbchar.
77375
77376 2005-08-16  Bruno Haible  <bruno@clisp.org>
77377
77378         * modules/mbiter: New file.
77379         * MODULES.html.sh (Extended multibyte and wide character utilities):
77380         Add mbiter.
77381
77382 2005-08-16  Bruno Haible  <bruno@clisp.org>
77383
77384         * modules/mbfile: New file.
77385         * MODULES.html.sh (Extended multibyte and wide character utilities):
77386         Add mbfile.
77387
77388 2005-08-16  Bruno Haible  <bruno@clisp.org>
77389
77390         * modules/mbchar: New file.
77391         * MODULES.html.sh (Extended multibyte and wide character utilities):
77392         New section.
77393
77394 2005-08-16  Bruno Haible  <bruno@clisp.org>
77395
77396         * m4/tls.m4: New file, from GNU gettext.
77397
77398 2005-08-16  Bruno Haible  <bruno@clisp.org>
77399
77400         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
77401         always.
77402         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
77403
77404 2005-08-16  Bruno Haible  <bruno@clisp.org>
77405
77406         * m4/mbiter.m4: New file.
77407
77408 2005-08-16  Bruno Haible  <bruno@clisp.org>
77409
77410         * m4/mbfile.m4: New file.
77411
77412 2005-08-16  Bruno Haible  <bruno@clisp.org>
77413
77414         * m4/mbchar.m4: New file.
77415
77416 2005-08-16  Bruno Haible  <bruno@clisp.org>
77417
77418         * lib/tls.h: New file, from GNU gettext.
77419         * lib/tls.c: New file, from GNU gettext.
77420
77421 2005-08-16  Bruno Haible  <bruno@clisp.org>
77422
77423         * lib/strnlen1.h: New file.
77424         * lib/strnlen1.c: New file.
77425
77426 2005-08-16  Bruno Haible  <bruno@clisp.org>
77427
77428         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
77429         (mbi_init): Update.
77430         (mbi_avail, mbi_advance): Let the iteration end before the terminating
77431         NUL byte, not after it.
77432
77433 2005-08-16  Bruno Haible  <bruno@clisp.org>
77434
77435         * lib/strcase.h (strcasecmp): Add note in comments.
77436         * lib/strncasecmp.c: Use code from strcasecmp.c.
77437         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
77438         (strcasecmp): Work correctly in multibyte locales.
77439
77440 2005-08-16  Bruno Haible  <bruno@clisp.org>
77441
77442         * lib/mbiter.h: New file.
77443
77444 2005-08-16  Bruno Haible  <bruno@clisp.org>
77445
77446         * lib/mbfile.h: New file.
77447
77448 2005-08-16  Bruno Haible  <bruno@clisp.org>
77449
77450         * lib/mbchar.h: New file.
77451         * lib/mbchar.c: New file.
77452
77453 2005-08-16  Bruno Haible  <bruno@clisp.org>
77454
77455         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
77456         the valid ones. Makes the comparison operations transitive:
77457         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
77458         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
77459
77460 2005-08-15  Simon Josefsson  <jas@extundo.com>
77461
77462         * modules/ssize_t (License): Change to 'unlimited'.
77463
77464         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
77465
77466 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77467
77468         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
77469         Add comments for each pending glibc patch.
77470
77471 2005-08-15  Bruno Haible  <bruno@clisp.org>
77472
77473         * lib/regex.h (__restrict_arr): Don't define to __restrict if
77474         __cplusplus is defined.
77475
77476 2005-08-14  Jim Meyering  <jim@meyering.net>
77477
77478         Sync from coreutils.
77479
77480         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
77481         Use the hash-table-based cycle-detection code not just when
77482         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
77483         Reported by James Youngman in
77484         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
77485         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
77486         FTS_TIGHT_CYCLE_CHECK.
77487         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
77488         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
77489         once again.
77490         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
77491         * lib/fts.c (fd_safer): Remove decl.
77492         Include fcntl--.h rather than unistd-safer.h
77493         (fts_safe_changedir): Don't call fd_safer; no longer needed
77494         now that we include fcntl--.h.
77495
77496 2005-08-12  Simon Josefsson  <jas@extundo.com>
77497
77498         * modules/getndelim2: Use ssize_t module.
77499         * modules/getnline: Likewise.
77500         * modules/safe-read: Likewise.
77501         * modules/xreadlink: Likewise.
77502
77503         * modules/ssize_t: New file.
77504
77505 2005-08-12  Simon Josefsson  <jas@extundo.com>
77506
77507         * m4/readline.m4: Look for termcap, curses or ncurses if required.
77508
77509 2005-08-12  Simon Josefsson  <jas@extundo.com>
77510
77511         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
77512         ssize_t.
77513
77514 2005-08-12  Simon Josefsson  <jas@extundo.com>
77515
77516         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
77517         readline, getdelim and check_version.
77518         (Support for systems lacking ISO C 99: Sizes of integer types):
77519         Add size_max.
77520
77521 2005-08-12  Bruno Haible  <bruno@clisp.org>
77522
77523         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
77524
77525 2005-08-11  Simon Josefsson  <jas@extundo.com>
77526
77527         * modules/readline: New file.
77528
77529         * modules/strnlen (Files): Add strnlen.h.
77530
77531 2005-08-11  Simon Josefsson  <jas@extundo.com>
77532
77533         * m4/readline.m4: New file.
77534
77535 2005-08-11  Simon Josefsson  <jas@extundo.com>
77536
77537         * lib/readline.h, readline.c: New file.
77538
77539 2005-08-11  Simon Josefsson  <jas@extundo.com>
77540
77541         * doc/gnulib.texi (Initial import, Finishing touches): Mention
77542         gl_AVOID.
77543
77544 2005-08-11  Bruno Haible  <bruno@clisp.org>
77545
77546         * lib/strnlen.h (strnlen): Change parameter name to match comment.
77547
77548 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
77549
77550         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
77551
77552 2005-08-10  Simon Josefsson  <jas@extundo.com>
77553
77554         * tests/test-iconvme.c: New file.
77555
77556 2005-08-10  Simon Josefsson  <jas@extundo.com>
77557
77558         * m4/strnlen.m4: New file.
77559
77560         * m4/strndup.m4: Don't check for strnlen declaration, done in
77561         strnlen.m4.
77562
77563 2005-08-10  Simon Josefsson  <jas@extundo.com>
77564
77565         * lib/strndup.c: Use strnlen.h.
77566
77567         * lib/strnlen.h: New file.
77568
77569 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
77570
77571         * README: Typos.
77572
77573 2005-08-02  Simon Josefsson  <jas@extundo.com>
77574
77575         * modules/readline: New file.
77576
77577 2005-08-02  Simon Josefsson  <jas@extundo.com>
77578
77579         * modules/getdelim: New file.
77580
77581         * modules/getline: Rewrite, don't use getndelim2.
77582
77583 2005-08-02  Simon Josefsson  <jas@extundo.com>
77584
77585         * m4/getline.m4: Separate out getdelim stuff into separate module.
77586
77587         * m4/getdelim.m4: New file.
77588
77589 2005-08-02  Simon Josefsson  <jas@extundo.com>
77590
77591         * lib/getline.h, getline.c: Rewrite.
77592
77593         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
77594
77595 2005-07-31  Bruno Haible  <bruno@clisp.org>
77596
77597         * lib/lock.h (gl_lock_initializer): New macro.
77598         (gl_lock_define_initialized): Use it.
77599         (gl_rwlock_initializer): New macro.
77600         (gl_rwlock_define_initialized): Use it.
77601         (gl_recursive_lock_initializer): New macro.
77602         (gl_recursive_lock_define_initialized): Use it.
77603
77604 2005-07-30  Karl Berry  <karl@gnu.org>
77605
77606         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
77607         Report from Ben Pfaff, regarding getopt.
77608
77609 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
77610
77611         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
77612         normal way.
77613         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
77614         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
77615         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
77616         (gl_GETOPT): Use the new macros.  Most of the implementation
77617         is moved to the new macros.  This is for programs like Emacs
77618         that don't want all the functionality of gl_GETOPT.
77619
77620 2005-07-26  Bruno Haible  <bruno@clisp.org>
77621
77622         * m4/lock.m4: Update from GNU gettext.
77623
77624 2005-07-26  Bruno Haible  <bruno@clisp.org>
77625
77626         * lib/lock.h: Update from GNU gettext.
77627         * lib/lock.c: Update from GNU gettext.
77628
77629 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
77630
77631         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
77632         obsolescent AC_TRY_RUN.  Include the default includes files, for
77633         'exit'.
77634
77635 2005-07-24  Bruno Haible  <bruno@clisp.org>
77636
77637         * modules/visibility: New file.
77638         * MODULES.html.sh (Misc): Add visibility.
77639
77640 2005-07-24  Bruno Haible  <bruno@clisp.org>
77641
77642         * m4/visibility.m4: New file.
77643
77644 2005-07-24  Bruno Haible  <bruno@clisp.org>
77645
77646         * doc/visibility.texi: New file.
77647
77648 2005-07-22  Bruno Haible  <bruno@clisp.org>
77649
77650         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
77651         $(ALLOCA_H), redundant through BUILT_SOURCES.
77652         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
77653         redundant through BUILT_SOURCES.
77654         * modules/byteswap (Makefile.am): Remove explicit dependency on
77655         $(BYTESWAP_H), redundant through BUILT_SOURCES.
77656         * modules/fnmatch (Makefile.am): Remove explicit dependency on
77657         $(FNMATCH_H), redundant through BUILT_SOURCES.
77658         * modules/getopt (Makefile.am): Remove explicit dependency on
77659         $(GETOPT_H), redundant through BUILT_SOURCES.
77660         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
77661         redundant through BUILT_SOURCES.
77662         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
77663         redundant through BUILT_SOURCES.
77664         * modules/stdbool (Makefile.am): Remove explicit dependency on
77665         $(STDBOOL_H), redundant through BUILT_SOURCES.
77666         * modules/stdint (Makefile.am): Remove explicit dependency on
77667         $(STDINT_H), redundant through BUILT_SOURCES.
77668         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
77669         Remove explicit dependency on $(SYSEXITS_H).
77670         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
77671
77672 2005-07-18  Simon Josefsson  <jas@extundo.com>
77673
77674         * lib/check-version.c (check_version): Accept identical versions too.
77675
77676 2005-07-18  Bruno Haible  <bruno@clisp.org>
77677
77678         * modules/lock: New file.
77679         * MODULES.html.sh (Multithreading): New section.
77680
77681 2005-07-18  Bruno Haible  <bruno@clisp.org>
77682
77683         * m4/lock.m4: New file, from GNU gettext.
77684
77685 2005-07-18  Bruno Haible  <bruno@clisp.org>
77686
77687         * lib/lock.h: New file, from GNU gettext.
77688         * lib/lock.c: New file, from GNU gettext.
77689
77690 2005-07-18  Bruno Haible  <bruno@clisp.org>
77691
77692         * lib/lock.h (gl_once_t): New type.
77693         (gl_once_define, gl_once): New macros.
77694         * lib/lock.c (fresh_once): New variable.
77695         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
77696         functions.
77697
77698 2005-07-16  Simon Josefsson  <jas@extundo.com>
77699
77700         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
77701         workaround, suggested by Bruno.
77702
77703 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
77704
77705         * modules/xalloc (Depends-on): Add xalloc-die.
77706         * modules/xvasprintf (Depends-on): Add xalloc-die.
77707
77708 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
77709
77710         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
77711         with a minor change.
77712
77713 2005-07-15  Bruno Haible  <bruno@clisp.org>
77714
77715         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
77716         When using lib/poll.c, define poll as rpl_poll.
77717
77718 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
77719
77720         * modules/argp (Depends-on): Remove unlocked-io.
77721
77722 2005-07-14  Derek Price  <derek@ximbiot.com>
77723
77724         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
77725         for glob symlink bug.
77726
77727 2005-07-14  Bruno Haible  <bruno@clisp.org>
77728
77729         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
77730         Instead, test for *_unlocked function declarations directly.
77731
77732 2005-07-11  Simon Josefsson  <jas@extundo.com>
77733
77734         * modules/size_max: New file.
77735
77736         * modules/xsize: Depend on size_max module for size_max.m4.
77737
77738 2005-07-11  Simon Josefsson  <jas@extundo.com>
77739
77740         * lib/size_max.h: New file.
77741
77742 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
77743
77744         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
77745         copyright symbol and the year.
77746         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
77747         (version_etc_va): Use parameterized copyright notice.
77748         Reword to conform to the current GNU coding standards.
77749
77750 2005-07-11  Karl Berry  <karl@gnu.org>
77751
77752         * doc/gnulib.texi (Quoting): new node.
77753         (Initial import): more info, from Patrice.
77754
77755 2005-07-11  Bruno Haible  <bruno@clisp.org>
77756
77757         * gnulib-tool (func_usage): Document option --avoid.
77758         (Command line options): Handle --avoid.
77759         (func_acceptable): New function.
77760         (func_modules_transitive_closure): Use it.
77761
77762 2005-07-11  Bruno Haible  <bruno@clisp.org>
77763
77764         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
77765         Reported by Jim Meyering.
77766
77767 2005-07-10  Bruno Haible  <bruno@clisp.org>
77768
77769         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
77770         Needed when size_t is smaller than 'unsigned int'.
77771         Reported by Paul Eggert.
77772
77773 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77774
77775         * modules/argp (Depends-on): Add unlocked-io
77776
77777 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77778
77779         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
77780         block of defines.
77781
77782 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
77783
77784         * config/srclist.txt: Comment out regcomp.c, since we have a porting
77785         fix now.
77786
77787 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
77788         and Paul Eggert  <eggert@cs.ucla.edu>
77789
77790         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
77791         in wint_t, not wchar_t.  Remove now-unnecessary cast.
77792
77793 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
77794
77795         * modules/regex (Files): Add lib/regex_internal.c,
77796         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
77797         (Depends-on): Add extensions.
77798         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
77799
77800 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
77801
77802         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
77803         pathconf.
77804         * m4/same.m4 (gl_SAME): Likewise.
77805         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
77806
77807         * m4/regex.m4: Adjust to new libc regex implementation.
77808         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
77809         all the .c and .h parts of (the new) regex.
77810         Quote the m4 stuff better.
77811         Check for RE_ICASE bug of old gnulib.
77812         Check for REG_STARTEND of recent libc.
77813         Rename local variables from jm_* to gl_*.
77814         Quote operand of "test -f".
77815         Say "recent enough" version of libc, not "version 2".
77816         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
77817         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
77818         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
77819         Remove check for btowc, isascii.
77820         Require AM_LANGINFO_CODESET.
77821
77822 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
77823
77824         * lib/regex.c, regex.h: Sync from libc.
77825         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
77826         * lib/regexec.c:
77827         New files, synced from libc, except that regex_internal.h
77828         currently has a small porting fix.
77829
77830 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
77831
77832         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
77833         regex_internal.c, regexec.c.
77834         Add regex_internal.h too, but as a comment, since the libc version
77835         is currently broken in gnulib mode.
77836
77837 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
77838
77839         Support programs like Emacs that use gnulib but not gettext.
77840         * MODULES.html.sh (Internationalization functions): Add gettext-h.
77841         * modules/gettext-h: New file.
77842         * modules/gettext (Files): Remove lib/gettext.h.
77843         (Depends-on): Add gettext-h.
77844         (Makefile.am): Remove lib_SOURCES.
77845         * modules/argmatch, modules/c-stack, modules/closeout:
77846         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
77847         * modules/execute, modules/file-type, modules/getaddrinfo:
77848         * modules/getopt, modules/human, modules/javacomp:
77849         * modules/javaexec, modules/mkdir-p, modules/obstack:
77850         * modules/openat, modules/pagealign_alloc, modules/pipe:
77851         * modules/quotearg, modules/regex, modules/rpmatch:
77852         * modules/unicodeio, modules/userspec, modules/version-etc:
77853         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
77854         * modules/xsetenv:
77855         Depend on gettext-h, not gettext.
77856
77857 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
77858
77859         * gnulib-tool (func_import): Add support for 'public domain' license.
77860         * modules/alloca, modules/atexit, modules/memmove:
77861         Now public domain, not GPL.
77862         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
77863         * modules/realloc, modules/strerror, modules/strtod:
77864         Now LGPL, not GPL.
77865
77866 2005-07-05  Bruno Haible  <bruno@clisp.org>
77867
77868         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
77869         autoconf CVS. Needed for mingw.
77870
77871 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77872
77873         Remove the dependency of the strftime module on the tzset module.
77874         * modules/strftime (Depends-on): Remove dependency on tzset.
77875
77876 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77877
77878         Remove the dependency of the strftime module on the tzset module.
77879         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
77880         gl_FUNC_TZSET_CLOBBER.
77881
77882 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
77883
77884         Remove the dependency of the strftime module on the tzset module.
77885         * lib/strftime.c (my_strftime)
77886         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
77887         Copy the input structure, to work around some of the bug with
77888         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
77889         Solaris releases, you should also use the tzset module, but we won't
77890         require it as a dependency any more since we don't want LGPLed code
77891         to depend on GPLed code.
77892
77893 2005-07-02  Jim Meyering  <jim@meyering.net>
77894
77895         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
77896         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
77897         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
77898         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
77899
77900 2005-07-02  Jim Meyering  <jim@meyering.net>
77901
77902         * lib/backupfile.c (backup_args): Change a `0' to NULL.
77903
77904 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
77905
77906         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
77907         declares only 'struct timespec;' (!).
77908
77909 2005-07-01  Jim Meyering  <jim@meyering.net>
77910
77911         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
77912         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
77913         * lib/save-cwd.c, tempname.c:
77914         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
77915         and don't include <sys/file.h>).
77916
77917 2005-06-29  Jim Meyering  <jim@meyering.net>
77918
77919         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
77920         type name.  Use the variable name instead.
77921         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
77922         Likewise.
77923
77924 2005-06-28  Simon Josefsson  <jas@extundo.com>
77925
77926         * modules/check-version (Files): Add check-version.m4.
77927
77928 2005-06-28  Simon Josefsson  <jas@extundo.com>
77929
77930         * m4/check-version.m4: New file, suggested by Jim Meyering
77931         <jim@meyering.net>.
77932
77933 2005-06-28  Simon Josefsson  <jas@extundo.com>
77934
77935         * lib/check-version.h, lib/check-version.c: New files.
77936
77937 2005-06-28  Simon Josefsson  <jas@extundo.com>
77938
77939         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
77940         collision with global variable.  Better indentation.  Don't
77941         increment buffer pointer beyond buffer end.  Based on comments
77942         from Paul Eggert <eggert@cs.ucla.edu>.
77943
77944         * lib/base64.h: Indent.
77945
77946 2005-06-28  Simon Josefsson  <jas@extundo.com>
77947
77948         * doc/gnulib.texi (Library version handling): New section.
77949
77950 2005-06-28  Jim Meyering  <jim@meyering.net>
77951
77952         * check-module (find_included_lib_files): Hard-code another
77953         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
77954         but modules/fts-lgpl (correctly) does not list those files.
77955
77956         * modules/canonicalize (Files): Add lib/pathmax.h.
77957
77958 2005-06-25  Simon Josefsson  <jas@extundo.com>
77959
77960         * modules/check-version: New file.
77961
77962 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
77963
77964         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
77965         initializer of struct addrinfo, as an indication that we don't
77966         care how many members the structure has.
77967
77968 2005-06-24  Derek Price  <derek@ximbiot.com>
77969         and Bruno Haible  <bruno@clisp.org>
77970
77971         Remove stat module & update lstat.
77972         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
77973         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77974         * m4/stat.m4: Remove this file.
77975
77976 2005-06-24  Derek Price  <derek@ximbiot.com>
77977         and Bruno Haible  <bruno@clisp.org>
77978
77979         Remove stat module & update lstat.
77980         * lib/stat.c: Remove this file...
77981         (slash_aware_lstat): ...moving this content and its support...
77982         * lib/lstat.c (rpl_lstat): ...into here.
77983         * lib/lstat.h: New file.
77984
77985 2005-06-24  Derek Price  <derek@ximbiot.com>
77986         and Bruno Haible  <bruno@clisp.org>
77987
77988         Remove stat module & update lstat.
77989         * config/srclist.txt (libc sources): Remove stat.
77990
77991 2005-06-24  Derek Price  <derek@ximbiot.com>
77992         and Bruno Haible  <bruno@clisp.org>
77993
77994         Remove stat module & update lstat.
77995         * MODULES.html.sh (stat): Remove.
77996         * MODULES.html: Regenerated.
77997         * modules/lstat (Description): Correct function name.
77998         (Files): Add "lstat.h".
77999         (Depends-on): Remove stat, add xalloc, stat-macros.
78000         * modules/stat: Remove this file.
78001         (Include): Add "lstat.h", remove <sys/stat.h>.
78002
78003 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
78004
78005         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
78006         (ranged_convert): Don't save conversion in a temporary struct.
78007         This causes a warning with GCC 4.0.0, and anyway in the typical
78008         case it's not worth the extra 100 bytes or so of code.
78009         (ranged_convert, __mktime_internal): When calling a function via a
78010         pointer P, use P () rather than (*P) (), as we now assume C89 or
78011         better.
78012
78013 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78014
78015         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
78016         "who -r" failed to give output.  Problem reported by Tim Waugh.
78017
78018         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
78019         (xcalloc): Use it to avoid needless tests.
78020         Problem reported by Jim Meyering.
78021
78022 2005-06-20  Derek Price  <derek@ximbiot.com>
78023
78024         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
78025         unnecessary for Autoconfs > 2.59c.
78026
78027 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78028
78029         * lib/argp.h (__option_is_short): Check upper limit of
78030         __key. Isprint() requires its argument to have the value
78031         of an unsigned char or EOF.
78032
78033 2005-06-16  Jim Meyering  <jim@meyering.net>
78034
78035         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
78036         when either N or S is zero.
78037
78038 2005-06-16  Derek Price  <derek@ximbiot.com>
78039
78040         * m4/bison.m4: Declare YACC & YFLAGS precious.
78041
78042 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
78043
78044         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
78045         multibyte string or pattern, fall back on unibyte matching.
78046         Problem reported by James Youngman.
78047
78048 2005-06-08  Bruno Haible  <bruno@clisp.org>
78049
78050         * modules/csharpcomp: New file.
78051         * MODULES.html.sh (C#): Add csharpcomp.
78052
78053 2005-06-08  Bruno Haible  <bruno@clisp.org>
78054
78055         * m4/csharpcomp.m4: New file, from GNU gettext.
78056
78057 2005-06-08  Bruno Haible  <bruno@clisp.org>
78058
78059         * lib/csharpcomp.h: New file, from GNU gettext.
78060         * lib/csharpcomp.c: New file, from GNU gettext.
78061         * lib/csharpcomp.sh.in: New file, from GNU gettext.
78062
78063 2005-06-08  Bruno Haible  <bruno@clisp.org>
78064
78065         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
78066         warning on mingw.
78067
78068 2005-06-07  Derek Price  <derek@ximbiot.com>
78069
78070         Sync from CVS.
78071         * lib/glob_.h: Indent nested #ifdef.
78072
78073 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
78074
78075         Sync from coreutils.
78076         Use "file name" when talking about file names, instead of "filename"
78077         or "path", as per the GNU coding standards.
78078         * lib/mkdir-p.c: Renamed from makepath.c.
78079         (make_dir_parents): Renamed from make_path.  All callers changed.
78080         * lib/mkdir-p.h: Likewise.  All includers changed.
78081         * lib/filenamecat.c: Renamed from path-concat.c.
78082         (file_name_concat): Renamed from path_concat.  All callers changed.
78083         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
78084         * lib/filenamecat.h: Likewise.  All includers changed.
78085         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
78086         in comments or local variable names.
78087         * lib/basename.c: Likewise.
78088         * lib/canonicalize.c, canonicalize.h: Likewise.
78089         * lib/dirname.c, dirname.h: Likewise.
78090         * lib/euidaccess.c: Likewise.
78091         * lib/exclude.c: Likewise
78092         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
78093         * lib/fsusage.c, fsuage.h: Likewise.
78094         * lib/fts.c, fts_.h: Likewise.
78095         * lib/getcwd.c: Likewise.
78096         * lib/getloadavg.c: Likewise.
78097         * lib/mkstemp.c: Likewise.
78098         * lib/mountlist.c, mountlist.h: Likewise.
78099         * lib/openat.c, openat.h: Likewise.
78100         * lib/readlink-stub.c: Likewise.
78101         * lib/readutmp.c, readutmp.h: Likewise.
78102         * lib/rename.c: Likewise.
78103         * lib/rmdir.c: Likewise.
78104         * lib/same.c: Likewise.
78105         * lib/savedir.c: Likewise.
78106         * lib/stripslash.c: Likewise.
78107         * lib/tempname.c: Likewise.
78108         * lib/xreadlink.c: Likewise.
78109         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
78110         All uses changed.
78111         * lib/exclude.h: Likewise.
78112
78113         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
78114         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
78115         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
78116         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
78117         * lib/pathmax.h: Include <limits.h> unconditionally, since other
78118         files have been getting away with it for years (MORE/BSD 4.3
78119         is extinct now).
78120         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
78121         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
78122
78123         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
78124         Define to 256, not 255, as per modern POSIX.
78125
78126 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
78127
78128         Sync from coreutils.
78129         Use "file name" when talking about file names, instead of "filename"
78130         or "path", as per the GNU coding standards.
78131         * MODULES.html.sh: mkdir-p renamed from makepath.
78132         filenamecat renamed from path-concat.
78133         * modules/filenamecat: Renamed from modules/path-concat.
78134         (Files): filenamecat.h and filenamecat.c renamed from
78135         path-concat.h and path-concat.c.
78136         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
78137         (Include): filenamecat.h, not path-concat.h.
78138         * modules/mkdir-p: Renamed from modules/makepath.
78139         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
78140         makepath.c.
78141         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
78142         (Include): mkdir-p.h, not makepath.h.
78143
78144 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
78145
78146         Sync from coreutils.
78147         * m4/mkdir-p.m4: Renamed from makepath.m4.
78148         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
78149         Rename files from makepath.c to mkdir-p.c, and from
78150         makepath.h to mkdir-p.h.
78151         * m4/filenamecat.m4: Renamed from path-concat.m4.
78152         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
78153         Rename files from path-concat.c to filenamecat.c,
78154         and from path-concat.h to filenamecat.h.
78155         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
78156         "file name" in local variables or comments.
78157         * m4/rename.m4: Likewise.
78158
78159 2005-06-01  Bruno Haible  <bruno@clisp.org>
78160
78161         * modules/csharpexec: New file.
78162         * MODULES.html.sh (C#): New section.
78163
78164 2005-06-01  Bruno Haible  <bruno@clisp.org>
78165
78166         * m4/csharp.m4: New file, from GNU gettext.
78167         * m4/csharpexec.m4: New file, from GNU gettext.
78168
78169 2005-06-01  Bruno Haible  <bruno@clisp.org>
78170
78171         * lib/csharpexec.h: New file, from GNU gettext.
78172         * lib/csharpexec.c: New file, from GNU gettext.
78173         * lib/csharpexec.sh.in: New file, from GNU gettext.
78174
78175 2005-05-31  Derek Price  <derek@ximbiot.com>
78176             Paul Eggert  <eggert@cs.ucla.edu>
78177
78178         Sync from cvs.
78179         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
78180
78181 2005-05-31  Derek Price  <derek@ximbiot.com>
78182             Paul Eggert  <eggert@cs.ucla.edu>
78183
78184         Sync from cvs.
78185         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
78186
78187 2005-05-29  Derek Price  <derek@ximbiot.com>
78188
78189         * config/srclist.txt (glob_.h, glob.c): Add these files.
78190
78191 2005-05-29  Derek Price  <derek@ximbiot.com>
78192
78193         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
78194         * modules/glob: New file.
78195         * modules/getlogin_r: Add link to POSIX spec in description.
78196
78197 2005-05-29  Derek Price  <derek@ximbiot.com>
78198             Paul Eggert  <eggert@cs.ucla.edu>
78199
78200         * m4/glob.m4: New file.
78201
78202 2005-05-29  Derek Price  <derek@ximbiot.com>
78203             Paul Eggert  <eggert@cs.ucla.edu>
78204
78205         * lib/glob_.h, lib/glob.c: New files.
78206
78207 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
78208
78209         * modules/fts (Files): Remove m4/inttypes-pri.m4.
78210         * modules/fts-lgpl (Depends-on): Remove gettext.
78211
78212 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
78213
78214         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
78215         and don't require gt_INTTYPES_PRI.
78216
78217 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
78218
78219         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
78220
78221         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
78222         the configuration hassle isn't worth it.
78223         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
78224         (LONGEST_MODIFIER, PRIuMAX): Remove.
78225
78226 2005-05-27  Bruno Haible  <bruno@clisp.org>
78227
78228         * lib/getlogin_r.h: Remove second include of <stddef.h>.
78229
78230 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
78231
78232         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
78233         _POSIX_PTHREAD_SEMANTICS for Solaris.
78234
78235 2005-05-25  Derek Price  <derek@ximbiot.com>
78236
78237         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
78238
78239 2005-05-25  Derek Price  <derek@ximbiot.com>
78240             Paul Eggert  <eggert@cs.ucla.edu>
78241
78242         * modules/getlogin_r, m4/getlogin_r.m4: New files.
78243         * lib/getlogin_r.c, getlogin_r.h: New files.
78244
78245 2005-05-25  Bruno Haible  <bruno@clisp.org>
78246             Derek Price  <derek@ximbiot.com>
78247
78248         * lib/getlogin_r.h: Simplify API documentation.
78249
78250 2005-05-23  Derek Price  <derek@ximbiot.com>
78251
78252         * modules/minmax (Files): Add m4/minmax.m4.
78253         (configure.ac): Add gl_MINMAX.
78254
78255 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
78256
78257         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
78258         so that unistd-safer.h (GPL'ed code) need not be included.
78259
78260 2005-05-22  Bruno Haible  <bruno@clisp.org>
78261
78262         * m4/minmax.m4: New file.
78263         Based on a patch by Derek Price <derek@ximbiot.com>.
78264
78265 2005-05-22  Bruno Haible  <bruno@clisp.org>
78266
78267         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
78268         (INT64_MIN): Fix definition.
78269         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
78270
78271         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
78272         NEED_SIGNED_INT_TYPES.
78273
78274         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
78275         HAVE_SYSTEM_INTTYPES.
78276
78277 2005-05-22  Bruno Haible  <bruno@clisp.org>
78278
78279         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
78280         Also include <sys/param.h> if it defines MIN, MAX.
78281         Based on a patch by Derek Price <derek@ximbiot.com>.
78282
78283 2005-05-21  Jim Meyering  <jim@meyering.net>
78284
78285         * modules/fts (Files): Add m4/inttypes-pri.m4.
78286         (Depends-on): Add lstat and remove gettext.  Alphabetize.
78287
78288 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
78289
78290         New fts module.
78291         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
78292         (setup_dir, free_dir): New functions.
78293         (enter_dir, leave_dir): Define trivial
78294         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
78295         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
78296         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
78297         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
78298         Move to fts-cycle.c.
78299         (fts_open): Use setup_dir.
78300         (fts_close): Use free_dir.
78301         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
78302         This adds a label and some gotos, but the alternatives were messier.
78303         Check for memory allocation failure when entering a dir.
78304         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
78305         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
78306         (FTS): New member fts_cycle, that is a union that contains the
78307         old active_dir_ht and cycle_state.  All uses changed to mention
78308         fts_cycle.ht and fts_cycle.state.
78309         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
78310         fts.c, with the following changes:
78311         (setup_dir, free_dir): New functions.
78312         (enter_dir): Now returns bool.  Return true if successful, false
78313         if memory exhausted.  All callers changed.
78314         Do not bother partly cleaning up on
78315         memory allocation failure; that is free_dir's job.
78316         However, free ad if hash_insert fails, to avoid memory leak.
78317         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
78318         fts->fts_options to see which union member to use.
78319
78320 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
78321
78322         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
78323         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
78324
78325 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
78326
78327         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
78328
78329 2005-05-20  Jim Meyering  <jim@meyering.net>
78330
78331         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
78332         Now a macro, to pacify GCC.
78333
78334 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
78335
78336         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
78337         of -1.
78338
78339 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
78340
78341         * lib/chown.c (rpl_chown): Return -1 on failure.
78342
78343 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
78344
78345         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
78346         Don't check for stddef.h.
78347         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
78348         don't use its results.
78349         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
78350         since we include them unconditionally.  Don't require
78351         AM_STDBOOL_H, since stdbool is a prerequisite.
78352         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
78353         since we assume C89 or better.
78354         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
78355         as we don't use their results.
78356         Don't check for fchdir, memmove, memset, strrchr, as we use
78357         them unconditionally.
78358         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
78359         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
78360
78361 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
78362
78363         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
78364         Include <stddef.h> unconditionally, since we assume C89 now.
78365         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
78366         * lib/fts.c: Include fts_.h first, to check interface.
78367         Do not include intprops.h; no longer needed.
78368         Include cycle-check.h and hash.h, since fts_.h no longer does.
78369         Remove unnecessary casts of closedir to void.
78370         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
78371         decide whether to decrement nlinks.
78372         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
78373         (FTS): Use struct hash_table * instead of Hash_table, so that
78374         we no longer need to include hash.h here.
78375
78376 2005-05-18  Jim Meyering  <jim@meyering.net>
78377
78378         * modules/dirfd (License): Change to LGPL.  Most of the code
78379         is already in the public domain.
78380
78381 2005-05-18  Jim Meyering  <jim@meyering.net>
78382
78383         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
78384         Reported by Yoann Vandoorselaere.
78385
78386 2005-05-17  Jim Meyering  <jim@meyering.net>
78387
78388         * m4/fts.m4: New file, from coreutils.
78389
78390 2005-05-17  Jim Meyering  <jim@meyering.net>
78391
78392         * lib/fts.c, lib/fts_.h: New files, from coreutils.
78393
78394 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78395
78396         Sync from coreutils.
78397         * m4/unlinkdir.m4: New file.
78398
78399 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78400
78401         Sync from coreutils.
78402         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
78403         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
78404         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
78405         White space changes only.
78406         * lib/makepath.c (make_path): Port to hosts where leading "//" is
78407         special.
78408         * lib/yesno.c: Include getline.h, not ctype.h.
78409         (yesno): Don't remove leading white space; POSIX doesn't allow it.
78410         Use getline to remove arbitrary restriction on response length.
78411
78412 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
78413
78414         * config/srclist-update: Spell out "Street" in FSF postal
78415         mail address; this is the style the FSF seems to prefer.
78416
78417         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
78418         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
78419         this updates FSF postal mail address.
78420
78421         Sync from coreutils.
78422         * modules/unlinkdir: New file.
78423         * modules/yesno (Depends-on): Add getline.
78424         * MODULES.html.sh (File system functions): Add unlinkdir.
78425
78426 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
78427
78428         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
78429         lib/strsep.h:
78430         Change the initial comment to refer to GPL, not LGPL.
78431         gnulib-tool will change it to LGPL as needed.
78432
78433         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
78434         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
78435         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
78436         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
78437         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
78438         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
78439         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
78440         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
78441         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
78442         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
78443         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
78444         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
78445         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
78446         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
78447         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
78448         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
78449         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
78450         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
78451         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
78452         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
78453         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
78454         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
78455         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
78456         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
78457         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
78458         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
78459         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
78460         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
78461         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
78462         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
78463         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
78464         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
78465         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
78466         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
78467         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
78468         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
78469         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
78470         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
78471         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
78472         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
78473         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
78474         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
78475         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
78476         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
78477         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
78478         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
78479         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
78480         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
78481         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
78482         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
78483         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
78484         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
78485         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
78486         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
78487         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
78488         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
78489         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
78490         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
78491         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
78492         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
78493         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
78494         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
78495         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
78496         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
78497         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
78498         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
78499         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
78500         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
78501         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
78502         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
78503         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
78504         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
78505         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
78506         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
78507         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
78508         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
78509         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
78510         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
78511         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
78512         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
78513         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
78514         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
78515         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
78516         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
78517         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
78518         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
78519         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
78520         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
78521         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
78522         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
78523         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
78524         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
78525         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
78526         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
78527         lib/yesno.c, lib/yesno.h:
78528         Update FSF postal mail address.
78529
78530 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
78531
78532         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
78533         tests/test-memmem.c, tests/test-stpncpy.c:
78534         Update FSF postal mail address.
78535
78536 2005-05-13  Bruno Haible  <bruno@clisp.org>
78537
78538         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
78539         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
78540         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
78541         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
78542         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
78543         Add support for 64-bit integers in the MSVC compiler.
78544
78545 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
78546
78547         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
78548
78549 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
78550
78551         * gnulib-tool (func_import): Sort and uniquify recommended includes.
78552
78553 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
78554
78555         * doc/getdate.texi (General date syntax): Don't say that date
78556         date --iso-8601=ns generates acceptable dates; it doesn't yet.
78557         Problem reported by Nic Ferrier.
78558
78559 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78560
78561         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
78562         specified in ai_socktype. Fix invalid ai_protocol
78563         check. ai_protocol is usually set to 0 or depending on
78564         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
78565         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
78566         ai_socktype / ai_protocol in the returned addrinfo structure.
78567
78568 2005-05-10  Simon Josefsson  <jas@extundo.com>
78569
78570         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
78571         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
78572
78573 2005-05-10  Karl Berry  <karl@gnu.org>
78574
78575         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
78576         (from http://www.gnu.org/licenses).
78577         * doc/COPYING.LIB: also rename to COPYING.LESSER.
78578         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
78579         fdl.texi suffices.
78580
78581 2005-05-10  Karl Berry  <karl@gnu.org>
78582
78583         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
78584         (COPYING.DOC): remove.
78585
78586         * config/srclist-update: new FSF address.
78587
78588 2005-05-10  Derek Price  <derek@ximbiot.com>
78589
78590         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
78591         possible.
78592
78593 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78594             Bruno Haible  <bruno@clisp.org>
78595
78596         * modules/inet_ntop: New file.
78597         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
78598         inet_ntop.
78599
78600 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78601             Bruno Haible  <bruno@clisp.org>
78602
78603         * m4/inet_ntop.m4: New file.
78604
78605 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78606             Bruno Haible  <bruno@clisp.org>
78607
78608         * lib/inet_ntop.h: New file.
78609         * lib/inet_ntop.c: New file, from glibc with modifications.
78610
78611 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
78612
78613         * modules/time_r (License): Change to LGPL.
78614         * modules/extensions (License): Change to LGPL.  Actually,
78615         the license is more permissive than that, but currently gnulib-tool
78616         doesn't know how to handle more-permissive licenses.
78617
78618         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
78619         Problem reported by Dave Love.
78620
78621 2005-05-08  Jim Meyering  <jim@meyering.net>
78622
78623         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
78624         blank.
78625
78626 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
78627
78628         * modules/argmatch (Depends-on): Add stdbool.
78629         * modules/backupfile (Depends-on): Likewise.
78630         * modules/chdir-long (Depends-on): Likewise.
78631         * modules/closeout (Depends-on): Likewise.
78632         * modules/cycle-check (Depends-on): Likewise.
78633         * modules/dirname (Depends-on): Likewise.
78634         * modules/fnmatch (Depends-on): Likewise.
78635         * modules/fsusage (Depends-on): Likewise.
78636         * modules/fwriteerror (Depends-on): Likewise.
78637         * modules/getcwd (Depends-on): Likewise.
78638         * modules/getloadavg (Depends-on): Likewise.
78639         * modules/hard-locale (Depends-on): Likewise.
78640         * modules/makepath (Depends-on): Likewise.
78641         * modules/mountlist (Depends-on): Likewise.
78642         * modules/nanosleep (Depends-on): Likewise.
78643         * modules/posixtm (Depends-on): Likewise.
78644         * modules/quotearg (Depends-on): Likewise.
78645         * modules/readtokens (Depends-on): Likewise.
78646         * modules/readtokens0 (Depends-on): Likewise.
78647         * modules/readutmp (Depends-on): Likewise.
78648         * modules/save-cwd (Depends-on): Likewise.
78649         * modules/strftime (Depends-on): Likewise.
78650         * modules/userspec (Depends-on): Likewise.
78651         * modules/utimecmp (Depends-on): Likewise.
78652         * modules/xgetcwd (Depends-on): Likewise.
78653         * modules/xnanosleep (Depends-on): Likewise.
78654         * modules/xstrtod (Depends-on): Likewise.
78655         * modules/yesno (Depends-on): Likewise.
78656
78657 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
78658
78659         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
78660         needless checks.
78661
78662 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
78663
78664         Merge from coreutils.  Among other things,
78665         add bulletproofing for cases where stdin, stdout, or stderr are closed.
78666         * lib/fd-safer.c: New file.
78667         * lib/fcntl-safer.h, open-safer.c: Remove.
78668         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
78669         * lib/dup-safer.c: Include unistd-safer.h first.
78670         Don't include errno.h.
78671         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
78672         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
78673         * lib/file-type.c: Rely on file-type.h change.
78674         * lib/getloadavg.c: Include unistd-safer.h.
78675         (getloadavg): Use safer open.
78676         * lib/getusershell.c: Include "stdio-safer.h".
78677         (getusershell): Use safer fopen.
78678         * lib/long-options.c (long_options): Use NULL rather than 0.
78679         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
78680         'free'.
78681         * lib/modechange.c: Likewise.
78682         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
78683         (MODE_DONE): New constant.
78684         (struct mode_change): Remove 'next' member.
78685         (make_node_op_equals): New function; like the old one of the
78686         same name, except it allocates an array.
78687         (mode_compile, mode_create_from_ref): Use it.
78688         (mode_compile): Allocate result as an array, not a linked list.
78689         Parse octal string ourself, so that we catch mistakes like "+0".
78690         (mode_adjust): Arg is an array, not a linked list.
78691         * lib/modechange.c: Include stat-macros.h, xalloc.h.
78692         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
78693         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
78694         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
78695         Remove.  This is now stat-macros.h's job.
78696         (talloc): Remove.  All callers replaced by xalloc, so that
78697         our invokers don't have to worry about reporting memory failures.
78698         (make_node_op_equals): Remove.
78699         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
78700         New constants.
78701         (struct mode_change): Moved here from modechange.h.
78702         (mode_append_entry): Remove.
78703         (mode_compile): Remove MASKED_OPS arg, since it encouraged
78704         apps to have incorrect behavior.  Use simpler algorithm for head
78705         and tail.  Don't futz with umask; that's now the job of mode_adjust.
78706         Detect more invalid usages rather than having somewhat-random behavior.
78707         Don't insert an "a=" action, as that leads to incorrect behavior.
78708         (mode_compile, mode_create_from_ref): Return NULL on error instead
78709         of an enum, since now there's only one way to have an error.  All
78710         callers changed.
78711         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
78712         at the correct time.  Simplify calculation of "+u" and its ilk.
78713         Don't mishandle "+X".
78714         (mode_free): Remove "register" and localize decls.
78715         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
78716         (struct mode_change): Move to modechange.c; callers don't
78717         need to see this stuff.
78718         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
78719         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
78720         (mode_change, mode_adjust): Reflect the new signatures noted above.
78721         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
78722         that might redefine system include files.
78723         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
78724         (my_usleep): Use NULL rather than (void *) 0.
78725         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
78726         Use siginterrupt to specify that system calls should be interrupted.
78727         (rpl_nanosleep): Move initialization of suspended closer to call of
78728         my_usleep.
78729         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
78730         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
78731         (desirable_utmp_entry): New function.
78732         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
78733         using x2nrealloc, to simplify logic.
78734         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
78735         size calculation.  Do not assume utmp file is a regular file.
78736         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
78737         (READ_UTMP_CHECK_PIDS): New constant.
78738         * lib/save-cwd.c: Include unistd-safer.h.
78739         (save_cwd): Use fd_safer.
78740         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
78741         [!_LIBC] Include "stat-macros.h" instead.
78742         * lib/unistd-safer.h (fd_safer): New decl.
78743
78744 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
78745
78746         * modules/getloadavg (Depends-on): Add unistd-safer.
78747         * modules/getusershell (Depends-on): Add stdio-safer.
78748         * modules/lstat (Depends-on): Remove xalloc.
78749         * modules/mkstemp (Depends-on): Add stat-macros.
78750         * modules/modechange (Depends-on): Remove xstrtol.
78751         Add stat-macros, xalloc.
78752         * modules/save-cwd (Depends-on): Add unistd-safer.
78753         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
78754         * modules/unistd-safer (Files): Add lib/fd-safer.c
78755         (Makefile.am): Remove lib_SOURCES.
78756
78757         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
78758         Remove fcntl-safer; unistd-safer supersedes it.
78759
78760 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
78761
78762         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
78763         AC_HEADER_STAT.
78764         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
78765         (gl_PREREQ_CHOWN): Remove.
78766         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
78767         it.  Don't require AC_HEADER_STAT.
78768         (gl_PREREQ_LSTAT): Remove.
78769         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
78770         Don't require AC_HEADER_STAT.
78771         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
78772         (gl_PREREQ_RMDIR): Remove.
78773         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
78774         mention stat-macros.h or AC_HEADER_STAT, since we'll make
78775         the stat-macros module a prerequisite.
78776         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
78777         * m4/filemode.m4 (gl_FILEMODE): Likewise.
78778         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
78779         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
78780         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
78781         variable names.
78782         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
78783         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
78784         variable prefixes.
78785         * m4/fcntl-safer.m4: Remove.
78786         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
78787         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
78788         Invoke gl_PREREQ_FD_SAFER.
78789         (gl_PREREQ_FD_SAFER): New macro.
78790         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
78791         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
78792         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
78793         Remove duplicate call to AC_LIBOBJ(readutmp).
78794         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
78795
78796         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
78797         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
78798
78799 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
78800
78801         * MODULES.html.sh (Misc): Add byteswap.
78802
78803 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
78804
78805         * modules/getcwd (Depends-on): Add extensions.
78806         * modules/openat (Depends-on): Likewise.
78807
78808 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
78809
78810         * modules/byteswap: New file.
78811
78812 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
78813
78814         * m4/byteswap.m4: New file.
78815
78816 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
78817
78818         * lib/byteswap_.h: New file.
78819
78820 2005-04-25  Karl Berry  <karl@gnu.org>
78821
78822         * m4/gettext.m4: Update from GNU gettext 0.14.4.
78823
78824 2005-04-25  Albert Chin  <china@thewrittenword.com>
78825
78826         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
78827         Toolkit C bug.
78828
78829 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
78830
78831         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
78832         (func_ln_if_changed): Remove forcibly for no error message
78833         in case file does not exist.
78834
78835 2005-04-19  Simon Josefsson  <jas@extundo.com>
78836
78837         * gnulib-tool (Options): Make --symlink mean --symbolic.
78838
78839 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
78840
78841         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
78842
78843 2005-04-16  Simon Josefsson  <jas@extundo.com>
78844
78845         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
78846
78847 2005-04-15  Simon Josefsson  <jas@extundo.com>
78848
78849         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
78850
78851 2005-04-15  Simon Josefsson  <jas@extundo.com>
78852
78853         * gnulib-tool: Rename --symlink to --symbolic.
78854
78855 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
78856
78857         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
78858         symbolic links to files instead of copying/moving.  Add --aux-dir,
78859         specifying directory relative --dir where auxiliary build tools
78860         are placed.
78861
78862 2005-04-14  Bruno Haible  <bruno@clisp.org>
78863
78864         * modules/allocsa (License): Change to LGPL.
78865         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
78866
78867 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
78868
78869         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
78870         that "UTC +1 second" continues to work.  Problem reported
78871         by Dmitry V. Levin.
78872         (relunit_snumber): New rule.
78873         (relunit): Use it.
78874
78875 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
78876
78877         * lib/getdate.y (universal_time_zone_table): New constant.
78878         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
78879         universal_time_zone_table.
78880         (lookup_zone): Prefer universal_time_zone_table to
78881         local_time_zone_table, so that "GMT" time stamps are allowed in
78882         London during the summer.  Problem reported by Ian Abbott.
78883
78884 2005-04-12  Jim Meyering  <jim@meyering.net>
78885
78886         * lib/human.c (humblock): Set *options even when returning due to
78887         xstrtoumax conversion failure.  Thanks to a used-uninitialized
78888         warning from gcc-4.
78889
78890 2005-04-09  Jim Meyering  <jim@meyering.net>
78891
78892         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
78893         -Wuninitialized: initialize tm0.tm_year.
78894
78895 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
78896
78897         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
78898         count, since there's no maximum.  All uses changed.
78899         Add member dsts_seen.
78900         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
78901         not being INT_MAX.
78902         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
78903         Use pc_rels_seen to decide whther a date is absolute.
78904
78905         * lib/getdate.y (number): Don't overwrite year.
78906         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
78907         check.
78908
78909 2005-04-02  Simon Josefsson  <jas@extundo.com>
78910
78911         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
78912         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
78913
78914 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
78915
78916         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
78917         where no absolute path name can be longer than PATH_MAX.
78918
78919 2005-03-27  Jim Meyering  <jim@meyering.net>
78920
78921         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
78922
78923 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
78924
78925         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
78926         "one's complement" -> "ones' complement" in comment, as per Knuth.
78927         "value of type" -> "type or expression" in comment.
78928         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
78929
78930 2005-03-26  Jim Meyering  <jim@meyering.net>
78931
78932         Comment nits.
78933         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
78934         Correct typos: s/or/of/.
78935
78936 2005-03-26  Jim Meyering  <jim@meyering.net>
78937
78938         * modules/check-include-files: Move to ../ and rename to...
78939         * check-module: ...this.
78940
78941 2005-03-25  Jim Meyering  <jim@meyering.net>
78942
78943         * modules/xvasprintf (Files): Add xalloc.h.
78944
78945 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
78946
78947         * modules/gettext (Files): config/config.rpath ->
78948         build-aux/config.rpath
78949         * modules/iconv (Files): Likewise.
78950         Problem reported by Oskar Liljeblad.
78951
78952 2005-03-23  Jim Meyering  <jim@meyering.net>
78953
78954         * modules/check-include-files: New script to check for
78955         missing dependencies, multiple includes, etc.
78956
78957         * modules/c-strtold (Depends-on): Add xalloc.
78958         * modules/c-strtod (Depends-on): Add xalloc.
78959         * modules/hash (Depends-on): Add xalloc.
78960         (Files): Remove lib/xalloc.h.
78961
78962         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
78963         * modules/userspec (Files): Add lib/inttostr.h.
78964
78965 2005-03-23  Jim Meyering  <jim@meyering.net>
78966
78967         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
78968
78969 2005-03-22  Jim Meyering  <jim@meyering.net>
78970
78971         * modules/stat-macros: New module.
78972         * modules/canonicalize, modules/euidaccess, modules/file-type,
78973         * modules/filemode, modules/lchown, modules/makepath,
78974         * modules/rmdir, modules/stat: Depend on new stat-macros module
78975         rather than listing lib/stat-macros.h manually.
78976         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
78977
78978 2005-03-22  Jim Meyering  <jim@meyering.net>
78979
78980         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
78981
78982 2005-03-22  Bruno Haible  <bruno@clisp.org>
78983
78984         * config/srclist.txt: Replace target directory 'config' with
78985         'build-aux'.
78986         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
78987         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
78988         ../build-aux/.
78989
78990 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
78991
78992         * modules/chdir-long (Depends-on): Add mempcpy.
78993
78994         * modules/acl, modules/backupfile, modules/c-strtod,
78995         modules/c-strtold, modules/canon-host, modules/canonicalize,
78996         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
78997         modules/exclude, modules/exitfail, modules/file-type,
78998         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
78999         modules/getdate, modules/getline, modules/getpagesize,
79000         modules/getpass, modules/getugroups, modules/group-member,
79001         modules/hard-locale, modules/hash, modules/human, modules/idcache,
79002         modules/inttostr, modules/long-options, modules/makepath,
79003         modules/md5, modules/memcasecmp, modules/memcoll,
79004         modules/modechange, modules/mountlist, modules/path-concat,
79005         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
79006         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
79007         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
79008         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
79009         modules/strftime, modules/strndup, modules/strverscmp,
79010         modules/timespec, modules/unlocked-io, modules/userspec,
79011         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
79012         modules/yesno:
79013         Remove lib_SOURCES line from Makefile.am section, as this is now
79014         done automatically by the corresponding Autoconf macro.
79015
79016 2005-03-21  Jim Meyering  <jim@meyering.net>
79017
79018         Changes imported from coreutils.
79019
79020         * lib/cycle-check.c: Don't include xalloc.h.
79021
79022         * lib/path-concat.c: Don't include assert.h.
79023         (path_concat): Remove assertion that would have triggered
79024         for ABASE starting with more than one slash.
79025         Reported by Andreas Schwab.
79026
79027         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
79028         properly when ABASE is an absolute file name.
79029         Correct the description of this function.
79030         Include <assert.h>.
79031         Add an assertion and a test driver.
79032         This fixes a bug introduced on 2004-07-02.
79033         Andreas Schwab reported the resulting failure of cp --parents:
79034         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
79035
79036 2005-03-21  Jim Meyering  <jim@meyering.net>
79037
79038         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
79039         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
79040
79041 2005-03-21  Jim Meyering  <jim@meyering.net>
79042         and  Paul Eggert  <eggert@cs.ucla.edu>
79043
79044         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
79045         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
79046         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
79047         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
79048         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
79049         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
79050         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
79051         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
79052         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
79053         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
79054         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
79055         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
79056         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
79057         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
79058         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
79059         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
79060         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
79061         for these modules.
79062
79063 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
79064
79065         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
79066         (which shouldn't happen), generate nothing instead of returning 0
79067         immediately, so that nstrftime (NULL, ...) doesn't return 0.
79068
79069 2005-03-16  Bruno Haible  <bruno@clisp.org>
79070
79071         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
79072         HAVE_LONGLONG_64BIT.
79073
79074 2005-03-16  Bruno Haible  <bruno@clisp.org>
79075
79076         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
79077         HAVE_LONGLONG_64BIT.
79078
79079 2005-03-16  Bruno Haible  <bruno@clisp.org>
79080
79081         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
79082         HAVE_LONGLONG_64BIT.
79083
79084 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
79085
79086         * lib/strftime.c (my_strftime): Prepend space to format so that we can
79087         reliably distinguish strftime failure from empty output on POSIX
79088         hosts.
79089
79090 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
79091
79092         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
79093         (iconv_string): Don't guess a size-zero buffer, as that might cause
79094         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
79095         result would be 'too large', where 'too large' is (heuristically)
79096         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
79097         overflow concerns.  This will prevent some unwanted malloc failures
79098         when the inputs are very large.
79099
79100 2005-03-15  Karl Berry  <karl@gnu.org>
79101
79102         * config/srclist.txt (config.rpath): from gettext.
79103         * config/config.rpath: update.
79104
79105 2005-03-15  Bruno Haible  <bruno@clisp.org>
79106
79107         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
79108         to 'negate'.
79109
79110         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
79111         variable.
79112
79113         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
79114         results.
79115
79116 2005-03-14  Simon Josefsson  <jas@extundo.com>
79117
79118         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
79119         <fx@gnu.org>.
79120
79121 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
79122
79123         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
79124         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
79125         intprops.h.
79126         * lib/strtol.c: Likewise.
79127
79128 2005-03-14  Jim Meyering  <jim@meyering.net>
79129
79130         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
79131         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
79132         to be nonzero so that we (and caller) can detect the difference
79133         between a valid zero-length expansion and an error return, even
79134         when the underlying strftime fails before writing anything into
79135         that location.
79136
79137 2005-03-14  Bruno Haible  <bruno@clisp.org>
79138
79139         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
79140         Update from GNU gettext 0.14.3.
79141
79142 2005-03-10  Jim Meyering  <jim@meyering.net>
79143
79144         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
79145
79146 2005-03-10  Jim Meyering  <jim@meyering.net>
79147
79148         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
79149         so that this module works on systems without fchdir.
79150
79151 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
79152
79153         Factor int-properties macros into a single file, except for
79154         glibc-related files.
79155         * lib/intprops.h: New file.
79156         * lib/getloadavg.c: Include it instead of limits.h.
79157         (INT_STRLEN_BOUND): Remove.
79158         * lib/human.c: Include intprops.h.
79159         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
79160         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
79161         302/1000.
79162         * lib/inttostr.h: Include intprops.h instead of limits.h.
79163         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
79164         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
79165         for consistency with intprops.h.
79166         (time_t_is_integer, twos_complement_arithmetic): Use them.
79167         * lib/sig2str.h: Include <signal.h>, intprops.h.
79168         (INT_STRLEN_BOUND): Remove.
79169         * lib/strftime.c (TYPE_SIGNED): Remove.
79170         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
79171         * lib/strtol.c: Adjust comments to match intprops.h.
79172         * lib/userspec.c: Include intprops.h.
79173         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
79174         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
79175         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
79176         instead of rolling our own expressions.
79177         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
79178
79179         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
79180         instead of int.
79181         (my_strftime): Do not mishandle years close to INT_MAX, by doing
79182         the right thing even if adding 1900 would overflow.  Similarly
79183         for tm_mon + 1 and tm_yday + 1.
79184         Make %Y always equivalent to %C%y, and similarly for %G and %g.
79185         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
79186         (DO_SIGNED_NUMBER): New macro.
79187         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
79188
79189 2005-03-07  Bruno Haible  <bruno@clisp.org>
79190
79191         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
79192
79193 2005-03-07  Bruno Haible  <bruno@clisp.org>
79194
79195         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
79196
79197 2005-03-04  Derek R. Price  <derek@ximbiot.com>
79198
79199         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
79200         (func_import): Only replace files via --import when they have actually
79201         changed.
79202
79203 2005-03-03  Derek R. Price  <derek@ximbiot.com>
79204
79205         * m4/mmap-anon.m4: New file.
79206         * m4/pagealign_alloc.m4: New file.
79207
79208 2005-03-03  Derek R. Price  <derek@ximbiot.com>
79209             Bruno Haible  <bruno@clisp.org>
79210
79211         * modules/pagealign_alloc: New file.
79212         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
79213
79214 2005-03-03  Derek R. Price  <derek@ximbiot.com>
79215             Bruno Haible  <bruno@clisp.org>
79216
79217         * lib/pagealign_alloc.h: New file.
79218         * lib/pagealign_alloc.c: New file.
79219
79220 2005-03-03  Bruno Haible  <bruno@clisp.org>
79221
79222         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
79223         Use an all-permissive copyright notice, recommended by RMS.
79224
79225 2005-03-02  Bruno Haible  <bruno@clisp.org>
79226
79227         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
79228         of AIX, the replacement has to be done only after <string.h> is
79229         included, therefore not in config.h. stpncpy.h does the replacement,
79230         and stpncpy.c uses it.
79231
79232 2005-03-02  Bruno Haible  <bruno@clisp.org>
79233
79234         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
79235         stpncpy.c uses it.
79236
79237 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79238
79239         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
79240         The workaround isn't strictly needed for POSIX conformance, and
79241         it's too much of a pain to configure and maintain.  We'll ask
79242         people to fix their kernels instead.
79243         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
79244         (NANOSLEEP_BUG_WORKAROUND): Remove.
79245         (xnanosleep): Remove the workaround.
79246
79247 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79248
79249         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
79250         Reported by Derek Price.
79251         (Include): Add "timespec.h".
79252
79253         * modules/xnanosleep (Depends-on): Remove gethrxtime.
79254
79255 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79256
79257         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
79258         to detect nanosleep bug.
79259
79260 2005-03-01  Bruno Haible  <bruno@clisp.org>
79261
79262         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
79263
79264 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
79265
79266         * modules/gethrxtime: New file.
79267         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
79268         (Depends-on): Add gethrxtime.
79269         (configure.ac): Add gl_XNANOSLEEP.
79270         (Makefile.am): Remove lib_SOURCES line.
79271
79272 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
79273
79274         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
79275         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
79276
79277 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
79278
79279         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
79280         * lib/timespec.h (gettime): Return void, since it always
79281         succeeds now.  All uses changed.
79282         * lib/gettime.c (gettime): Likewise.
79283         [HAVE_NANOTIME]: Prefer nanotime.
79284         Assume gettimeofday succeeds, as POSIX requires.
79285         Assime time () succeeds, since other code already does.
79286         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
79287         (timespec_subtract): Remove.
79288         (NANOSLEEP_BUG_WORKAROUND): New constant.
79289         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
79290         things considerably.  Use it only on GNU/Linux hosts, since the
79291         workaround shouldn't be needed elsewhere.
79292
79293 2005-02-24  Bruno Haible  <bruno@clisp.org>
79294
79295         * modules/gettext (Files): Add m4/glibc2.m4.
79296
79297 2005-02-24  Bruno Haible  <bruno@clisp.org>
79298
79299         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
79300         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
79301         * m4/progtest.m4:
79302         Update from GNU gettext 0.14.2.
79303         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
79304
79305 2005-02-24  Bruno Haible  <bruno@clisp.org>
79306
79307         * lib/localcharset.c: Update from GNU gettext 0.14.2.
79308         * lib/config.charset: Update from GNU gettext 0.14.2.
79309
79310 2005-02-24  Bruno Haible  <bruno@clisp.org>
79311
79312         * lib/gettext.h: Update from GNU gettext 0.14.2.
79313
79314 2005-02-23  Simon Josefsson  <jas@extundo.com>
79315
79316         * m4/iconvme.m4: New file.
79317
79318 2005-02-23  Jim Meyering  <jim@meyering.net>
79319
79320         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
79321         change.
79322         Thanks to Bruno Haible for catching it.
79323
79324 2005-02-22  Simon Josefsson  <jas@extundo.com>
79325
79326         * modules/iconvme: New file.
79327
79328         * MODULES.html.sh: Add iconvme.
79329
79330 2005-02-22  Simon Josefsson  <jas@extundo.com>
79331
79332         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
79333
79334 2005-02-22  Simon Josefsson  <jas@extundo.com>
79335
79336         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
79337
79338 2005-02-22  Jim Meyering  <jim@meyering.net>
79339
79340         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
79341         s/ifndef/ifdef/.
79342
79343 2005-02-20  Neil Conway  <neilc@samurai.com>
79344
79345         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
79346         returned by OSX/Darwin if the specified buffer is not large
79347         enough for the hostname.
79348
79349 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79350
79351         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
79352         pass it to _help, otherwise the latter coredumps trying to
79353         dereference state.root_argp.
79354
79355 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
79356
79357         * modules/chdir-long (Depends-on): Add memrchr.
79358         * modules/memrchr (Files): Add lib/memrchr.h.
79359         (Include): "memrchr.h".
79360
79361 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
79362
79363         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
79364
79365 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
79366
79367         * lib/memrchr.h: New file.
79368         * lib/chdir-long.c: Include it.
79369         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
79370         Don't bother including stddef.h.
79371
79372 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
79373
79374         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
79375         inclusion.
79376         Include <sys/types.h>, for dev_t.
79377         (ME_DUMMY, ME_REMOTE): Move from here....
79378         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
79379         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
79380         Dmitry V. Levin.
79381         Include mountlist.h first, to test the interface.
79382
79383 2005-01-29  Bruno Haible  <bruno@clisp.org>
79384
79385         * lib/progname.c (program_name): Initialize.
79386         Needed when linking statically on MacOS X.
79387
79388 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
79389
79390         Sync from coreutils.
79391         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
79392         (Depends-on): Add c-strtod.
79393         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
79394
79395 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
79396
79397         Sync from coreutils.
79398         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
79399
79400         Remove files that are specific to coreutils.
79401         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
79402
79403 2005-01-28  Bruno Haible  <bruno@clisp.org>
79404
79405         * modules/javacomp: New file.
79406         * MODULES.html.sh (Java): Add javacomp.
79407
79408 2005-01-28  Bruno Haible  <bruno@clisp.org>
79409
79410         * m4/javacomp.m4: New file, from GNU gettext.
79411
79412 2005-01-28  Bruno Haible  <bruno@clisp.org>
79413
79414         * lib/javacomp.sh.in: New file, from GNU gettext.
79415         * lib/javacomp.h: New file, from GNU gettext.
79416         * lib/javacomp.c: New file, from GNU gettext.
79417
79418 2005-01-26  Simon Josefsson  <jas@extundo.com>
79419
79420         * lib/gai_strerror.c: Use GPL in header.
79421
79422 2005-01-26  Bruno Haible  <bruno@clisp.org>
79423
79424         * modules/javaexec: New file.
79425         * MODULES.html.sh (Java): Add javaexec.
79426
79427 2005-01-26  Bruno Haible  <bruno@clisp.org>
79428
79429         * m4/javaexec.m4: New file, from GNU gettext.
79430
79431 2005-01-26  Bruno Haible  <bruno@clisp.org>
79432
79433         * lib/javaexec.sh.in: New file, from GNU gettext.
79434         * lib/javaexec.h: New file, from GNU gettext.
79435         * lib/javaexec.c: New file, from GNU gettext.
79436
79437 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79438
79439         * modules/lchown (Depends-on): Remove lchown.h
79440
79441 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79442
79443         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
79444         must be defined if the header file was not found, in order
79445         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
79446
79447 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79448
79449         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
79450         initializers for struct pentry_state.
79451         (__argp_error): Check return value of __asprintf
79452         (__argp_failure): Translate error message
79453
79454         * lib/argp-parse.c: Removed braces around the expansion of N_()
79455
79456 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
79457
79458         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
79459         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
79460         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
79461         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
79462         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
79463         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
79464         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
79465         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
79466         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
79467         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
79468         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
79469         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
79470         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
79471         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
79472         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
79473         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
79474         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
79475         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
79476         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
79477         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
79478         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
79479         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
79480         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
79481         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
79482         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
79483         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
79484         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
79485         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
79486         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
79487         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
79488         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
79489         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
79490         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
79491         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
79492         xstrtol.m4, xstrtoumax.m4, yesno.m4:
79493         Use an all-permissive copyright notice, recommended by RMS.
79494
79495 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
79496
79497         * modules/chdir-long (Depends-on): Remove mempcpy.
79498
79499 2005-01-21  Jim Meyering  <jim@meyering.net>
79500
79501         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
79502         same value as for Solaris 9.
79503
79504         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
79505         component length.  This included changing the parameter to be
79506         of type `char *' rather than `char const *'.
79507         * lib/chdir-long.h (chdir_long): Update prototype.
79508
79509         * lib/openat.c (fdopendir, fstatat): New functions.
79510         * lib/openat.h: Include headers required for use of DIR and struct
79511         stat.
79512         [AT_SYMLINK_NOFOLLOW]: Define.
79513         (fdopendir, fstatat): Add prototypes.
79514
79515 2005-01-21  Bruno Haible  <bruno@clisp.org>
79516
79517         * modules/classpath: New file.
79518         * MODULES.html.sh (Java): Add classpath.
79519
79520 2005-01-21  Bruno Haible  <bruno@clisp.org>
79521
79522         * lib/classpath.h: New file, from GNU gettext.
79523         * lib/classpath.c: New file, from GNU gettext.
79524
79525 2005-01-20  Simon Josefsson  <jas@extundo.com>
79526
79527         * modules/version-etc-fsf: New file.
79528
79529 2005-01-20  Simon Josefsson  <jas@extundo.com>
79530
79531         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
79532         * lib/version-etc.c: Remove version_etc_copyright.
79533         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
79534         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
79535
79536 2005-01-20  Simon Josefsson  <jas@extundo.com>
79537
79538         * lib/base64.h (isbase64): Add.
79539
79540         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
79541         using a unsigned prototype, don't inline.
79542         (base64_decode): Use it.
79543
79544 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
79545
79546         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
79547         it.
79548
79549 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
79550
79551         * lib/save-cwd.c (save_cwd): Remove code to support the case
79552         where fchdir is missing or flaky.
79553
79554 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
79555
79556         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
79557
79558 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
79559
79560         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
79561         AC_LIBSOURCES now does this.
79562         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
79563         with new ullong_max module.
79564
79565 2005-01-19  Bruno Haible  <bruno@clisp.org>
79566
79567         * modules/sh-quote: New file.
79568         * MODULES.html.sh (Executing programs): Add sh-quote.
79569
79570 2005-01-19  Bruno Haible  <bruno@clisp.org>
79571
79572         * lib/sh-quote.h: New file, from GNU gettext.
79573         * lib/sh-quote.c: New file, from GNU gettext.
79574
79575 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
79576
79577         Merge from coreutils.
79578         * m4/ullong_max.m4: New file.
79579         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
79580         (gl_MACROS): Assume localeconv exists.
79581
79582 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
79583
79584         Merge changes from coreutils, as described below in several
79585         changelogs dated today.
79586
79587         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
79588         (O_DIRECTORY): Remove; not needed here, since "." must be
79589         a directory.  All uses removed.
79590         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
79591         universal on Suns, and we also need to test for IRIX.
79592         Revamp code to use 'if' rather than '#if'.
79593         Avoid unnecessary comparison of cwd->desc to 0.
79594
79595         * lib/utimens.c (futimens): Robustify the previous patch, by checking
79596         for known valid error numbers rather than observed invalid ones.
79597
79598 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
79599
79600         * modules/ullong_max: New file.
79601
79602         * modules/chdir-long, modules/openat: New files.
79603         * modules/save-cwd (Depends-on): Depend on chdir-long.
79604         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
79605
79606 2005-01-18  Jim Meyering  <jim@meyering.net>
79607
79608         Merge from coreutils.
79609         * m4/chdir-long.m4, m4/openat.m4: New files.
79610         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
79611         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
79612         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
79613         is sane and DOES follow symlinks.  Besides, testing 20 different
79614         systems found no broken chown implementations.
79615         Prompted by a change in rsync's copy of this macro.
79616         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
79617
79618         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
79619
79620         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
79621         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
79622         NULL-means-set-to-current-time semantics.
79623         Remove temporary file immediately, rather than waiting
79624         for configure's at-exit trap code to do it.
79625
79626 2005-01-18  Jim Meyering  <jim@meyering.net>
79627
79628         * lib/version-etc.c (version_etc_copyright): Update copyright date.
79629
79630         * lib/utimens.c (futimens): Account for the fact that futimes
79631         can also fail with errno == ENOSYS or errno == ENOENT.
79632         Patch from Dmitry V. Levin.
79633
79634         Change the name of the robust chdir function from chdir to chdir_long.
79635         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
79636         (restore_cwd): Use chdir_long, not chdir.
79637         * lib/chdir-long.c: Renamed from chdir.c.
79638         * lib/chdir-long.h: Renamed from chdir.h.
79639         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
79640         Hurd.
79641
79642 2005-01-18  Bruno Haible  <bruno@clisp.org>
79643
79644         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
79645         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
79646         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
79647         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
79648         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
79649         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
79650         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
79651         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
79652         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
79653         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
79654         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
79655         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
79656         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
79657         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
79658         Use an all-permissive copyright notice, recommended by RMS.
79659
79660 2005-01-18  Bob Proulx  <bob@proulx.com>
79661
79662         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
79663         simplify offsetof() macro construct to avoid compile failure with
79664         native HP-UX 11.0 ANSI C compiler.
79665
79666 2005-01-17  Bruno Haible  <bruno@clisp.org>
79667
79668         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
79669         redundant because stpncpy.m4 takes care of it.
79670
79671 2005-01-17  Bruno Haible  <bruno@clisp.org>
79672
79673         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
79674
79675 2005-01-17  Bruno Haible  <bruno@clisp.org>
79676
79677         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
79678         used.
79679
79680 2005-01-17  Bruno Haible  <bruno@clisp.org>
79681
79682         * lib/fwriteerror.h (fwriteerror): Change specification to include
79683         fclose.
79684         * lib/fwriteerror.c: Include <stdbool.h>.
79685         (fwriteerror): At the end, close the file stream. Record whether
79686         stdout was already closed.
79687
79688 2005-01-17  Bruno Haible  <bruno@clisp.org>
79689
79690         * lib/execute.c (environ): Declare if needed.
79691         * lib/pipe.c (environ): Likewise.
79692         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
79693
79694 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79695
79696         * modules/argp: Depend on vsnprintf
79697
79698 2005-01-10  Jim Meyering  <jim@meyering.net>
79699
79700         * modules/closeout (Depends-on): Add atexit.
79701
79702 2005-01-06  Bruno Haible  <bruno@clisp.org>
79703
79704         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
79705
79706 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
79707
79708         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
79709         definitions to be after all include files, to avoid collisions.
79710         Problem reported by Bob Proulx.
79711
79712 2005-01-04  Jim Meyering  <jim@meyering.net>
79713
79714         Changes imported from coreutils.
79715         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
79716         as the mkstemp template, use a temporary directory and an
79717         8.3-friendly template to avoid trouble on systems like DJGPP.
79718         Reported by Juan M. Guerrero via Stepan Kasal.
79719         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
79720         close. Remove the temporary directory right away, rather than waiting
79721         for configure's at-exit trap code to do it.
79722         Suggestion from Stepan Kasal.
79723
79724 2005-01-01  Simon Josefsson  <jas@extundo.com>
79725
79726         * gnulib-tool: Print #include directives when --import'ing.
79727
79728 2004-12-28  Simon Josefsson  <jas@extundo.com>
79729
79730         * tests/test-base64.c: Include required header files.  Remove
79731         unused variables.
79732
79733 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
79734
79735         * modules/error (Depends-on): Remove gettext.
79736
79737 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
79738
79739         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
79740         not needed.  This removes a dependency on the gettext module.
79741         [defined _LIBC]: Do not include <libintl.h>; not needed.
79742
79743 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
79744
79745         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
79746         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
79747
79748 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
79749
79750         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
79751         HAVE_DECL_STRTOLD.
79752
79753 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
79754
79755         * modules/getdate (Depends-on): Remove alloca-opt.
79756
79757 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
79758
79759         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
79760
79761 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
79762
79763         * lib/argp-parse.c: Include <stddef.h>.
79764         (alignof, alignto): New macros.
79765         (parser_init): Don't assume that void * is aligned sufficiently
79766         for struct option.
79767
79768         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
79769         need to extend the stack.
79770         (YYINITDEPTH): New macro, so that the initial stack isn't overly
79771         large.
79772
79773 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
79774
79775         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
79776
79777 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
79778
79779         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
79780         (2004-10-24) change.  Apparently this was a false alarm.
79781
79782         * modules/getdate: Depend on alloca-opt, not alloca.
79783
79784 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
79785
79786         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
79787         Remove now-obsolete comment about AIX.
79788         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
79789         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
79790         (YYMAXDEPTH): New macro.
79791
79792 2004-12-18  Simon Josefsson  <jas@extundo.com>
79793
79794         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
79795
79796 2004-12-18  Bruno Haible  <bruno@clisp.org>
79797
79798         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
79799
79800 2004-12-18  Bruno Haible  <bruno@clisp.org>
79801
79802         * lib/fatal-signal.c (fatal_signals): Make non-const.
79803         (init_fatal_signals): New function.
79804         (uninstall_handlers, install_handlers): Ignore signals that were set to
79805         SIG_IGN.
79806         (at_fatal_signal): Call init_fatal_signals.
79807         (init_fatal_signal_set): Likewise. Ignore signals that were set to
79808         SIG_IGN.
79809         Reported by Paul Eggert.
79810
79811 2004-12-18  Bruno Haible  <bruno@clisp.org>
79812
79813         * doc/alloca.texi: New file.
79814         * doc/alloca-opt.texi: New file.
79815
79816 2004-12-17  Jim Meyering  <jim@meyering.net>
79817
79818         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
79819         Otherwise, install-sh could exit with improper exit status when
79820         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
79821
79822 2004-12-16  Simon Josefsson  <jas@extundo.com>
79823
79824         * tests/test-base64.c: Add license.
79825
79826 2004-12-15  Stepan Kasal  <address@hidden>
79827
79828         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
79829
79830 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
79831
79832         * modules/getcwd (Files): Add m4/d-ino.m4.
79833         Suggested by Mark D. Baushke.
79834
79835 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
79836
79837         * lib/getdate.y (textint): New member "negative".
79838         (time_zone_hhmm): New function.
79839         Expect 14 shift-reduce conflicts, not 13.
79840         (o_colon_minutes): New rule.
79841         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
79842         (yylex): Set the "negative" member of signed numbers.
79843
79844 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
79845
79846         * doc/getdate.texi (Time of day items, Time zone items):
79847         Describe new formats +00:00, UTC+00:00.
79848
79849 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
79850
79851         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
79852         spurious "-l"s.  Problem reported by Stepan Kasal.
79853
79854 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
79855
79856         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
79857         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
79858
79859 2004-12-04  Simon Josefsson  <jas@extundo.com>
79860
79861         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
79862         Vandoorselaere <yoann@prelude-ids.org>.
79863
79864 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
79865
79866         Changes imported from coreutils.
79867         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
79868         exist.
79869         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
79870
79871 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
79872
79873         Changes imported from coreutils.
79874         * lib/hard-locale.c: Assume <locale.h> exists.
79875         Include "strdup.h".
79876         (GLIBC_VERSION): New macro.
79877         (hard_locale): Assume setlocale exists.
79878         Rewrite to avoid #ifdef.
79879         Use strdup rather than malloc + strcpy.
79880         * lib/human.c: Assume <locale.h> exists.
79881         (human_readable): Assume localeconv exists.
79882
79883 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
79884
79885         * modules/hard-locale (Depends-on): Add strdup.
79886
79887 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
79888
79889         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
79890         convert T2, not T.  (Imported from libc.)
79891
79892 2004-11-30  Simon Josefsson  <jas@extundo.com>
79893
79894         * modules/restrict (License): Change to LGPL.
79895
79896 2004-11-30  Simon Josefsson  <jas@extundo.com>
79897
79898         * m4/restrict.m4: Add copyright and copying conditions.
79899
79900 2004-11-30  Simon Josefsson  <jas@extundo.com>
79901
79902         * m4/base64.m4: New file.
79903
79904 2004-11-30  Simon Josefsson  <jas@extundo.com>
79905
79906         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
79907         base64.
79908
79909         * tests/test-base64.c: New file.
79910
79911         * modules/base64: New file.
79912
79913 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
79914
79915         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
79916         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
79917
79918         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
79919
79920 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
79921
79922         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
79923         (__getcwd.c): Don't restore errno; glibc doesn't.
79924         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
79925         first, falling back to our code only if its results look suspicious.
79926         Ensure that the resulting buffer is only as large as necessary.
79927
79928         * lib/readutmp.c: Include readutmp.h first.
79929         Include <errno.h>, since readutmp.h no longer does that.
79930         * lib/readutmp.h: Don't include <errno.h>,
79931         <sys/param.h>, <time.h>; not needed to establish interface.
79932         (errno): Remove decl.
79933         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
79934         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
79935         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
79936
79937 2004-11-28  Simon Josefsson  <jas@extundo.com>
79938
79939         * lib/base64.h, base64.c: New file.
79940
79941 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
79942
79943         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
79944
79945 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
79946
79947         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
79948         (Depends-on): Remove pathmax, same.  Add mempcpy.
79949         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
79950         (Makefile.am): Append getcwd.h to lib_SOURCES.
79951         (Include): Add getcwd.h.
79952         (Maintainer): Change from Jim Meyering to "all, glibc",
79953         since getdate now uses intended-for-glibc code.
79954         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
79955         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
79956
79957 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
79958
79959         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
79960         HP's ANSI C compiler.
79961         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
79962         Declaring int functions causes warnings on some modern systems and
79963         shouldn't be needed to compile on ancient ones.
79964         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
79965         defined.
79966
79967         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
79968         with the following changes.
79969         (__set_errno): Parenthesize properly.
79970         Include <stdbool.h>.
79971         (MIN, MAX, MATCHING_INO): New macros.
79972         (__getcwd): Define with prototype, not K&R form.
79973         Use heuristics to allocate default buffer on stack if possible.
79974         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
79975         behavior, and to avoid the PATH_MAX limit when computing
79976         ../../../../...
79977         Use MATCHING_INO to compare inode number to file.
79978         Check for arithmetic overflow in size calculations.
79979         Fix bug in reallocation of dot array that caused getcwd to fail
79980         on directories nested deeper than 75.
79981         Be more careful about saving errno on error.
79982         Do not use realloc; use only free+malloc, as this is a bit
79983         more flexible and avoids a needless copy operation.
79984         Do not inspect st_dev and st_ino for symbolic links; POSIX
79985         doesn't specify the latter.
79986         Check for closedir errors.
79987         Avoid needless casts.
79988         Use "#ifdef weak_alias" around weak_alias, to be like other
79989         glibc code.
79990         The following changes to getcwd.c have effect only when used in
79991         gnulib; they have no effect inside glibc proper.
79992         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
79993         as alloca isn't used.
79994         (alloca, __alloca): Likewise.
79995         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
79996         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
79997         unconditionally, as gnulib assumes C89 or better.
79998         Do not include <sys/param.h>.
79999         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
80000         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
80001         better.
80002         (NULL) [!defined NULL]: Remove; we assume C89 or better.
80003         Include <dirent.h> in a way that is compatible with modern Autoconf.
80004         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
80005         New macros, if not already defined.
80006         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
80007         Use "_LIBC", not "defined _LIBC", for consistency.
80008         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
80009         a mempcpy module.
80010         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
80011         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
80012         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
80013         credit only to Jim Meyering and adjust the copyright dates.
80014         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
80015         <stdlib.h>, <unistd.h>, "pathmax.h".
80016         Instead, include "xgetcwd.h" (first) and "getcwd.h".
80017         (INITIAL_BUFFER_SIZE): Remove.
80018         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
80019
80020 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80021
80022         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
80023         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
80024         Use the _ONCE methods, for efficiency.
80025         Check for fcntl.h.  In test program, include <errno.h>
80026         and <fcntl.h> if available.  Remove old K&R cruft from
80027         test program.  Check for common errors in GNU/Linux,
80028         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
80029         don't do AC_LIBOBJ, as that's getcwd.m4's job.
80030         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
80031         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
80032         name accordingly.
80033         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
80034         accommodate new getcwd.c.
80035         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
80036         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
80037         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
80038         that's all we need now.
80039
80040 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80041
80042         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
80043         argp-parse.c depends on getopt internals, that means we should
80044         always use our getopt, to be on the safe side.
80045         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
80046         order not to spoil the result of an eventual previous invocation
80047         of gl_GETOPT_SUBSTITUTE.
80048
80049 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80050
80051         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
80052         redefinition warnings. To avoid them, include the defines
80053         in `#if !defined __need_getopt ... #endif'. The only place
80054         where __getopt_argv_const is used is in definitions
80055         of getopt_long and getopt_long_only below, which are as well
80056         protected by `#ifndef __need_getopt'.
80057         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
80058         __need_getopt after including <stdio.h> and <unistd.h> These
80059         headers might have defined it.
80060
80061 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
80062
80063         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
80064
80065 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
80066
80067         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
80068         (futimens): New function, which uses futimes if available.
80069         (futimens, utimens): Support timespec==NULL, with same semantics
80070         as utime and utimens.
80071         * lib/utimens.h (futimens): New decl.
80072
80073 2004-11-23  Jim Meyering  <jim@meyering.net>
80074
80075         * lib/getopt_.h: Remove trailing blanks.
80076
80077 2004-11-23  Jim Meyering  <jim@meyering.net>
80078
80079         * lib/__fpending.c: Add comment.
80080
80081 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
80082
80083         * modules/canonicalize (Depends-on): Add xreadlink.
80084         Problem reported by James Youngman.
80085
80086 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
80087
80088         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
80089         New macros.
80090         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
80091         optopt): Use them instead of invoking ## directly; otherwise, the
80092         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
80093
80094 2004-11-19  Bruno Haible  <bruno@clisp.org>
80095
80096         * lib/strtok_r.c: Move comments from here...
80097         * lib/strtok_r.h: ... to here.
80098
80099 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
80100
80101         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
80102         implementations that mishandle size_t overflow.
80103
80104 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
80105
80106         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
80107         might fail.  Problem reported by Yoann Vandoorselaere.
80108         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
80109         implementations that mishandle size_t overflow.
80110
80111 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80112
80113         * modules/canon-host (Depends-on): Add strdup.
80114
80115 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80116
80117         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
80118
80119 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80120
80121         * lib/canon-host.c: Include "strdup.h".
80122         (canon_host): Use getaddrinfo if available, so that IPv6 works.
80123         Use strdup instead of malloc/strcpy to duplicate strings.
80124
80125         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
80126         (human_space_before_unit): New constant.
80127         * lib/human.c (human_readable): Support it.
80128
80129         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
80130         (xgetcwd): Set errno correctly when failing.
80131         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
80132         the failure is actually due to a PATH_MAX problem.
80133
80134         Further getopt changes to make it more likely that glibc will
80135         buy the changes back.
80136         * lib/getopt.c (POSIXLY_CORRECT): New constant.
80137         (getopt): Use it, so to preserve glibc semantic
80138         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
80139         when compiling for libc.
80140         * lib/getopt_.h (__getopt_argv_const): Bring it back.
80141         (getopt_long, getopt_long_only): Use it.
80142
80143         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
80144         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
80145         (getopt): Argv is now char * const *, as per standard.
80146         (_getopt_internal_r, _getopt_internal): Argv is now char **,
80147         not char *__getopt_argv_const *.
80148         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
80149         _getopt_long_only_r): Likewise.
80150         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
80151         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
80152         _getopt_long_r, _getopt_long_only_r): Likewise.
80153         * lib/getopt_.h (__getopt_argv_const): Remove.
80154         (getopt): Argv is now char * const *, as per standard.
80155
80156         * lib/getdate.y (tORDINAL): New token.
80157         (day, relunit): Allow it for relative times.
80158         (relative_time_table): Use tORDINAL for ordinals.
80159
80160 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
80161
80162         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
80163         Document that "second" isn't allowed as an ordinal number.
80164
80165 2004-11-16  Jim Meyering  <jim@meyering.net>
80166
80167         * modules/closeout (Depends-on): Add fpending.
80168
80169 2004-11-15  Jim Meyering  <jim@meyering.net>
80170
80171         * lib/closeout.c: Include "__fpending.h" once again.
80172         Include <stdbool.h>.
80173         (close_stdout): Don't fail just because stdout was closed initially,
80174         since some programs don't write to stdout in the normal course of
80175         operation (other than --version and --help), and we don't want this
80176         function to make e.g. `touch file >&-' fail.
80177         But do fail if it was closed and someone has tried to write to it.
80178         E.g., `printf foo >&-' must fail.
80179
80180 2004-11-13  Jim Meyering  <jim@meyering.net>
80181
80182         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
80183
80184 2004-11-12  Simon Josefsson  <jas@extundo.com>
80185
80186         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
80187         small doc fix is still pending.
80188
80189 2004-11-11  Simon Josefsson  <jas@extundo.com>
80190
80191         * modules/strtok_r: New file.
80192
80193         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80194         strtok_r.
80195
80196 2004-11-11  Simon Josefsson  <jas@extundo.com>
80197
80198         * m4/strtok_r.m4: New file.
80199
80200         * m4/getopt.m4: Replace opterr.
80201
80202 2004-11-11  Simon Josefsson  <jas@extundo.com>
80203
80204         * lib/strtok_r.h, strtok_r.c: New file.
80205
80206 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
80207
80208         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
80209         of replacing opterr, getopt, etc.  This should handle the
80210         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
80211
80212 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
80213
80214         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
80215         we can stop lying to compilers about the constness of argv when we
80216         are compiled outside glibc.
80217         (getopt, getopt_long, getopt_long_only): Use it.
80218         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
80219         _getopt_internal, getopt): Likewise.
80220         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
80221         _getopt_long_only_r): Likewise.
80222         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
80223         _getopt_long_r, _getopt_long_only_r): Likewise.
80224
80225         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
80226         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
80227         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
80228         the other external symbols.
80229         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
80230         declaration, since the above renaming now works around collisions.
80231
80232 2004-11-11  Jim Meyering  <jim@meyering.net>
80233
80234         * lib/linebreak.c: Remove trailing blanks.
80235         * lib/alloca_.h: Likewise.
80236         * lib/acosl.c: Likewise.
80237         * lib/euidaccess.c: Likewise.
80238         * lib/allocsa.h: Likewise.
80239
80240 2004-11-10  Simon Josefsson  <jas@extundo.com>
80241
80242         * m4/getaddrinfo.m4: New file.
80243
80244 2004-11-10  Simon Josefsson  <jas@extundo.com>
80245
80246         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
80247
80248 2004-11-10  Simon Josefsson  <jas@extundo.com>
80249
80250         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80251         getaddrinfo.
80252
80253         * modules/getaddrinfo: New file.
80254
80255 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80256
80257         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
80258
80259 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
80260
80261         * lib/mktime.c (SHR): New macro, which is a portable
80262         substitute for >> that should work even on Crays.
80263         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
80264         Problem reported by Mark D. Baushke in
80265         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
80266         * lib/getdate.y (SHR): Likewise.
80267         (tm_diff): Use it.
80268         * lib/strftime.c (SHR): Likewise.
80269         (tm_diff): Use it.
80270         * lib/quotearg.c (struct quoting_options): Use unsigned int for
80271         quote_these_too, so that right shifts are well defined.  All uses
80272         changed.
80273
80274 2004-11-10  Jim Meyering  <jim@meyering.net>
80275
80276         Ensure that no close failure goes unreported.
80277         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
80278         return early when it seems there's nothing to flush.
80279         Don't include __fpending.h.
80280
80281 2004-11-10  Jim Meyering  <jim@meyering.net>
80282
80283         * modules/closeout (Depends-on): Remove fpending.
80284
80285 2004-11-10  Jim Meyering  <jim@meyering.net>
80286
80287         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
80288
80289 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
80290
80291         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
80292         gl_FUNC_STRFTIME.
80293         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
80294         and AC_REQUIRE when possible, to avoid duplicate checks.
80295         Check for <wchar.h>.
80296
80297 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
80298
80299         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
80300
80301 2004-11-09  Bruno Haible  <bruno@clisp.org>
80302
80303         * m4/sockpfaf.m4: New file.
80304
80305 2004-11-05  Bruno Haible  <bruno@clisp.org>
80306
80307         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
80308         Reported by Mark D. Baushke <mdb@cvshome.org>.
80309
80310 2004-11-04  Bruno Haible  <bruno@clisp.org>
80311
80312         2004-09-11  Bruno Haible  <bruno@clisp.org>
80313                 * allocsa.valgrind: New file.
80314         2004-02-06  Bruno Haible  <bruno@clisp.org>
80315                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
80316                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
80317                 Reported by Christopher Seip <chris.seip@hp.com>.
80318
80319 2004-11-04  Bruno Haible  <bruno@clisp.org>
80320
80321         * modules/allocsa (Files): Add lib/allocsa.valgrind.
80322         (Makefile.am): Distribute it.
80323
80324 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
80325
80326         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
80327         with errno == ERANGE if the buffer is too small.
80328         Problem reported by Mark D. Baushke.
80329
80330 2004-11-03  Albert Chin  <china@thewrittenword.com>
80331             Paul Eggert  <eggert@cs.ucla.edu>
80332
80333         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
80334         equivalent, substitute $ac_type for equivalent type rather than
80335         blindly using uint32_t *always* which won't work if uint32_t is not
80336         available.  Define _UINT32_T to work around typedef of uint32_t if
80337         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
80338         2.5.1.
80339
80340 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
80341
80342         * m4/jm-macros.m4: Sync from coreutils.
80343         (gl_MACROS): Check for mbrlen, for pathchk.
80344         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
80345
80346 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
80347
80348         * lib/xreadlink.c (MAXSIZE): New macro.
80349         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
80350         size does not exceed MAXSIZE.  Avoid cast.
80351         As suggested by Mark D. Baushke in
80352         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
80353         if readlink fails with buffer size just under MAXSIZE, try again
80354         with MAXSIZE.
80355
80356 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
80357
80358         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
80359
80360 2004-11-02  Derek R. Price  <derek@ximbiot.com>
80361         and  Paul Eggert  <eggert@cs.ucla.edu>
80362
80363         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
80364         (get_date): Overparenthesize to avoid GCC warning.
80365
80366 2004-11-02  Bruno Haible  <bruno@clisp.org>
80367
80368         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
80369         returns void.
80370
80371 2004-11-02  Bruno Haible  <bruno@clisp.org>
80372
80373         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
80374         function returns void.
80375
80376 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
80377
80378         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
80379         fflush_unlocked, flockfile, funlockfile, funlockfile,
80380         fputs_unlocked, putc_unlocked.
80381
80382 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
80383
80384         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
80385         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
80386         already declared.
80387
80388 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80389
80390         * modules/getdate (Files): Add doc/getdate.texi.
80391         (Depends-on): Add setenv, xalloc.
80392
80393 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80394
80395         * lib/getdate.y: Add support for TZ="foo" within a date string.
80396         Fix some bugs near time_t boundaries.  Reject dates with
80397         out-of-range components, e.g., "Sept 31".
80398         Include <stdlib.h>, "setenv.h", "xalloc.h".
80399         (ISDIGIT_LOCALE): Remove; unused.
80400         Note that the TZ and time functions used here are not reentrant.
80401         (mktime_ok, get_tz): New functions.
80402         (TZBUFSIZE): New constant.
80403         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
80404         This requires that we sometimes generate our own TZ="XXX..." setting.
80405
80406 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
80407
80408         * doc/getdate.texi: New file, from coreutils with modifications for
80409         the new TZ parsing.
80410
80411 2004-10-27  Derek R. Price  <derek@ximbiot.com>
80412
80413         * lib/mktime.c (not_equal_tm): Remove redundant check.
80414
80415 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
80416
80417         * modules/regex (lib_SOURCES): Add regex.c.
80418         Reported by James Youngman in
80419         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
80420
80421 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
80422
80423         * lib/getdate.y: Use Bison 1.875 features, and some minor
80424         code cleanups.  This change does not affect semantics.
80425         Don't include <stdlib.h>; no longer needed.
80426         Don't include unlocked-io.h; only the "#if TEST" code uses
80427         stdio, and performance isn't crucial there.
80428         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
80429         Bison 1.875 features as described below.
80430         All uses of "PC." replaced by "pc->".
80431         (YYSTYPE): Add a forward declaration.
80432         (yylex, yyerror): Use full prototypes in forward decls.
80433         Use "%pure-parser" rather than obsolescent "%pure_parser".
80434         Use %parse-param and %lex-param instead of obsolescent
80435         YYPARSE_PARAM and YYLEX_PARAM.
80436         (meridian_table, month_and_day_table, time_units_table,
80437         relative_time_table, time_zone_table, military_table,
80438         lookup_zone, lookup_word, get_date):
80439         Use NULL instead of 0 where appropriate.
80440         (to_hour): Avoid abort (), to avoid a dependency on
80441         stdlib.h.
80442         (yyerror, yylex): Now accepts parser_control * arg.
80443         (main) [TEST]: Use '\0' rather than 0 for char.
80444
80445 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
80446
80447         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
80448
80449 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
80450
80451         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
80452         It's now the caller's responsibility to handle the case where
80453         !HAVE_GETPAGESIZE && !defined getpagesize.
80454
80455         * lib/mktime.c (leapyear): Arg is long int, not int.
80456
80457 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
80458
80459         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
80460
80461 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
80462
80463         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
80464         missing.  Problem reported by James Youngman.
80465
80466 2004-10-16  Simon Josefsson  <jas@extundo.com>
80467
80468         * gnulib-tool: Fix comments.  Fix parse problem.
80469         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
80470
80471 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
80472
80473         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
80474         implementation of getopt_long.  Problem reported by Alexander Taler in:
80475         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
80476
80477 2004-10-15  Bruno Haible  <bruno@clisp.org>
80478
80479         * gnulib-tool: Untabify. Initialize supplied_libname.
80480         (func_usage): More homogenous output.
80481         (func_modules_transitive_closure, func_modules_to_filelist,
80482         func_emit_lib_Makefile_am): New functions.
80483         (func_import): New function, extracted from big case statement. Use
80484         func_get_license, func_modules_transitive_closure,
80485         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
80486         opt_lgpl. Don't use test -a, as it's not portable.
80487         (func_create_testdir): Use func_modules_transitive_closure,
80488         func_modules_to_filelist, func_emit_lib_Makefile_am.
80489
80490 2004-10-15  Bruno Haible  <bruno@clisp.org>
80491
80492         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
80493
80494 2004-10-15  Bruno Haible  <bruno@clisp.org>
80495
80496         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
80497         the portions belonging to each module.
80498         Suggested by Derek Robert Price <derek@ximbiot.com>.
80499
80500 2004-10-12  Simon Josefsson  <jas@extundo.com>
80501
80502         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
80503         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
80504         to real functions.
80505
80506 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
80507
80508         * modules/vsnprintf: New file.
80509
80510 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
80511
80512         * m4/vsnprintf.m4: New file.
80513
80514 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
80515
80516         * lib/vsnprintf.h: New file.
80517         * lib/vsnprintf.c: New file.
80518
80519 2004-10-11  Bruno Haible  <bruno@clisp.org>
80520
80521         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
80522         vsnprintf.
80523
80524 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
80525
80526         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
80527
80528 2004-10-07  Bruno Haible  <bruno@clisp.org>
80529
80530         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
80531         fits into the provided buffer.
80532
80533 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
80534
80535         * lib/diacrit.c, diacrit.h: Add GPL notice.
80536
80537         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
80538         notice.
80539         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
80540         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
80541         This avoids a potential constant-folding bug.
80542
80543 2004-10-05  Bruno Haible  <bruno@clisp.org>
80544
80545         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
80546         for the declaration of strsep.
80547
80548 2004-10-05  Bruno Haible  <bruno@clisp.org>
80549
80550         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
80551
80552 2004-10-04  Simon Josefsson  <jas@extundo.com>
80553
80554         * modules/memmem: New file.
80555         * tests/test-memmem.c: New file.
80556         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
80557
80558 2004-10-04  Simon Josefsson  <jas@extundo.com>
80559
80560         * m4/memmem.m4: New file.
80561
80562 2004-10-04  Simon Josefsson  <jas@extundo.com>
80563
80564         * lib/memmem.h: New file.
80565         * lib/memmem.c: New file, taken from glibc.
80566
80567 2004-10-04  Simon Josefsson  <jas@extundo.com>
80568
80569         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
80570         '#ifdef USE_UNLOCKED_IO'.
80571
80572 2004-10-04  Simon Josefsson  <jas@extundo.com>
80573
80574         * config/srclist.txt: Add memmem from glibc.
80575
80576 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
80577
80578         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
80579
80580         * modules/argmatch, modules/argp, modules/closeout, modules/error,
80581         modules/exclude, modules/getdate, modules/getline,
80582         modules/getndelim2, modules/getpass, modules/getpass-gnu,
80583         modules/getusershell, modules/linebuffer, modules/md5,
80584         modules/mountlist, modules/posixtm, modules/readtokens,
80585         modules/readutmp, modules/regex, modules/sha1,
80586         modules/version-etc, modules/yesno:
80587         Remove dependency on unlocked-io.
80588
80589 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
80590
80591         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
80592
80593         * m4/unlocked-io.m4: Add copyright notice.
80594         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
80595
80596 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
80597
80598         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
80599         * lib/xmalloc.c (xmemdup): Likewise.
80600         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
80601         XFREE): Remove these long-obsolescent macros.
80602         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
80603         * lib/xstrdup.c: Remove.
80604
80605         * lib/regex.c (re_comp): Cast gettext return value to char *,
80606         Problem reported by Martin Neitzel via Mark D. Baushke.
80607
80608 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
80609
80610         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
80611         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
80612         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
80613         regex.c, sha1.c, version-etc.c, yesno.c:
80614         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
80615         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
80616         the includer's responsibility.
80617
80618         Sync from coreutils.
80619
80620         * lib/modechange.c (mode_compile): Don't decrement a pointer that
80621         points to the start of a string, as the C Standard says the
80622         resulting behavior is undefined.
80623
80624         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
80625         simple -> simple_backups, numbered_existing ->
80626         numbered_existing_backups, numbered -> numbered_backups
80627         to avoid shadowing problems.  All uses changed.
80628         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
80629         * lib/backupfile.c (check_extension, numbered_backup):
80630         Rename locals to avoid shadowing 'basename'.
80631         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
80632         once.
80633
80634         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
80635         * lib/.cvsignore: Add getopt.h.
80636
80637 2004-10-04  Bruno Haible  <bruno@clisp.org>
80638
80639         * modules/README: New file.
80640         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
80641         not a module.
80642
80643 2004-10-02  Jim Meyering  <jim@meyering.net>
80644
80645         * lib/dirfd.h, getpagesize.h: Add copyright notice.
80646
80647 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
80648
80649         * modules/strsep: New file.
80650
80651 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
80652
80653         * m4/strsep.m4: New file.
80654
80655 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
80656
80657         * lib/strsep.h: New file.
80658         * lib/strsep.c: New file.
80659
80660 2004-10-01  Simon Josefsson  <jas@extundo.com>
80661
80662         * lib/snprintf.c (snprintf): Handle size==0.
80663
80664 2004-10-01  Simon Josefsson  <jas@extundo.com>
80665             Bruno Haible  <bruno@clisp.org>
80666
80667         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
80668         (snprintf): Declare 'args'.
80669
80670 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
80671
80672         * lib/snprintf.c: Remove comments as to why each header is needed.
80673
80674 2004-10-01  Bruno Haible  <bruno@clisp.org>
80675
80676         * MODULES.html.sh: Add strsep.
80677
80678 2004-09-30  Simon Josefsson  <jas@extundo.com>
80679
80680         * modules/snprintf: New file.
80681
80682 2004-09-30  Simon Josefsson  <jas@extundo.com>
80683
80684         * m4/snprintf.m4: New file.
80685
80686 2004-09-30  Simon Josefsson  <jas@extundo.com>
80687
80688         * lib/snprintf.h, lib/snprintf.c: New files.
80689
80690 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80691
80692         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
80693         (hol_entry_help): Never translate an empty string.
80694         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
80695         * lib/argp.h (OPTION_NO_TRANS): New option.
80696
80697 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
80698
80699         * modules/argp (Maintainer): Replace Simon Josefsson
80700         by Sergey Poznyakoff.
80701
80702 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
80703
80704         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
80705         changes merged back into glibc.
80706
80707 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
80708
80709         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
80710
80711 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
80712
80713         * lib/xvasprintf.c: Include xalloc.h.
80714         (xvasprintf): Use xalloc_die, not xmalloc_die.
80715
80716 2004-09-29  Bruno Haible  <bruno@clisp.org>
80717
80718         * modules/alloca-opt: New file, derived from modules/alloca.
80719         * modules/allocsa: Depend on alloca-opt instead of alloca.
80720         * modules/setenv: Likewise.
80721         * modules/vasnprintf: Likewise.
80722         * MODULES.html.sh: Add alloca-opt.
80723
80724 2004-09-28  Simon Josefsson  <jas@extundo.com>
80725
80726         * gnulib-tool: New parameter --lgpl, to asseert that modules are
80727         LGPL, and to replace license template from GPL to LGPL.
80728
80729 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
80730
80731         * modules/dummy: Change license to LGPL.
80732
80733 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
80734
80735         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
80736
80737 2004-09-24  Simon Josefsson  <jas@extundo.com>
80738
80739         * modules/minmax (License): Change from GPL to LGPL.
80740
80741 2004-09-23  Simon Josefsson  <jas@extundo.com>
80742
80743         * gnulib-tool (--import): Typo.
80744
80745 2004-09-23  Simon Josefsson  <jas@extundo.com>
80746
80747         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
80748
80749 2004-09-22  Bruno Haible  <bruno@clisp.org>
80750
80751         * modules/*: Add 'License' field.
80752         * gnulib-tool: Accept --extract-license option.
80753         (func_get_license): New function.
80754
80755 2004-09-21  Bruno Haible  <bruno@clisp.org>
80756
80757         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
80758         Reported by Simon Josefsson.
80759
80760 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
80761
80762         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
80763         gl_AC_TYPE_LONG_LONG.
80764
80765 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
80766
80767         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
80768
80769 2004-09-18  Simon Josefsson  <jas@extundo.com>
80770         and  Paul Eggert  <eggert@cs.ucla.edu>
80771
80772         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
80773         calls with autoreconf.  Define GL_LIB.
80774
80775 2004-09-14  Karl Berry  <karl@gnu.org>
80776
80777         * config/srclist.txt: unsync setenv.c, sigh.
80778
80779 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
80780
80781         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
80782         Problem reported by Bruno Haible in:
80783         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
80784
80785 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
80786
80787         * config/srclist.txt: Comment out argp-pvh.c.
80788
80789 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
80790
80791         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
80792         in case some system header has #define'd it.  Problem reported by
80793         Soeren D. Schulze in
80794         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
80795
80796 2004-09-09  Karl Berry  <karl@gnu.org>
80797
80798         * regex.[ch]: delete from the root.  These were supposed to be
80799                 synced with emacs cvs, but this has not happened for about
80800                 a year, and anyway nothing else uses emacs regex.[ch].
80801                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
80802                 lib/regex[.ch] is untouched.
80803
80804 2004-09-09  Bruno Haible  <bruno@clisp.org>
80805
80806         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
80807
80808 2004-09-09  Bruno Haible  <bruno@clisp.org>
80809
80810         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
80811         modifications.
80812         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
80813
80814 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
80815
80816         * modules/xvasprintf: New file.
80817         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
80818
80819 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
80820
80821         * lib/xvasprintf.h: New file.
80822         * lib/xvasprintf.c: New file.
80823         * lib/xasprintf.c: New file.
80824
80825 2004-09-08  Bruno Haible  <bruno@clisp.org>
80826
80827         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
80828
80829 2004-09-08  Bruno Haible  <bruno@clisp.org>
80830
80831         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
80832         length is > INT_MAX.
80833         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
80834         more.
80835
80836 2004-09-08  Bruno Haible  <bruno@clisp.org>
80837
80838         * lib/stdint_.h: New file, taken from GNU clisp.
80839
80840 2004-09-08  Bruno Haible  <bruno@clisp.org>
80841             Oskar Liljeblad  <oskar@osk.mine.nu>
80842
80843         * modules/stdint: New file.
80844         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
80845
80846 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80847
80848         Import from coreutils.
80849         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
80850         strings on unbounded length.  alloca's performance benefits aren't
80851         that important here.
80852         (V_STRDUP): Remove.
80853         (parse_with_separator): New function, with most of the internals
80854         of the old parse_user_spec.  Allow user to omit both user and group,
80855         for compatibility with FreeBSD.
80856         Clone only the user name, not the entire spec.
80857         Do not set *uid, *gid unless entirely successful.
80858         Avoid memory leak in some failing cases.
80859         Fix regression for USER.GROUP reported by Dmitry V. Levin in
80860         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
80861         (parse_user_spec): Rewrite to use parse_with_separator.
80862
80863 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80864
80865         * modules/userspec: Don't depend on alloca.
80866
80867 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
80868
80869         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
80870
80871 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80872
80873         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
80874         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
80875         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
80876
80877 2004-08-16  Simon Josefsson  <jas@extundo.com>
80878
80879         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
80880         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
80881         Add --dry-run for --import.
80882         Let user provided command line parameters override configure.ac
80883         settings.
80884
80885 2004-08-12  Simon Josefsson  <jas@extundo.com>
80886
80887         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
80888         as discussed with Paul Eggert in threads rooted at
80889         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
80890         and
80891         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
80892         Before, the test was empty, and relied on ELIDE_CODE in source
80893         code.)
80894         (gl_PREREQ_GETOPT): New macro.
80895         (gl_GETOPT): Use them.
80896
80897 2004-08-12  Simon Josefsson  <jas@extundo.com>
80898
80899         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
80900         * lib/getopt_.h: Renamed from getopt.h.
80901
80902 2004-08-12  Simon Josefsson  <jas@extundo.com>
80903
80904         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
80905         Change default library name from libfoo to libgnu.
80906         Now, if you have a configure.ac that says:
80907                 gl_SOURCE_BASE(gl)
80908                 gl_M4_BASE(gl/m4)
80909                 gl_MODULES(error getopt etcetera)
80910                 gl_INIT
80911         you can import all you need by running:
80912                 ../gnulib/gnulib-tool --import
80913
80914         * modules/getopt (Files): Rename getopt.h to getopt_.h.
80915         (Makefile.am): Rewrite, use logic from argz.
80916         (Include): Use <getopt.h> instead of "getopt.h".
80917
80918 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
80919
80920         * modules/argp (Files): Add m4/unlocked-io.m4.
80921         (Depends-on): Add extensions.
80922
80923 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
80924
80925         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
80926         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
80927         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
80928         Check for program_invocation_name, program_invocation_short_name,
80929         flockfile, funlockfile, features.h, _getopt_long_only_r.
80930
80931 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
80932
80933         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
80934         its complicated substitute.
80935         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
80936         and program_invocation_name.
80937         (__argp_basename) [!_LIBC]: Remove; the only use was
80938         replaced by its body.
80939         (__argp_short_program_name): Change condition from
80940         !defined __argp_short_program_name to
80941         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
80942         to match argp-namefrob.h.
80943         (__argp_failure): Don't assume strerror_r returns char *.
80944         * lib/argp-parse.c (N_): Define unconditionally.
80945         (argp_default_options): Fill out initializers with 0 to avoid
80946         gcc warnings.
80947
80948 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
80949
80950         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
80951         getopt1.c.
80952
80953 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80954
80955         Merge from coreutils.
80956
80957         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
80958
80959         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
80960         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
80961
80962 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80963
80964         Merge from coreutils.
80965
80966         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
80967         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
80968         for Reliant Unix 5.43.
80969
80970         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
80971         (union fooround): Use uintmax_t, not long int.
80972         The rest is a merge from libc:
80973         [defined _LIBC]: Include <shlib-compat.h>.
80974         (_obstack) [defined _LIBC]: Remove after 2.3.4.
80975
80976         * lib/settime.c (settime): Recode to avoid warning with
80977         Sun Forte C 6U2.
80978
80979         * lib/strverscmp.c: Convert to UTF-8.
80980
80981 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
80982
80983         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
80984         m4/uintmax_t.m4.
80985
80986 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80987
80988         * modules/xalloc-die: New file.
80989         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
80990
80991         * modules/md5 (Files): Add m4/uint32_t.m4.
80992         * modules/sha1: Renamed from modules/sha.
80993         (Files):
80994         Rename lib/sha.h to lib/sha1.h.
80995         Rename lib/sha.c to lib/sha1.c.
80996         Rename m4/sha.m4 to m4/sha1.m4.
80997         (lib_SOURCES): Likewise.
80998         (configure.ac): Rename gl_SHA to gl_SHA1.
80999         (Include): sha.h -> sha1.h.
81000
81001 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81002
81003         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
81004         * m4/sha1.m4: Renamed from sha.m4.
81005         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
81006
81007 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
81008
81009         * lib/obstack.h (obstack_empty_p):
81010         Don't assume that chunk->contents is suitably aligned.
81011         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
81012         Likewise. Problem reported by Benno in
81013         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
81014
81015         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
81016         readable.  This could be improved further but it'd take some work.
81017
81018 2004-08-08  Simon Josefsson  <jas@extundo.com>
81019
81020         * modules/xgethostname (Depends-on): Remove exit and error (not
81021         used).
81022
81023         * modules/getpass-gnu: Add getpass.h.
81024         (Depends-on): Add stdbool.
81025         * modules/getpass: Add getpass.h.
81026
81027 2004-08-08  Simon Josefsson  <jas@extundo.com>
81028
81029         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
81030         Check getpass declaration.
81031
81032 2004-08-08  Simon Josefsson  <jas@extundo.com>
81033
81034         * lib/xgethostname.c: Don't include error.h (not used).
81035
81036         * lib/getpass.h: Add.
81037         * lib/getpass.c: Include getpass.h first.
81038
81039 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
81040
81041         * lib/xalloc-die.c: New file.
81042         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
81043         All uses removed.
81044         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
81045         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
81046         xalloc-die.c.
81047         (_, N_, xalloc_die): Move to xalloc-die.c.
81048         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
81049         so that we needn't mess with xalloc_msg_memory_exhausted.
81050
81051         * lib/sha1.h: Renamed from sha.h.
81052         (SHA1_H): Renamed from _SHA_H.
81053         (sha1_ctx): Renamed from sha_ctx.
81054         (sha1_init_ctx): Renamed from sha_init_ctx.
81055         (sha1_process_block): Renamed from sha_process_block.
81056         (sha1_process_bytes): Renamed from sha_process_bytes.
81057         (sha1_finish_ctx): Renamed from sha_finish_ctx.
81058         (sha1_read_ctx): Renamed from sha_read_ctx.
81059         (sha1_stream): Renamed from sha_stream.
81060         (sha1_buffer): Renamed from sha_buffer.
81061         * lib/sha1.c: Likewise; renamed from sha.c.
81062         Do not include <sys/types.h>.
81063         Include <stddef.h> rather than <stdlib.h>.
81064
81065 2004-08-08  Bruno Haible  <bruno@clisp.org>
81066
81067         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
81068         FILESYSTEM_PREFIX_LEN.
81069         * lib/progreloc.c: Likewise.
81070         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
81071
81072 2004-08-06  Simon Josefsson  <jas@extundo.com>
81073
81074         * modules/progname (Depends-on): Don't depend on stdbool.
81075
81076 2004-08-06  Simon Josefsson  <jas@extundo.com>
81077
81078         * modules/getsubopt: New file.
81079         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81080         getsubopt.
81081
81082 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
81083
81084         More merge from coreutils.
81085
81086         * m4/utimens.m4, m4/utimecmp.m4: New files.
81087         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
81088         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
81089         prereq.m4, sha.m4: Import changes from coreutils.
81090
81091 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
81092
81093         More merge from coreutils.
81094         * modules/raise, modules/readtokens0, modules/utimens:
81095         * modules/utimecmp, module/xnanosleep: New files.
81096         * modules/strftime: Add lib/strftime.h.
81097         Change include from <time.h> to "strftime.h".
81098         * modules/yesno: Add lib/yesno.h.
81099         * modules/backupfile: Remove lib/addext.c.
81100         * modules/euidaccess: Add stat-macros.h.
81101         * modules/canonicalize, modules/euidaccess,
81102         modules/filemode, modules/lchown, modules/makepath,
81103         modules/rmdir, modules/stat: Likewise.
81104
81105 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
81106
81107         Merge from tar.
81108         * lib/argp-help.c (make_hol, hol_append): Don't assume that
81109         SIZE_MAX is a valid preprocessor constant.
81110         (__argp_basename): Change from "#ifndef _LIBC"
81111         to "#ifndef __argp_short_program_name", so that
81112         we don't compile these functions for tar.
81113
81114         More merges from coreutils.
81115         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
81116         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
81117         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
81118         * lib/addext.c: Remove; no longer needed.
81119         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
81120         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
81121         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
81122         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
81123         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
81124         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
81125         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
81126         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
81127         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
81128         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81129         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
81130         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
81131         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
81132         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
81133         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
81134         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
81135         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
81136         Import changes from coreutils.
81137
81138 2004-08-05  Simon Josefsson  <jas@extundo.com>
81139
81140         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
81141
81142 2004-08-05  Simon Josefsson  <jas@extundo.com>
81143
81144         * m4/getsubopt.m4: New file.
81145
81146 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
81147
81148         Merge from coreutils.
81149
81150         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
81151         * m4/getcwd-path-max.m4: New files.
81152
81153         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
81154         FILESYSTEM_PREFIX_LEN ->
81155         FILE_SYSTEM_PREFIX_LEN.
81156         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
81157         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
81158         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
81159         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
81160
81161         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
81162         prerequisite modules now handle the DOS stuff.
81163         Don't check for unistd.h.
81164
81165 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
81166
81167         Merge from coreutils.
81168
81169         * lib/.gdb-history: Remove; this doesn't belong here.
81170
81171         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
81172         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
81173         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
81174         * lib/getcwd.c: New files.
81175
81176         * lib/dirname.h: Include <stdbool.h>.
81177         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
81178         for consistency with POSIX terminology.  All uses changed.
81179         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
81180         (strip_trailing_slashes): Use bool for booleans.
81181         * lib/stripslash.c (strip_trailing_slashes): Likewise.
81182
81183         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
81184         sometimes returns a positive errno value even when it succeeds.
81185         (print_errno_message) [!LIBC]: Fall back on strerror if
81186         __strerror_r fails.
81187
81188         * lib/path-concat.c (mempcpy): Don't define if a system header defines
81189         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
81190         (longest_relative_suffix): New function.
81191         (path_concat): Use it.  Assume first argument is not NULL.
81192         Port to DOS.  Omit redundant separators.
81193         Report an error instead of returning NULL.
81194         Use mempcpy instead of memcpy.
81195         (xpath_concat): Remove: not declared or used.
81196
81197         * lib/same.h: Include <stdbool.h>
81198         (same_name): Return bool, not int.
81199         * lib/same.c (same_name): Likewise.
81200         (errno): Don't declare; we assume C89 or better now.
81201
81202         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
81203         if not already defined.
81204
81205         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
81206         * lib/dup-safer.c (errno): Likewise.
81207
81208 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
81209
81210         Merge from coreutils.
81211         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
81212         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
81213         * modules/path-concat: Don't depend on strdup.
81214
81215 2004-08-03  Simon Josefsson  <jas@extundo.com>
81216
81217         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
81218         * lib/progname.h: Don't include stdbool.h.
81219
81220 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
81221
81222         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
81223         * MODULES.html.sh (func_all_modules): Remove fatal.
81224
81225 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
81226
81227         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
81228
81229 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
81230
81231         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
81232         working.
81233
81234 2004-08-02  Simon Josefsson  <jas@extundo.com>
81235
81236         * lib/getsubopt.h: New file, with comments from Bruno Haible.
81237         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
81238         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
81239
81240 2004-08-01  Simon Josefsson  <jas@extundo.com>
81241
81242         * lib/xgetdomainname.c: Include stdlib.h, for free().
81243
81244 2004-07-19  Bruno Haible  <bruno@clisp.org>
81245
81246         * MODULES.html.sh (func_all_modules): Add dummy.
81247
81248 2004-07-16  Simon Josefsson  <jas@extundo.com>
81249
81250         * modules/dummy: New file.
81251
81252 2004-07-16  Simon Josefsson  <jas@extundo.com>
81253
81254         * lib/dummy.c: New file.
81255
81256 2004-07-16  Bruno Haible  <bruno@clisp.org>
81257
81258         * lib/backupfile.h: Add extern "C" for C++.
81259         * lib/closeout.h: Likewise.
81260         * lib/copy-file.h: Likewise.
81261         * lib/findprog.h: Likewise.
81262         * lib/full-write.h: Likewise.
81263         * lib/pathname.h: Likewise.
81264         * lib/progname.h: Likewise.
81265         * lib/stpcpy.h: Likewise.
81266         * lib/stpncpy.h: Likewise.
81267         * lib/strcase.h: Likewise.
81268         * lib/strstr.h: Likewise.
81269         * lib/xalloc.h: Likewise.
81270
81271         * lib/mbswidth.h: Add extern "C" for C++.
81272         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
81273
81274 2004-07-13  Robert Millan  <robertmh@gnu.org>
81275
81276         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
81277
81278 2004-07-09  Simon Josefsson  <jas@extundo.com>
81279
81280         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
81281         failed without this.)
81282
81283 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81284
81285         * modules/chown (Files): Add lib/fchown-stub.c, since
81286         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
81287
81288 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
81289
81290         * lib/fchown-stub.c: New file.
81291
81292 2004-06-24  Jim Meyering  <jim@meyering.net>
81293
81294         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
81295
81296 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81297
81298         * modules/argz: Omit "#include".
81299
81300         * MODULES.html.sh (func_all_modules): Add calloc, to match
81301         2004-06-01 addition of calloc module.
81302
81303 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81304
81305         * m4/argz.m4: New file, which is autoupdated from libtool.
81306
81307 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81308
81309         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
81310         libtool.
81311
81312 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81313
81314         * config/srclist-update: Don't insist on "USA." before the
81315         close-comment, as libtool omits the period and puts the */ on a
81316         separate line.
81317         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
81318         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
81319
81320 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
81321
81322         * modules/argz: New file.
81323         * MODULES.html.sh (func_all_modules): Add argz.
81324
81325 2004-06-12  Jim Meyering  <jim@meyering.net>
81326         and  Paul Eggert  <eggert@cs.ucla.edu>
81327
81328         * modules/hash (Files): Add lib/xalloc.h.
81329         * modules/pipe (Depends-on): Add wait-process.
81330         * modules/stat (Depends-on): Add xalloc.
81331         * modules/userspec (Files): Add lib/userspec.h.
81332         * modules/xstrto
81333
81334         Upgrade from gettext-0.13.
81335         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
81336         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
81337         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
81338
81339 2004-06-10  Jim Meyering  <jim@meyering.net>
81340
81341         * lib/calloc.c: New file.
81342
81343 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
81344
81345         * lib/getdate.y (yylex): Allow space between sign and number.
81346         Problem reported by Dan Jacobson.
81347
81348 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
81349
81350         Merge from coreutils CVS.
81351
81352         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
81353         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
81354         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
81355         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
81356         xstrtol.m4: Fix copyright date and/or serial number.
81357
81358         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
81359         See if we need an fchown replacement.
81360         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
81361         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
81362         and use the replacement function if we detect either defect.
81363
81364         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
81365         gl_UTIMECMP.
81366
81367 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
81368         and  Jim Meyering  <jim@meyering.net>
81369
81370         Merge from coreutils CVS.
81371
81372         * lib/stat-macros.h: New file, with contents from file-type.h
81373         and coreutils' system.h.
81374         * lib/file-type.c: Include "stat-macros.h".
81375         * lib/file-type.h (file_type): Move all macro definitions to new file,
81376         stat-macros.h.
81377
81378         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
81379         Wrap old code with this conditional.
81380         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
81381         function that does not dereference symlinks.
81382         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
81383
81384         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
81385         dependency problems.
81386         (xreadlink): Accept new arg SIZE, for efficiency.
81387         All decls and uses changed.
81388         * lib/xreadlink.h: Include <stddef.h>, for size_t.
81389
81390         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
81391         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
81392
81393         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
81394         sysexits.h.
81395
81396 2004-06-01  Jim Meyering  <jim@meyering.net>
81397
81398         * m4/calloc.m4: New file.
81399
81400 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
81401
81402         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
81403         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
81404         Also, fix a typo in a diagnostic.
81405
81406 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
81407
81408         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
81409         or AC_FUNC_REALLOC.
81410
81411 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
81412
81413         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
81414         macros to be defined.
81415         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
81416         the allocator returns NULL because the requested size is zero.
81417
81418 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81419
81420         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
81421         var.  Add comment explaining why libc still defines it.  This
81422         merges the following patch from glibc:
81423         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
81424
81425 2004-05-20  Andreas Schwab  <schwab@suse.de>
81426
81427         * m4/free.m4: Replace free if it not known to work, not the other
81428         way round.
81429
81430 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81431
81432         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
81433         present in glibc since revision 1.1 of this file.
81434         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
81435         obstack_alignment_mask, obstack_alloc, obstack_base,
81436         obstack_blank, obstack_blank_fast, obstack_chunk_size,
81437         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
81438         obstack_grow0, obstack_init, obstack_int_grow,
81439         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
81440         obstack_next_free, obstack_object_size, obstack_ptr_grow,
81441         obstack_ptr_grow_fast, obstack_room): Remove declarations of
81442         nonexistent functions.
81443
81444 2004-05-18  Karl Berry  <karl@gnu.org>
81445
81446         * config/srclist.txt: break link for vasnprintf.c.
81447
81448 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
81449
81450         Port obstack to the AS/400, where pointers are 16 bytes wide and
81451         you cannot cast an integer to a valid pointer.  This patch is
81452         currently waiting to be integrated into glibc; see
81453         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
81454
81455         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
81456         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
81457         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
81458         (struct obstack): temp member is now a union of a pointer and
81459         an integer, instead of an integer.  All integer uses changed.
81460         This does not affect the physical layout of struct obstack,
81461         except on hosts (like the AS/400) where the size or alignment of
81462         void * is greater than that of ptrdiff_t.
81463         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
81464         __STDC__)]: Store temporary in pointer member of union, not
81465         integer member.
81466         * lib/obstack.c: Include <stddef.h>, for offsetof.
81467         (struct fooalign): Remove; it doesn't need a name.
81468         (union fooround): Change double to long double, and add void *.
81469         (DEFAULT_ALIGNMENT): Use offsetof to compute.
81470         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
81471         not a macro.  Hence the values are always int; so remove all
81472         casts-to-int in uses.
81473
81474 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
81475
81476         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
81477         we can get this patch merged into glibc.
81478
81479 2004-05-17  Derek R. Price  <derek@ximbiot.com>
81480             Paul Eggert  <eggert@cs.ucla.edu>
81481
81482         * m4/argp: Depend on alloca.
81483
81484 2004-05-17  Derek R. Price  <derek@ximbiot.com>
81485             Paul Eggert  <eggert@cs.ucla.edu>
81486
81487         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
81488         freecoding.
81489
81490 2004-05-17  Bruno Haible  <bruno@clisp.org>
81491
81492         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
81493         precision that consists of a '.' followed by an empty digit string.
81494         Patch by Tor Lillqvist <tml@iki.fi>.
81495
81496 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
81497
81498         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
81499         for backward compatibility with older code.  We need our own
81500         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
81501         it under some other name, and our alloca.h will define it.
81502
81503 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
81504             Derek Price  <derek@ximbiot.com>
81505
81506         * lib/alloca.c: Include <alloca.h>, to get our interface.
81507         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
81508         include <alloca.h> first.  Use C89 prototype for alloca; this
81509         requires including <stddef.h> for size_t.  Use extern "C" if C++.
81510         Use #elif for simplicity, since we can assume C89 now.
81511         Don't try to source the system alloca.h since it will not be found
81512         and to prevent recursively including its replacement.
81513         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
81514         * lib/regex.c: Likewise.
81515
81516 2004-05-16  Derek Price  <derek@ximbiot.com>
81517             Paul Eggert  <eggert@cs.ucla.edu>
81518
81519         getline cleanup.  This changes the getndelim2 API: both order of
81520         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
81521         no delimiter).
81522
81523         * lib/getline.c: Don't include stddef.h or stdio.h, since our
81524         interface does that.
81525         (getline): Always use getdelim, so that we don't have two
81526         copies of this code.
81527         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
81528         if available.
81529         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
81530         (GETNDELIM2_MAXIMUM): New macro.
81531         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
81532         instead of the old practice of delim2==0.  All callers changed.
81533         Return -1 on overflow, instead of returning junk.
81534         Do not set *linesize unless allocation succeeds.
81535         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
81536         that we include sys/types.h.
81537         * lib/getnline.h: Likewise.
81538         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
81539         (getndelim2): Reorder arguments.
81540         * lib/getnline.c (getnline, getndelim):
81541         Don't discard the NMAX argument.
81542         (getnline): Invoke getndelim, to avoid code duplication.
81543         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
81544         of (size_t) -1 by callers of the getnline family.
81545
81546 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81547
81548         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
81549         Check for gettimeofday.
81550         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
81551         Check for settimeofday, stime.
81552
81553 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81554
81555         * lib/nanosleep.c (suspended): Change its type from int to
81556         sig_atomic_t volatile.
81557         (first_call): Make it private to rpl_nanosleep, and have it
81558         be zero initially as that's a bit faster.
81559         (my_usleep): Round up fractional times instead of truncating them,
81560         as this is the usual meaning for 'sleep'.
81561
81562         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
81563         doesn't work.
81564         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
81565         (ENOSYS): Define if not defined.
81566         (settime): Fall back on stime if it exists and settimeofday fails.
81567         But don't bother with fallbacks if a method fails with errno == EPERM.
81568
81569 2004-05-11  Jim Meyering  <jim@meyering.net>
81570
81571         Prior to this change, the save_cwd caller required read access to the
81572         current directory on most systems (ones with the fchdir function).
81573
81574         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
81575         fails, try write-only, and finally, resort to using xgetcwd.
81576
81577 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81578
81579         * lib/obstack.c, obstack.h: Import changes from libc.
81580
81581 2004-04-28  Bruno Haible  <bruno@clisp.org>
81582
81583         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
81584         also implicitly appends .exe to executables.
81585         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
81586         accepts Windows pathnames.
81587         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
81588         Treat Cygwin like Windows, since it now accepts Windows pathnames.
81589         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
81590         Treat Cygwin like Windows, since it now accepts Windows pathnames.
81591         Reported by Derek Robert Price <derek@ximbiot.com>.
81592
81593 2004-04-21  Karl Berry  <karl@gnu.org>
81594
81595         * config/srclist.txt (localcharset.c): break sync.
81596
81597 2004-04-20  Paul Eggert  <eggert@twinsun.com>
81598
81599         * m4/host-os.m4: Add a copyright notice.
81600
81601 2004-04-20  Jim Meyering  <jim@meyering.net>
81602
81603         Change UTILS_ to gl_ in AC_DEFINE'd names.
81604         Change utils_- and jm_-prefixed variables, too.
81605         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
81606         UTILS_FUNC_MKDIR_TRAILING_SLASH.
81607         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
81608
81609         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
81610         Don't emit trailing blanks.
81611         Also rename jm_-prefixed variables to have gl_ prefix.
81612
81613         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
81614         Also rename jm_-prefixed variables to have gl_ prefix.
81615
81616         * m4/jm-macros.m4: Reflect the renamings.
81617         * m4/prereq.m4: Likewise.
81618
81619 2004-04-20  Jim Meyering  <jim@meyering.net>
81620
81621         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
81622         memory.
81623
81624 2004-04-20  Jim Meyering  <jim@meyering.net>
81625             Bruno Haible  <bruno@clisp.org>
81626
81627         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
81628         memory when realloc fails.
81629
81630 2004-04-19  Jim Meyering  <jim@meyering.net>
81631
81632         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
81633         now that readutmp.c may call `free (0)'.
81634
81635 2004-04-19  Bruno Haible  <bruno@clisp.org>
81636
81637         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
81638         * m4/inttypes_h.m4: Likewise.
81639         * m4/stdint_h.m4: Likewise.
81640         * m4/intmax_t.m4: Likewise.
81641         * m4/uintmax_t.m4: Likewise.
81642
81643 2004-04-18  Jim Meyering  <jim@meyering.net>
81644
81645         * m4/prereq.m4: Don't forbid jm_ prefix.
81646
81647         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
81648         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
81649         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
81650         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
81651         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
81652         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
81653         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
81654         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
81655         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
81656         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
81657         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
81658         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
81659         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
81660         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
81661         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
81662         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
81663         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
81664         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
81665         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
81666
81667 2004-04-18  Jim Meyering  <jim@meyering.net>
81668
81669         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
81670         failure, don't leak memory and do call END_UTMP_ENT.
81671
81672 2004-04-16  Jim Meyering  <jim@meyering.net>
81673
81674         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
81675         coreutils' stat program.
81676         (gl_PREREQ): Don't require jm_PREREQ_STAT.
81677
81678 2004-04-11  Paul Eggert  <eggert@twinsun.com>
81679
81680         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
81681         C89.
81682         (CHAR_BIT): Remove, since we assume C89.
81683         Include <stdint.h> if available, as per current Autoconf CVS advice.
81684
81685 2004-03-31  Jim Meyering  <jim@meyering.net>
81686
81687         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
81688         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
81689         * m4/xalloc.m4: Likewise.
81690
81691 2004-03-30  Paul Eggert  <eggert@twinsun.com>
81692
81693         Merge from coreutils.
81694
81695         * m4/inttostr.m4: New file.
81696         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
81697         Require AM_STDBOOL_H and gl_TIMESPEC instead.
81698         Require gl_CLOCK_TIME.
81699         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
81700
81701 2004-03-30  Paul Eggert  <eggert@twinsun.com>
81702
81703         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
81704         not bool, to be more consistent with Unix conventions.
81705         Suggested by Bruno Haible.
81706
81707         Merge from coreutils.
81708
81709         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
81710         * lib/umaxtostr.c: New files.
81711
81712         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
81713         the usual <time.h> dance.
81714         (get_date): Change signature to support fractional time stamps.
81715         All callers changed.
81716         * lib/getdate.y: Include "getdate.h" first, as we can now
81717         assume C89 and don't need to worry about 'const'.
81718         Similarly, include "unlocked-io.h" near start, not in middle.
81719         Include <limits.h>.
81720         (textint.value): Use long int rather than int.
81721         (textint.digits): Use size_t rather than int.
81722         (BILLION, LOG10_BILLION): New constants.
81723         (parser_control): New member rel_ns.  Members day_ordinal,
81724         time_zone, month, day, hour, minutes, rel_year, rel_month,
81725         rel_day, rel_hour, rel_minutes, rel_seconds
81726         are now long int, not int.  Member seconds is now struct timespec,
81727         not int.  New member timespec_seen.  Members dates_seen, days_seen,
81728         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
81729         not int.
81730         (%union.intval): Now long int, not int.
81731         New member timespec.
81732         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
81733         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
81734         (spec): Now is a timespec or an item list.
81735         (timespec, items): New nonterminals.
81736         (time, rel, relunit, number, get_date):
81737         Add support for fractional seconds.
81738         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
81739         (gmtime, localtime, mktime): Remove decls; not needed with C89.
81740         (to_hour): First arg is now long int, not int.
81741         (to_year): Returns long int, not int.
81742         Don't treat year -70 like 70.
81743         (tm_diff): Returns long int, not int.
81744         (lookup_word): Use bool instead of int when appropriate.
81745         (yylex): Use size_t for count, not int.
81746         Detect overflow when parsing large integer constants.
81747         Add support for fractions.
81748         (get_date): Make pointers 'const' if possible.
81749         Use more-portable code to detect integer overflow.
81750         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
81751         Don't use ctime; it's not reliable if the year has >4 digits.
81752
81753         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
81754         This is for compatibility with BSD.
81755
81756         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
81757         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
81758         From coreutils' system.h.
81759
81760         * lib/userspec.c: Don't include "posixver.h".
81761         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
81762         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
81763         compatible extension.  Simplify code by removing a boolean int
81764         that was always nonzero if a string was nonnull.
81765
81766 2004-03-30  Jim Meyering  <jim@meyering.net>
81767
81768         Merge from coreutils.
81769
81770         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
81771         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
81772         on some systems one must include <grp.h> before it.
81773         Reported by Christian Krackowizer.
81774
81775 2004-03-30  Jim Meyering  <jim@meyering.net>
81776
81777         Merge from coreutils.
81778
81779         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
81780
81781         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
81782         an empty input stream.
81783
81784         * lib/readtokens.c: Include <stdbool.h>.
81785         (readtoken): Use `size_t' rather than int/long.
81786         All callers adjusted.
81787         Use `bool' rather than `int' where appropriate.
81788         Use memset rather than an explicit loop.
81789         Use x2nrealloc rather than xrealloc.
81790         Allow the use of `\0' as a delimiter.
81791         (readtokens): Likewise.
81792         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
81793
81794 2004-03-30  Jim Meyering  <jim@meyering.net>
81795
81796         * m4/realloc.m4: Remove file, since now it does no more than
81797         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
81798         the `configure.ac' section of module/realloc.
81799         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
81800
81801 2004-03-30  Bruno Haible  <bruno@clisp.org>
81802
81803         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
81804         nonnull.
81805
81806 2004-03-29  Paul Eggert  <eggert@twinsun.com>
81807
81808         Merge changes to getloadavg.c from coreutils and Emacs.
81809
81810         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
81811         Define to an expression, not to the empty string.
81812         Include cloexec.h and xalloc.h.
81813         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
81814         Use set_cloexec_flag rather than rolling our own.
81815         * lib/cloexec.c, lib/cloexec.h: New files.
81816
81817 2004-03-29  Paul Eggert  <eggert@twinsun.com>
81818
81819         * m4/cloexec.m4: New file.
81820
81821 2004-03-18  Paul Eggert  <eggert@twinsun.com>
81822
81823         * lib/getopt.h: Sync with libc CVS.
81824
81825 2004-03-18  Paul Eggert  <eggert@twinsun.com>
81826             Bruno Haible  <bruno@clisp.org>
81827
81828         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
81829         mbswidth.
81830
81831 2004-03-18  Paul Eggert  <eggert@twinsun.com>
81832             Bruno Haible  <bruno@clisp.org>
81833
81834         * lib/mbswidth.h: Include <wchar.h> only if
81835         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
81836         <wchar.h>.
81837         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
81838
81839 2004-03-09  Paul Eggert  <eggert@twinsun.com>
81840
81841         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
81842         Sync with libc CVS.
81843         * lib/getopt_int.h: New file, also synced from libc.
81844
81845 2004-03-09  Paul Eggert  <eggert@twinsun.com>
81846
81847         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
81848         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
81849         Bring back getopt.c, getopt.h, getopt1.c.
81850
81851 2004-03-07  Paul Eggert  <eggert@twinsun.com>
81852
81853         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
81854         All uses changed.  Check for sa_sigaction member; this fixes
81855         a bug first reported by Jason Andrade in
81856         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
81857
81858 2004-03-07  Paul Eggert  <eggert@twinsun.com>
81859
81860         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
81861         '#if' expressions.  Unlike the code it replaces, it does not
81862         depend on (defined _SC_PAGESIZE).  However, it does depend on
81863         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
81864         first reported by Jason Andrade in
81865         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
81866
81867 2004-02-25  Simon Josefsson  <jas@extundo.com>
81868
81869         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
81870
81871 2004-02-25  Simon Josefsson  <jas@extundo.com>
81872
81873         * lib/strdup.h: New file.
81874         * lib/strdup.c: Include it.
81875         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
81876         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
81877
81878 2004-02-23  Karl Berry  <karl@gnu.org>
81879
81880         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
81881         (from fencepost.gnu.org:/gd/gnuorg).
81882
81883 2004-02-23  Karl Berry  <karl@gnu.org>
81884
81885         * config/srclistvars.sh (GNUORG) [karl]: redefine.
81886         * config/srclist.txt: add maintain/standards documents.
81887
81888 2004-02-18  Bruno Haible  <bruno@clisp.org>
81889
81890         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
81891         Reported by Derek Robert Price <derek@ximbiot.com>.
81892
81893 2004-02-16  Karl Berry  <karl@gnu.org>
81894
81895         * config/mkinstalldirs, install-sh: update from automake.
81896
81897 2004-02-06  Karl Berry  <karl@gnu.org>
81898
81899         * m4/po.m4: update from gettext 0.14.1.
81900
81901 2004-02-06  Karl Berry  <karl@gnu.org>
81902
81903         * lib/config.charset: update from gettext 0.14.1.
81904
81905 2004-02-05  Paul Eggert  <eggert@twinsun.com>
81906
81907         Add comments and code, prompted by suggestions from Bruno Haible
81908         for sh-quote.
81909         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
81910         describing the enum quoting_style values.
81911         * lib/quotearg.c (quotearg_alloc): New function.
81912         (quotearg_buffer_restyled): Treat lone { and } as special.
81913         Treat = as special.  Work around bug with older shells
81914         that "see" a '\' that is really the 2nd byte of a multibyte char.
81915         Quote empty string with shell_quoting_style.
81916
81917 2004-02-03  Bruno Haible  <bruno@clisp.org>
81918
81919         * m4/pipe.m4: New file, from GNU gettext.
81920
81921 2004-02-03  Bruno Haible  <bruno@clisp.org>
81922
81923         * lib/pipe.h: New file, from GNU gettext.
81924         * lib/pipe.c: New file, from GNU gettext.
81925
81926 2004-01-27  Bruno Haible  <bruno@clisp.org>
81927
81928         * m4/execute.m4: New file, from GNU gettext.
81929
81930 2004-01-27  Bruno Haible  <bruno@clisp.org>
81931
81932         * lib/execute.h: New file, from GNU gettext.
81933         * lib/execute.c: New file, from GNU gettext.
81934         * lib/w32spawn.h: New file, from GNU gettext.
81935
81936 2004-01-24  Paul Eggert  <eggert@twinsun.com>
81937
81938         Merge from diffutils.
81939
81940         * lib/file-type.c (file_type): Add typed memory objects.
81941         * lib/file-type.h (S_TYPEISTMO): New macro.
81942
81943         * lib/c-stack.h (c_stack_action): Remove argv argument.
81944         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
81945         (die): Don't calculate message unless segv_action returns.
81946         (get_stack_location, min_address_from_argv, max_address_from_argv,
81947         volatile stack_base, volatile_stack_size): Remove.
81948         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
81949         that every segmentation violation is a stack overflow.  (Ouch!)
81950         See Debian bug 136249 (still outstanding) for more info about why
81951         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
81952
81953 2004-01-24  Paul Eggert  <eggert@twinsun.com>
81954
81955         Exit-status fix from coreutils.
81956
81957         Use exit_failure consistently in place of EXIT_FAILURE,
81958         so that program exit statuses are consistent on failure.
81959
81960         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
81961         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
81962         * lib/argmatch.h: Comment fix to match the above.
81963         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
81964         Now a macro referring to exit_failure, instead of a separate
81965         variable.  Include "exitfail.h" to get it.
81966         * lib/xstrtol.h: Include "exitfail.h".
81967         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
81968
81969         * lib/long-options.c (parse_long_options): Use prototype
81970         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
81971         for clarity.
81972
81973 2004-01-21  Jim Meyering  <jim@meyering.net>
81974
81975         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
81976         so as not to conflict with a different-sized __mktime_internal
81977         function in GNU libc.
81978         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
81979         Problem building statically-linked `ls' reported by Michael Brunnbauer.
81980
81981 2004-01-20  Karl Berry  <karl@gnu.org>
81982
81983         * config/config.guess: update from config.
81984
81985         * config/srclistvars.sh: GNUWWWLICENSES for karl.
81986
81987 2004-01-20  Bruno Haible  <bruno@clisp.org>
81988
81989         Safer stack allocation.
81990         * lib/setenv.c: Include allocsa.h.
81991         (alloca): Remove fallback definition.
81992         (freea): Remove macro.
81993         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
81994         instead of freea.
81995
81996 2004-01-20  Bruno Haible  <bruno@clisp.org>
81997
81998         * m4/eealloc.m4: New file, from GNU gettext.
81999
82000 2004-01-20  Bruno Haible  <bruno@clisp.org>
82001
82002         * m4/allocsa.m4: New file, from GNU gettext.
82003
82004 2004-01-20  Bruno Haible  <bruno@clisp.org>
82005
82006         * lib/xallocsa.h: New file, from GNU gettext.
82007         * lib/xallocsa.c: New file, from GNU gettext.
82008
82009 2004-01-20  Bruno Haible  <bruno@clisp.org>
82010
82011         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
82012
82013 2004-01-20  Bruno Haible  <bruno@clisp.org>
82014
82015         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
82016         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
82017         specially.
82018
82019 2004-01-20  Bruno Haible  <bruno@clisp.org>
82020
82021         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
82022         patch.
82023
82024 2004-01-20  Bruno Haible  <bruno@clisp.org>
82025
82026         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
82027
82028 2004-01-20  Bruno Haible  <bruno@clisp.org>
82029
82030         * lib/eealloc.h: New file.
82031
82032 2004-01-20  Bruno Haible  <bruno@clisp.org>
82033
82034         * lib/binary-io.h: Avoid warnings on Cygwin.
82035
82036 2004-01-20  Bruno Haible  <bruno@clisp.org>
82037
82038         * lib/allocsa.h: New file, from GNU gettext.
82039         * lib/allocsa.c: New file, from GNU gettext.
82040
82041 2004-01-18  Karl Berry  <karl@gnu.org>
82042
82043         * doc/gpl.texi, doc/lgpl.texi: new files.
82044
82045 2004-01-18  Karl Berry  <karl@gnu.org>
82046
82047         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
82048         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
82049
82050 2004-01-15  Paul Eggert  <eggert@twinsun.com>
82051
82052         Merge from coreutils.
82053
82054         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
82055         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
82056         (gl_DEFAULT_POSIX2_VERSION): Move
82057         the documentation from 'configure' into 'config.hin',
82058         so that 'configure --help' isn't burdened by it and
82059         we don't have to worry about its formatting there.
82060         Reword the documentation so that it's more succinct
82061         and can be run together into a single paragraph.
82062         * m4/same.m4 (gl_SAME): Check for pathconf.
82063
82064 2004-01-15  Paul Eggert  <eggert@twinsun.com>
82065
82066         Merge from coreutils.
82067
82068         * lib/posixver.c: Include posixver.h.
82069
82070         * lib/same.c: Include <stdbool.h>, <limits.h>.
82071         (_POSIX_NAME_MAX): Define if not defined.
82072         (MIN): New macro.
82073         (same_name): If file names are silently truncated, report
82074         that the file names are the same if they are the same after
82075         the silent truncation.
82076
82077         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
82078         conversion function.
82079         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
82080         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
82081         longer needed.
82082
82083 2004-01-15  Jim Meyering  <jim@meyering.net>
82084
82085         Merge from coreutils.
82086
82087         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
82088         if no library is required.
82089         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
82090         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
82091         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
82092         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
82093         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
82094         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
82095         value, $ac_cv_search_crypt, if it's "none required".
82096         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
82097         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
82098         not gl_FUNC_GETLOADAVG.
82099         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
82100         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
82101
82102 2004-01-15  Jim Meyering  <jim@meyering.net>
82103
82104         Merge from coreutils.
82105
82106         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
82107         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
82108         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
82109
82110         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
82111         optional configure-time default.
82112
82113         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82114
82115         * lib/xreadlink.c (xreadlink): Correct outdated comment.
82116
82117 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
82118
82119         Merge from coreutils.
82120
82121         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
82122         value, $ac_cv_search_nanosleep, if it's "none required".
82123
82124 2004-01-14  Paul Eggert  <eggert@twinsun.com>
82125
82126         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
82127         with like-named macro in fnmatch.c.
82128         (EXT): Use an internal constant instead.
82129
82130         Merge fnmatch patches from glibc.
82131         * lib/fnmatch.c (mbsinit): Remove define.
82132         Add libc_hidden_ver (__fnmatch, fnmatch).
82133         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
82134         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
82135
82136 2004-01-14  Karl Berry  <karl@gnu.org>
82137
82138         * config/install-sh: update from automake.
82139
82140 2004-01-13  Karl Berry  <karl@gnu.org>
82141
82142         * config/install-sh: update from automake.
82143
82144 2004-01-09  Karl Berry  <karl@gnu.org>
82145
82146         * config/install-sh: update from automake.
82147
82148 2004-01-05  Karl Berry  <karl@gnu.org>
82149
82150         * config/config.{sub,guess}: update from config.
82151
82152 2003-12-31  Karl Berry  <karl@gnu.org>
82153
82154         * config/depcomp: update from automake.
82155
82156 2003-12-14  Karl Berry  <karl@gnu.org>
82157
82158         * lib/config.charset: update from gettext-runtime.
82159
82160 2003-12-03  Paul Eggert  <eggert@twinsun.com>
82161
82162         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
82163         Bug reported by Alfred M. Szmidt.
82164
82165 2003-12-03  Bruno Haible  <bruno@clisp.org>
82166
82167         * m4/gettext.m4: Upgrade from gettext-0.13.
82168         * m4/po.m4: Upgrade from gettext-0.13.
82169         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
82170         * m4/intmax.m4: New file, from gettext-0.13.
82171         * m4/printf-posix.m4: New file, from gettext-0.13.
82172
82173 2003-11-29  Karl Berry  <karl@gnu.org>
82174
82175         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
82176
82177 2003-11-25  Paul Eggert  <eggert@twinsun.com>
82178             Bruno Haible  <bruno@clisp.org>
82179
82180         * lib/printf-parse.h: Don't include sys/types.h.
82181         (ARG_NONE): New macro.
82182         (char_directive): Change type of *arg_index fields to size_t.
82183         * lib/printf-parse.c: Don't include sys/types.h.
82184         (SSIZE_MAX): Remove macro.
82185         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
82186         Remove unnecessary overflow check.
82187         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
82188         fields.
82189
82190 2003-11-25  Bruno Haible  <bruno@clisp.org>
82191
82192         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
82193
82194 2003-11-25  Bruno Haible  <bruno@clisp.org>
82195
82196         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
82197         gt_TYPE_SSIZE_T.
82198
82199 2003-11-24  Paul Eggert  <eggert@twinsun.com>
82200
82201         * modules/alloca: Remove dependency on xalloc.
82202
82203 2003-11-24  Paul Eggert  <eggert@twinsun.com>
82204
82205         * lib/alloca.c: Remove dependency on xalloc module.
82206         (xalloc_die): Remove.
82207         (memory_full) [!defined emacs]: New macro.
82208         [!defined emacs]: Don't include xalloc.h.
82209         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
82210         address arithmetic overflows.  Change datatypes a bit to avoid
82211         unnecessary casts.
82212
82213 2003-11-22  Jim Meyering  <jim@meyering.net>
82214
82215         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
82216         s/size/size_t/.
82217
82218 2003-11-21  Karl Berry  <karl@gnu.org>
82219
82220         * config/config.{sub,guess}: update from config.
82221
82222 2003-11-18  Karl Berry  <karl@gnu.org>
82223
82224         * config/config.{sub,guess}: update from config.
82225
82226         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
82227
82228 2003-11-17  Paul Eggert  <eggert@twinsun.com>
82229
82230         * README: Mention that S+T cannot overflow if S is the size of
82231         an existing object and T is sufficiently small.
82232
82233 2003-11-17  Jim Meyering  <jim@meyering.net>
82234
82235         On systems without utime and without a utimes function capable of
82236         dealing with a NULL struct utimbuf* argument, this utime replacement
82237         could -- in unusual circumstances -- leak a file descriptor.
82238         * lib/utime.c: Include <unistd.h> and <errno.h>.
82239         (utime_null): Be sure to close `fd' and to preserve errno.
82240         Reported by Geoff Collyer via Arnold Robbins.
82241
82242 2003-11-17  Bruno Haible  <bruno@clisp.org>
82243
82244         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
82245         (Depends-on): Add xsize.
82246
82247 2003-11-17  Bruno Haible  <bruno@clisp.org>
82248
82249         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
82250
82251 2003-11-17  Bruno Haible  <bruno@clisp.org>
82252
82253         * lib/vasnprintf.c (alloca): Remove fallback definition.
82254         (freea): Remove definition.
82255         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
82256         Reported by Paul Eggert.
82257
82258 2003-11-16  Paul Eggert  <eggert@twinsun.com>
82259             Bruno Haible  <bruno@clisp.org>
82260
82261         Protect against address arithmetic overflow.
82262         * lib/printf-args.h: Include stddef.h.
82263         (arguments): Change type of field 'count' to size_t.
82264         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
82265         'unsigned int' where appropriate.
82266         * lib/printf-parse.h: Include sys/types.h.
82267         (char_directive): Change type of *arg_index fields to ssize_t.
82268         (char_directives): Change type of fields 'count', max_*_length to
82269         size_t.
82270         * lib/printf-parse.c: Include sys/types.h and xsize.h.
82271         (SSIZE_MAX): Define fallback value.
82272         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
82273         instead of 'int' where appropriate. Check a_allocated, d_allocated
82274         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
82275         * lib/vasnprintf.c: Include xsize.h.
82276         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
82277         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
82278         overflow. Avoid wraparound when converting a width or precision from
82279         decimal to binary.
82280
82281 2003-11-16  Bruno Haible  <bruno@clisp.org>
82282
82283         Update from GNU gettext.
82284         * lib/printf-parse.c: Generalize to it can be compiled for wide
82285         strings.
82286         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
82287         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
82288         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
82289         SNPRINTF): New macros.
82290         Don't include <alloca.h> if the file is used inside libintl.
82291         (local_wcslen): New function, for Solaris 2.5.1.
82292         (VASNPRINTF): Use it instead of wcslen.
82293
82294 2003-11-16  Bruno Haible  <bruno@clisp.org>
82295
82296         * lib/xsize.h (xmax): New function.
82297         (xsum, xsum3, xsum4): Declare as "pure" functions.
82298
82299 2003-11-12  Paul Eggert  <eggert@twinsun.com>
82300
82301         * modules/xalloc (Files): Undo latest change, since xalloc.h
82302         no longer needs SIZE_MAX or PTRDIFF_MAX.
82303
82304 2003-11-12  Paul Eggert  <eggert@twinsun.com>
82305
82306         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
82307         gl_PTRDIFF_MAX.
82308
82309 2003-11-12  Paul Eggert  <eggert@twinsun.com>
82310
82311         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
82312         "return", to pacify some unknown compiler.  Problem reported
82313         by Joerg Schilling.
82314
82315 2003-11-12  Paul Eggert  <eggert@twinsun.com>
82316
82317         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
82318         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
82319         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
82320         heuristic is just as accurate as far as we know, and it removes a
82321         dependency on size_max.m4 and ptrdiff_max.m4.
82322
82323 2003-11-11  Bruno Haible  <bruno@clisp.org>
82324
82325         * modules/xsize (Files): Add m4/size_max.m4.
82326         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
82327
82328 2003-11-11  Bruno Haible  <bruno@clisp.org>
82329
82330         * m4/size_max.m4: New file.
82331         * m4/ptrdiff_max.m4: New file.
82332         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
82333         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
82334         (gl_XALLOC): Invoke it.
82335
82336 2003-11-11  Bruno Haible  <bruno@clisp.org>
82337
82338         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
82339         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
82340         defined.
82341
82342 2003-11-10  Paul Eggert  <eggert@twinsun.com>
82343
82344         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
82345         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
82346         rejected some allocations of exactly SIZE_MAX - 2 bytes.
82347         From Bruno Haible.
82348         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
82349         not (size_t) -1, since it's defined here.
82350
82351 2003-11-09  Karl Berry  <karl@gnu.org>
82352
82353         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
82354
82355 2003-11-06  Paul Eggert  <eggert@twinsun.com>
82356
82357         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
82358         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
82359         Reject sizes of exactly SIZE_MAX bytes.
82360         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
82361         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
82362
82363 2003-11-05  Bruno Haible  <bruno@clisp.org>
82364
82365         * lib/xsize.h: Include limits.h, to avoid a possible collision with
82366         SIZE_MAX defined in <limits.h> on Solaris.
82367
82368 2003-11-04  Jim Meyering  <jim@meyering.net>
82369
82370         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
82371         variable names, rather than @VAR@.
82372         * modules/poll: Likewise.
82373
82374 2003-11-04  Bruno Haible  <bruno@clisp.org>
82375
82376         * modules/xsize: New file.
82377         * modules/linebreak: Depend on xsize.
82378         * MODULES.html.sh (func_all_modules): Add xsize.
82379
82380 2003-11-04  Bruno Haible  <bruno@clisp.org>
82381
82382         * m4/xsize.m4: New file.
82383
82384 2003-11-04  Bruno Haible  <bruno@clisp.org>
82385
82386         * lib/xsize.h: New file.
82387         * lib/linebreak.c: Include xsize.h.
82388         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
82389         argument for overflow.
82390         Suggested by Paul Eggert.
82391
82392 2003-11-03  Karl Berry  <karl@gnu.org>
82393
82394         * config/config.{guess,sub}: update from config.
82395
82396 2003-11-03  Jim Meyering  <jim@meyering.net>
82397
82398         * modules/userspec (lib_SOURCES): Add userspec.h.
82399         (Include): Add "userspec.h".
82400         Improve description.
82401
82402 2003-11-03  Jim Meyering  <jim@meyering.net>
82403
82404         * lib/userspec.c: Include "userspec.h".
82405         * lib/userspec.h: New file.
82406
82407 2003-11-03  Bruno Haible  <bruno@clisp.org>
82408
82409         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
82410
82411 2003-11-03  Bruno Haible  <bruno@clisp.org>
82412
82413         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
82414         available, to avoid (extremely rare) race condition.
82415         Suggested by Paul Eggert.
82416
82417 2003-11-02  Karl Berry  <karl@gnu.org>
82418
82419         * config/srclist.txt (vasprintf.c): sync broken, sigh.
82420
82421 2003-10-31  Paul Eggert  <eggert@twinsun.com>
82422
82423         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
82424         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
82425         (read_filesystem_list): Set and use me_type_malloced.
82426         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
82427         whatever the type happens to be), for brevity and consistency.
82428         Check for size calculation overflow on Alphas running OSF/1.
82429
82430 2003-10-31  Jim Meyering  <jim@meyering.net>
82431
82432         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
82433
82434         * lib/linebuffer.c: Include <string.h> for declaration of memset.
82435
82436 2003-10-30  Paul Eggert  <eggert@twinsun.com>
82437             Bruno Haible  <bruno@clisp.org>
82438
82439         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
82440         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
82441
82442 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
82443
82444         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
82445         netbsd*-gnu*.  Suggested by Robert Millan.
82446
82447 2003-10-29  Paul Eggert  <eggert@twinsun.com>
82448
82449         * modules/group-member: Depend on stdbool.
82450
82451 2003-10-29  Paul Eggert  <eggert@twinsun.com>
82452
82453         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
82454
82455 2003-10-29  Paul Eggert  <eggert@twinsun.com>
82456
82457         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
82458         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
82459         after the 'gnu' in these cases.  This fixes some bugs in the
82460         previous change, and is based on suggestions by Robert Millan.
82461
82462 2003-10-29  Paul Eggert  <eggert@twinsun.com>
82463
82464         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
82465         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
82466         no longer needed.
82467         * lib/quotearg.c (quotearg_n_options): Use it.
82468         * lib/group-member.c: Include <stdbool.h>.
82469         (free_group_info): Arg is now const *; don't free arg.
82470         (get_group_info): Now returns bool and accepts struct group_info *,
82471         rather than returning a malloc'ed struct group_info *.
82472         All uses changed.  Check for overflow in internal size calculation.
82473
82474         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
82475         rather than xmalloc/xrealloc.
82476         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
82477         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
82478         conformance bug: the old code used a pointer after freeing the
82479         storage that it addressed.
82480         * lib/hash.c (hash_initialize): Simplify the code by using
82481         xalloc_oversized rather than doing it by hand.
82482         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
82483         the buffer preserved.  Use free and xmalloc instead.
82484         * lib/quotearg.c (quotearg_n_options): Likewise.
82485         Use a simpler test for size overflow.  Don't use xalloc_oversized
82486         because unsigned int might be wider than size_t (!); this suggests
82487         that we should switch from unsigned int to size_t for slot numbers.
82488
82489 2003-10-28  Paul Eggert  <eggert@twinsun.com>
82490
82491         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
82492         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
82493         NetBSD kernels.  Requested by Richard Stallman.
82494
82495 2003-10-27  Paul Eggert  <eggert@twinsun.com>
82496
82497         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
82498         to allocate the returned structure.  Do not allocate a subarray,
82499         as x2nrealloc will do that.
82500         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
82501         instead of xnrealloc.
82502         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
82503
82504 2003-10-27  Bruno Haible  <bruno@clisp.org>
82505
82506         * lib/stdbool_.h: Better support for BeOS.
82507
82508 2003-10-26  Paul Eggert  <eggert@twinsun.com>
82509
82510         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
82511         now uses inline.
82512
82513 2003-10-26  Paul Eggert  <eggert@twinsun.com>
82514
82515         * lib/xalloc.h (xalloc_oversized): New static inline function, for
82516         callers that want to do their own size-overflow checking.  Include
82517         <stdbool.h>, since xalloc_oversized returns bool.
82518         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
82519         to use xalloc_oversized.
82520
82521         Add two functions x2realloc, x2nrealloc, for programs that grow
82522         arrays dynamically by doubling their sizes.
82523         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
82524         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
82525         New functions.
82526
82527         Port to C99 semantics for 'inline' of external functions.
82528         Bug reported by Bruno Haible.
82529         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
82530         with the old contents of xnmalloc.
82531         (xnmalloc, xmalloc): Use it.
82532         (xnrealloc_inline): New static inline function,
82533         with the old contents of xnrealloc.
82534         (xnrealloc, xrealloc): Use it.
82535
82536         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
82537         that.
82538
82539 2003-10-26  Karl Berry  <karl@gnu.org>
82540
82541         * config/srclist.txt (COPYING.DOC): no longer available from
82542         /gd/gnuorg; don't know where the ultimate source is.
82543
82544 2003-10-25  Paul Eggert  <eggert@twinsun.com>
82545
82546         Fix several address-calculation bugs in the hash modules,
82547         plus some minor code cleanup.
82548
82549         * lib/hash.h: Include <stdbool.h>, for bool.
82550         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
82551         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
82552         hash_get_n_entries, hash_get_max_bucket_length,
82553         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
82554         hash_rehash): Use size_t rather than unsigned.
82555         * lib/hash.c (struct hash_table, hash_get_n_buckets,
82556         hash_get_n_buckets_used, hash_get_n_entries,
82557         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
82558         hash_get_entries, hash_do_for_each, hash_string, is_prime,
82559         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
82560         Likewise.
82561         (SIZE_MAX): Define if not defined.
82562         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
82563         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
82564         hash_print):
82565         Use const * when possible.
82566         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
82567         (check_tuning): Fix bug: if tuning parameters were very close to
82568         0 or 1, rounding errors could have caused subscript violations.
82569         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
82570         (hash_initialize): Add 'fail:' label
82571         to free table and return NULL, and use it to simplify code.
82572         Use calloc rather than clearing the storage ourself.
82573         (hash_initialize, hash_rehash): Check for arithmetic overflow in
82574         buffer size calculations.
82575         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
82576         Include <stddef.h>, for size_t.
82577         * lib/hash-pjw.c (hash_pjw): Likewise.
82578         Switch to method described by Bruno Haible.
82579         Include <limits.h>, for CHAR_BIT.
82580         (SIZE_BITS): New macro.
82581
82582 2003-10-23  Paul Eggert  <eggert@twinsun.com>
82583
82584         * m4/getline.m4 (AM_FUNC_GETLINE):
82585         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
82586         hosts.  Problem reported by Derek Robert Price in
82587         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
82588         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
82589         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
82590
82591 2003-10-21  Paul Eggert  <eggert@twinsun.com>
82592
82593         * lib/getndelim2.c (getndelim2): When size calculation overflows,
82594         ceiling the allocation at NMAX bytes rather than silently
82595         discarding input bytes before NMAX is reached.  This makes
82596         a difference only if NMAX exceeds SIZE_MAX / 2.
82597
82598         * lib/obstack.c: Merge from glibc.
82599         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
82600         Add libc_hidden_def (_obstack_newchunk).
82601         (_obstack_free) [! defined _LIBC]: Remove.
82602         [defined _LIBC]: Make a strong alias from obstack_free, rather than
82603         a clone of the function body.
82604         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
82605         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
82606
82607         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
82608         glibc.
82609         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
82610         arg to memcpy.
82611
82612         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
82613         (obstack_ptr_grow_fast, obstack_int_grow_fast):
82614         Don't use lvalue casts, as GCC plans to remove support for them
82615         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
82616         was also present in the non-GCC version, indicating that this
82617         code had always been buggy and had never been widely used.
82618         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
82619         Use the fast variant of each macro, rather than copying the
82620         definiens of the fast variant; that way, we'll be more likely to
82621         catch future bugs in the fast variants.
82622
82623 2003-10-20  Bruno Haible  <bruno@clisp.org>
82624
82625         * modules/wait-process: New file.
82626         * MODULES.html.sh (func_all_modules): Add wait-process.
82627
82628 2003-10-20  Bruno Haible  <bruno@clisp.org>
82629
82630         * m4/wait-process.m4: New file.
82631
82632 2003-10-20  Bruno Haible  <bruno@clisp.org>
82633
82634         * lib/wait-process.h: New file, from GNU gettext.
82635         * lib/wait-process.c: New file, from GNU gettext.
82636
82637 2003-10-19  Jim Meyering  <jim@meyering.net>
82638
82639         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
82640         HPUX 10.20.
82641
82642 2003-10-18  Karl Berry  <karl@gnu.org>
82643
82644         * config/config.guess: update from config.
82645
82646 2003-10-16  Paul Eggert  <eggert@twinsun.com>
82647
82648         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
82649         (getgroups): First arg is int, not size_t.
82650         Don't let 'free' mangle errno.
82651
82652 2003-10-16  Paul Eggert  <eggert@twinsun.com>
82653
82654         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
82655
82656 2003-10-16  Karl Berry  <karl@gnu.org>
82657
82658         * config/config.{guess,sub}: update from config.
82659
82660 2003-10-16  Jim Meyering  <jim@meyering.net>
82661
82662         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
82663         memcpy.
82664
82665 2003-10-15  Paul Eggert  <eggert@twinsun.com>
82666
82667         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
82668         (SIZE_MAX): Remove.
82669         (new_exclude, add_exclude_file): Initial size no longer needs to
82670         be a power of 2.
82671         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
82672         our own address arithmetic overflow checking.
82673
82674         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
82675         (fnmatch): Do not alloca more than 2000 wide characters;
82676         instead, use malloc for large buffers.
82677         Check for address arithmetic overflow, and return -1
82678         with errno set to ENOMEM in that case.
82679         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
82680         (NEW_PATTERN): Do not alloca more than 8000 bytes;
82681         instead, return -1.  Check for address arithmetic overflow.
82682
82683 2003-10-14  Paul Eggert  <eggert@twinsun.com>
82684
82685         Handle invalid suffixes and overflow independently, so that
82686         callers can treat them independently as needed.  Fix some bugs in
82687         suffix handling, e.g., "100k@" was not diagnosed as an invalid
82688         suffix for a human-readable blocksize.  The major caller-visible
82689         change is the addition of a new
82690         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
82691         that both overflow and suffix chars were found.
82692
82693         * lib/human.c (humblock): Don't check separately for invalid suffix
82694         char; that is xstrtoumax's job (now that its bug is fixed).
82695         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
82696         INTMAX_MAX]: New macros.
82697         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
82698         TYPE_MAXIMUM): New macros.
82699         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
82700         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
82701         if overflow occurs, as it's what __strtol does and it's more useful
82702         in practice.
82703         (__xstrtol): If __strtol reports some error other than ERANGE,
82704         reflect it to the caller as LONGINT_INVALID.  If it reports
82705         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
82706         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
82707         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
82708         value.
82709         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
82710         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
82711         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
82712         [defined UINTMAX_MAX]: New macros.
82713
82714 2003-10-14  Bruno Haible  <bruno@clisp.org>
82715
82716         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
82717
82718 2003-10-14  Bruno Haible  <bruno@clisp.org>
82719
82720         * m4/sig_atomic_t: New file, from GNU gettext.
82721         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
82722
82723 2003-10-14  Bruno Haible  <bruno@clisp.org>
82724
82725         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
82726         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
82727         Also use volatile where needed.
82728
82729 2003-10-12  Paul Eggert  <eggert@twinsun.com>
82730
82731         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
82732         Change maintainer from Bruno Haible to 'all'.
82733
82734 2003-10-12  Paul Eggert  <eggert@twinsun.com>
82735
82736         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
82737
82738 2003-10-12  Paul Eggert  <eggert@twinsun.com>
82739
82740         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
82741         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
82742         and define in terms of the other primitives.
82743         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
82744         (SIZE_MAX): Define if not already defined.
82745         (array_size_overflow): New function.
82746         (xalloc_die): Abort instead of exiting if 'error' returns.
82747         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
82748         (xmalloc, xrealloc): Use them.
82749         (xcalloc): Check for address arithmetic overflow.
82750         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
82751         a bit faster than strcpy.
82752
82753 2003-10-10  Simon Josefsson  <jas@extundo.com>
82754
82755         * modules/argp (Depends-on): Add restrict and strcase.
82756
82757 2003-10-10  Simon Josefsson  <jas@extundo.com>
82758
82759         * m4/argp.m4: Add AC_C_INLINE.
82760
82761 2003-10-08  Paul Eggert  <eggert@twinsun.com>
82762
82763         Merge getpass from libc, plus a few fixes.
82764
82765         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
82766         Include <stdbool.h>.
82767         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
82768         __fsetlocking to empty.
82769         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
82770         do include <bits/libc-lock.h>.
82771         Do not include <fcntl.h>; not needed.
82772         [_LIBC]: Include <wchar.h>.
82773         (NOTCANCEL_MODE): New macro.
82774         (flockfile, funlockfile) [_LIBC]: New macros.
82775         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
82776         [!_LIBC]: New macros.
82777         (call_fclose): New function.
82778         (getpass): Use it.  Save tty stream separately; this simplifies the
82779         code and makes it more reliable if stdin happens to equal stdout.
82780         Invoke __fsetlocking on tty.
82781         Handle thread cancellation if needed.
82782         Namespace cleanup (use __tcgetattr, __getline).
82783         Use bool for Booleans.
82784         [USE_IN_LIBIO]: Handle wide streams.
82785         [!_LIBC]: Unconditionally do the fseek, since we don't know what
82786         stream might go where.
82787
82788         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
82789         doesn't have to include <stdio.h> before us.
82790         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
82791         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
82792         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
82793         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
82794         if not declared, so that we can use getpass.c code from libc without
82795         rewriting it.
82796         (flockfile, ftrylockfile, funlockfile): New macros.
82797
82798 2003-10-08  Paul Eggert  <eggert@twinsun.com>
82799
82800         * modules/getpass: Depend on stdbool.
82801
82802 2003-10-08  Paul Eggert  <eggert@twinsun.com>
82803
82804         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
82805
82806 2003-10-07  Karl Berry  <karl@gnu.org>
82807
82808         * config/config.{guess,sub}: update from config.
82809
82810 2003-10-06  Jim Meyering  <jim@meyering.net>
82811             Bruno Haible  <bruno@clisp.org>
82812
82813         This lets translators provide better translations for the
82814         "Written by ..." part of --version output.
82815         * lib/version-etc.h: Include stdarg.h.
82816         (version_etc_copyright): Declare as readonly.
82817         (version_etc): Make this function variadic with a NULL-terminated list
82818         of author name strings.
82819         (version_etc_va): New declaration.
82820         * lib/version-etc.c: Include stdarg.h, stdlib.h.
82821         (version_etc_copyright): Declare as readonly.
82822         (version_etc_va): New function. Provide a different translatable string
82823         for each possible number of authors < 10. Abbreviate when there are 10
82824         authors or more.
82825         (version_etc): Make this function variadic. Call version_etc_va.
82826         Suggestion from Gary V. Vaughan.
82827
82828         * lib/long-options.h (parse_long_options): Change prototype: the
82829         authors string is moved to the end and becomes variadic.
82830         * lib/long-options.c: Include stdarg.h.
82831         (parse_long_options): Make this function variadic, too.
82832         Call version_etc_va, not version_etc.
82833
82834 2003-10-06  Bruno Haible  <bruno@clisp.org>
82835
82836         * modules/version-etc-2: Remove file.
82837         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
82838
82839 2003-10-06  Bruno Haible  <bruno@clisp.org>
82840
82841         * modules/fatal-signal: New file.
82842         * MODULES.html.sh (func_all_modules): Add fatal-signal.
82843
82844 2003-10-06  Bruno Haible  <bruno@clisp.org>
82845
82846         * m4/fatal-signal.m4: New file.
82847         * m4/signalblocking.m4: New file, from GNU gettext.
82848
82849 2003-10-06  Bruno Haible  <bruno@clisp.org>
82850
82851         * lib/version-etc-2.h: Remove file.
82852         * lib/version-etc-2.c: Remove file.
82853
82854 2003-10-06  Bruno Haible  <bruno@clisp.org>
82855
82856         * lib/fatal-signal.h: New file, from GNU gettext.
82857         * lib/fatal-signal.c: New file, from GNU gettext.
82858
82859 2003-10-05  Paul Eggert  <eggert@twinsun.com>
82860
82861         * README: Rework advice for preventing empty .o files.
82862         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
82863         not <sys/types.h>.
82864
82865 2003-10-04  Karl Berry  <karl@gnu.org>
82866
82867         * lib/argp*: update from libc.
82868
82869 2003-10-04  Karl Berry  <karl@gnu.org>
82870
82871         * config/config.{guess,sub}: update from config.
82872
82873 2003-10-02  Bruno Haible  <bruno@clisp.org>
82874
82875         * modules/lchown (Include): Add lchown.h.
82876         * modules/time_r (Include): Use "..." syntax.
82877         * modules/xgetdomainname (Include): Add xgetdomainname.h.
82878
82879 2003-10-01  Simon Josefsson  <jas@extundo.com>
82880
82881         * MODULES.html.sh (func_all_modules): Move gethostname from section
82882         'based on' to section 'lacking' POSIX:2001.
82883
82884 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
82885
82886         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
82887         to output mode on the same stream.
82888
82889 2003-09-29  Paul Eggert  <eggert@twinsun.com>
82890
82891         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
82892         Fix arg typo in previous patch.
82893
82894 2003-09-28  Jim Meyering  <jim@meyering.net>
82895
82896         * lib/error.c: Correct cpp indentation.
82897
82898 2003-09-27  Paul Eggert  <eggert@twinsun.com>
82899
82900         * modules/free: New file.
82901
82902 2003-09-27  Paul Eggert  <eggert@twinsun.com>
82903
82904         * m4/free.m4: New file.
82905
82906 2003-09-27  Paul Eggert  <eggert@twinsun.com>
82907
82908         * lib/minmax.h (MIN, MAX)
82909         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
82910         Omit the special code that used __typeof__, since we worry that
82911         it could be more trouble than it's worth.  See:
82912         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
82913         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
82914
82915         * lib/free.c: New file.
82916
82917 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
82918
82919         Trivial fixes to Makefile.am parts of module listings.
82920         * modules/strstr: Append strstr.h to lib_SOURCES.
82921         * modules/strcase: Likewise, for strcase.h.
82922
82923 2003-09-27  Karl Berry  <karl@gnu.org>
82924
82925         * config/mkinstalldirs: update from automake.
82926
82927 2003-09-26  Paul Eggert  <eggert@twinsun.com>
82928
82929         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
82930         (error_tail): Do not loop, reallocating temporary buffer, since
82931         the output cannot contain more wide characters than the input
82932         contains bytes, the size must be big enough already.  This avoids
82933         one potential size overflow calculation.  Check for size overflow
82934         when calculating temporary buffer size.  Free temporary buffer
82935         when done, if it was allocated with malloc; this plugs a memory
82936         leak.  Remove casts from void * to pointers, that are no longer
82937         needed now that we're assuming C89 or better.
82938
82939         Merge error changes from glibc.
82940
82941         * lib/error.c, error.h: Update copyright notice header to match glibc.
82942         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
82943         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
82944         Disable cancellation while printing error.
82945         * lib/error.h: Prepend __ to parameter names.
82946
82947 2003-09-26  Jim Meyering  <jim@meyering.net>
82948
82949         * lib/error.c (error_tail): Move some declarations
82950         into inner scope where the local variables are used.
82951
82952 2003-09-26  Bruno Haible  <bruno@clisp.org>
82953
82954         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
82955         stpncpy().
82956         Don't define stpncpy through config.h; it's now done through stpncpy.h.
82957
82958 2003-09-26  Bruno Haible  <bruno@clisp.org>
82959
82960         * lib/stpncpy.h (gnu_stpncpy): New declaration.
82961         (stpncpy): Define as alias for gnu_stpncpy.
82962         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
82963
82964 2003-09-25  Simon Josefsson  <jas@extundo.com>
82965
82966         * lib/xgetdomainname.h: New file.
82967         * lib/xgetdomainname.c: New file.
82968
82969 2003-09-25  Simon Josefsson  <jas@extundo.com>
82970             Bruno Haible  <bruno@clisp.org>
82971
82972         * modules/getdomainname: New file.
82973         * modules/xgetdomainname: New file.
82974         * MODULES.html.sh (func_all_modules): Add getdomainname,
82975         xgetdomainname.
82976
82977 2003-09-25  Simon Josefsson  <jas@extundo.com>
82978             Bruno Haible  <bruno@clisp.org>
82979
82980         * m4/getdomainname.m4: New file.
82981
82982 2003-09-25  Simon Josefsson  <jas@extundo.com>
82983             Bruno Haible  <bruno@clisp.org>
82984
82985         * lib/getdomainname.h: New file.
82986         * lib/getdomainname.c: New file.
82987
82988 2003-09-25  Karl Berry  <karl@gnu.org>
82989
82990         * lib/argp-fmtstream.c, argp-help.c: update from libc.
82991
82992 2003-09-25  Karl Berry  <karl@gnu.org>
82993
82994         * config/install-sh: update from automake.
82995
82996 2003-09-25  Bruno Haible  <bruno@clisp.org>
82997
82998         * modules/version-etc-2: New file, from modules/version-etc with
82999         modifications.
83000         * MODULES.html.sh (func_all_modules): Add version-etc-2.
83001
83002 2003-09-25  Bruno Haible  <bruno@clisp.org>
83003
83004         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
83005         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
83006
83007 2003-09-24  Simon Josefsson  <jas@extundo.com>
83008
83009         * modules/xgethostname: Add xgethostname.h.
83010
83011 2003-09-24  Paul Eggert  <eggert@twinsun.com>
83012
83013         * lib/linebuffer.c (freebuffer): Don't free the argument, just
83014         the buffer associated with the argument.  Bug reported by
83015         Simon Josefsson.
83016
83017 2003-09-24  Paul Eggert  <eggert@twinsun.com>
83018
83019         * README: Document assumptions that 'int' is at least 32 bits
83020         wide, that integer arithmetic is 2's complement without overflow,
83021         that there are no holes in integer values, that adding sizes of
83022         two nonoverlapping objects can't overflow, and that all-bits-zero
83023         yields scalar zero.  Fix spelling and capitalization typos.
83024
83025 2003-09-19  Karl Berry  <karl@gnu.org>
83026
83027         * lib/argp.h: update from libc.
83028
83029 2003-09-17  Paul Eggert  <eggert@twinsun.com>
83030
83031         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
83032         to avoid spurious warnings like "AC_RUN_IFELSE was called before
83033         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
83034
83035 2003-09-17  Paul Eggert  <eggert@twinsun.com>
83036
83037         * gnulib-tool: Use "test -h", not "test -L", for portability
83038         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
83039         (tags_regexp): Remove, since \| doesn't conform to POSIX.
83040         (sed_extract_prog): Issue s commands one-by-one, rather than
83041         using \| in one s command.
83042
83043 2003-09-16  Paul Eggert  <eggert@twinsun.com>
83044
83045         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
83046         input error, instead of returning NULL the next time we are called
83047         (and therefore losing track of errno).
83048
83049 2003-09-16  Bruno Haible  <bruno@clisp.org>
83050
83051         * gnulib-tool (func_create_testdir): Warn about duplicated
83052         dependencies.
83053
83054 2003-09-15  Paul Eggert  <eggert@twinsun.com>
83055
83056         * modules/argmatch, modules/fatal, modules/obstack,
83057         modules/xalloc, modules/xgethostname: Sort dependencies by
83058         importance, not alphabetically.
83059
83060 2003-09-15  Paul Eggert  <eggert@twinsun.com>
83061
83062         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
83063         fails, so that the caller gets the proper errno.
83064
83065         * lib/readutmp.c (read_utmp): Likewise.
83066         Check for fstat error.  Close stream and free storage
83067         when failing.
83068
83069 2003-09-14  Karl Berry  <karl@gnu.org>
83070
83071         * config/srclist.txt (strdup.c): disable for c89 changes.
83072
83073 2003-09-14  Jim Meyering  <jim@meyering.net>
83074
83075         * lib/getloadavg.c: Correct cpp indentation.
83076         * lib/strdup.c: Likewise.
83077         * lib/vasnprintf.c: Likewise.
83078
83079 2003-09-14  Bruno Haible  <bruno@clisp.org>
83080
83081         * modules/fwriteerror: New file.
83082         * MODULES.html.sh (func_all_modules): Add fwriteerror.
83083
83084 2003-09-14  Bruno Haible  <bruno@clisp.org>
83085
83086         * lib/fwriteerror.h: New file.
83087         * lib/fwriteerror.c: New file.
83088
83089 2003-09-12  Paul Eggert  <eggert@twinsun.com>
83090
83091         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
83092         modules/xgethostname, modules/xalloc: Depend on exit.
83093
83094 2003-09-12  Paul Eggert  <eggert@twinsun.com>
83095
83096         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
83097
83098         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
83099         and AC_MINIX, too, so that their extensions are available.
83100
83101         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
83102         This macro has been superseded by gl_BACKUPFILE.
83103
83104         More patches to assume C89 or better.
83105
83106         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
83107
83108         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
83109         unconditionally.
83110         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
83111         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
83112         Include <string.h>, <stdlib.h> unconditionally.
83113         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
83114         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
83115         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
83116         headers or for string.h.
83117         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
83118         or strtoul.
83119
83120         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
83121         headers.
83122         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
83123         * m4/userspec.m4 (gl_USERSPEC): Likewise.
83124         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
83125         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
83126         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
83127         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
83128         memcpy, memset.
83129         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
83130         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
83131         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
83132         strtol.
83133         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
83134         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
83135         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
83136         strtoul.
83137
83138 2003-09-12  Paul Eggert  <eggert@twinsun.com>
83139
83140         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
83141         * lib/obstack.c [!defined _LIBC]: Likewise.
83142         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
83143         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
83144         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
83145
83146         More changes to assume C89 or better.
83147
83148         * lib/error.c (error_tail): Assume vprintf.
83149
83150         * lib/argmatch.c (getenv): Remove decl.
83151         * lib/progreloc.c (get_full_program_name): Define via prototype.
83152         * lib/setenv.c (clearenv): Likewise.
83153         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
83154         needed.
83155         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
83156         (malloc, memcpy): Remove decls.
83157         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
83158         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
83159         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
83160         (memcpy): Remove macro.
83161         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
83162         (__P): Remove.  All uses removed.
83163         (PTR): Remove.  All uses changed to void *.
83164         (CHAR_BIT, NULL): Remove.
83165         (spaces, zeros, memset_space, memset_zero)
83166         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
83167         Remove.
83168         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
83169         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
83170         Define with prototype.
83171         Remove now-unnecessary prototype decl.
83172         (extra_args_spec): Assume ANSI C.  All uses changed.
83173         (extra_args_spec_iso): Remove.
83174         (my_strftime, emacs_strftimeu): Define via prototype.
83175         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
83176         unconditionally.
83177         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
83178         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
83179         (strtoul, strtol): Remove decls.
83180         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
83181         LONG_MAX): Remove.
83182         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
83183         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
83184         (LOCALE_PARAM_PROTO): New macro.
83185         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
83186         (INTERNAL (strtol), strtol): Define with a prototype.
83187         (PARAMS): Remove.  All uses removed.
83188         * lib/tempname.c: Include <string.h> unconditionally.
83189         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
83190         * lib/xgethostname.c (main): Define with a prototype.
83191         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
83192         Include <stdlib.h> unconditionally.
83193         (calloc, malloc, realloc, free): Remove decls.
83194         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
83195         Include <stdlib.h> unconditionally.  Sort include file names.
83196         (strtod): Remove.
83197         (xstrtod): Define with a prototype.
83198         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
83199         (strtol, strtoul): Remove decls.
83200
83201 2003-09-11  Paul Eggert  <eggert@twinsun.com>
83202
83203         More patches to assume C89 or better.
83204         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
83205         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
83206         string.h, memchr, STDC_HEADERS.
83207
83208 2003-09-11  Paul Eggert  <eggert@twinsun.com>
83209
83210         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
83211         Include <stdlib.h>, <string.h> unconditionally.
83212         Remove now-unnecessary cast to char *.
83213         * lib/strnlen.c: Include <string.h> unconditionally.
83214         * lib/yesno.c (yesno): Define with a prototype.
83215
83216 2003-09-11  Bruno Haible  <bruno@clisp.org>
83217
83218         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
83219
83220 2003-09-10  Jim Meyering  <jim@meyering.net>
83221
83222         * lib/error.c: Correct indentation of cpp directives.
83223
83224 2003-09-10  Bruno Haible  <bruno@clisp.org>
83225
83226         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
83227         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
83228         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
83229         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
83230         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
83231         <stdlib.h> and <string.h> checks.
83232         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
83233         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
83234
83235 2003-09-10  Bruno Haible  <bruno@clisp.org>
83236
83237         * lib/strcspn.c: Include <string.h> unconditionally.
83238         * lib/strpbrk.c: Include <string.h> unconditionally.
83239         * lib/strstr.c: Include <string.h> unconditionally.
83240         * lib/unicodeio.c: Include <string.h> unconditionally.
83241         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
83242         * lib/unsetenv.c: Likewise.
83243         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
83244         * lib/yesno.c: Include <stdlib.h> unconditionally.
83245         (rpmatch): Add prototype.
83246
83247 2003-09-09  Paul Eggert  <eggert@twinsun.com>
83248
83249         More patches to assume C89 or better.
83250         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
83251         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
83252         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
83253         or for string.h.
83254         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
83255         stdlib.h.
83256         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
83257         C headers.
83258         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
83259         string.h.
83260         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
83261         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
83262         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
83263         or for string.h.
83264         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
83265         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
83266         C headers.
83267         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
83268         memcpy.
83269         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
83270         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
83271         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
83272         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
83273         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
83274         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
83275         string.h, free.
83276         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
83277         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
83278         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
83279         C headers, or for string.h.
83280         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
83281         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
83282         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
83283         headers, memory.h, stdlib.h, string.h, strings.h.
83284         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
83285         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
83286         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
83287         strchr.
83288         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
83289         headers, memory.h, string.h.
83290         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
83291         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
83292         free.
83293         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
83294         headers.
83295         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
83296         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
83297         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
83298         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
83299         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
83300
83301 2003-09-09  Paul Eggert  <eggert@twinsun.com>
83302
83303         More K&R removal.
83304
83305         * lib/acosl.c (main): Use a prototype.
83306         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
83307         tanl.c: Likewise.
83308
83309         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
83310
83311         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
83312         (getopt, etopt_long, getopt_long_only, _getopt_internal)
83313         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
83314         with a prototype.
83315         * lib/getopt.c (const): Remove macro.
83316         Include <string.h> unconditionally.
83317         (my_index): Remove; all uses changed to strchr.
83318         (strlen): Remove decl.
83319         (exchange): Remove forward decl; no longer needed.
83320         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
83321         Define with prototype.
83322         * lib/getopt1.c (const): Remove macro.
83323         (getopt_long, getopt_long_only, main): Define with prototype.
83324
83325         * lib/getugroups.c: Include <string.h> unconditionally.
83326
83327         * lib/getusershell.c: Include <stdlib.h> unconditionally.
83328         (getusershell, setusershell, endusershell, readname, main):
83329         Define with prototypes.
83330
83331         * lib/group-member.c: Include group-member.h first.
83332         Include <stdlib.h> unconditionally.
83333
83334         * lib/hard-locale.c: Include hard-locale.h first.
83335         Include <stdlib.h>, <string.h> unconditionally.
83336
83337         * lib/hash.c (free, malloc): Remove decls.
83338         Include <stdlib.h> unconditionally.
83339
83340         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
83341         (getenv): Do not declare.
83342
83343         * lib/idcache.c: Include <string.h> unconditionally.
83344
83345         * lib/long-options.c: Include long-options.h first, to test interface.
83346         Include <stdlib.h> unconditionally.
83347
83348         * lib/makepath.c: Include makepath.h first, to test interface.
83349         Include <stdlib.h> and <string.h> unconditionally.
83350
83351         * lib/linebuffer.c: Include <stdlib.h>.
83352         (free): Remove decl.
83353
83354         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
83355         stddef.h. rpl_malloc returns void *, not char *.
83356         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
83357         prototype.
83358
83359         * lib/md5.h: Include <limits.h> unconditionally.
83360         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
83361         (__P): Remove; all uses removed.
83362         * lib/md5.c: Include "md5.h" first.
83363         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
83364         md5_buffer, md5_process_bytes, md5_process_block):
83365         Define with prototypes.
83366         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
83367         * lib/sha.c: Include "sha.h" first.
83368         Include <stdlib.h>, <string.h> unconditionally.
83369
83370         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
83371         * lib/memcmp.c (__ptr_t): Likewise.
83372         * lib/memrchr.c (__ptr_t): Likewise.
83373         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
83374         Include <string.h> unconditionally.
83375         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
83376         * lib/memchr.c: Include <stdlib.h> unconditionally.
83377         * lib/memchr.c (LONG_MAX): Remove.
83378         * lib/memrchr.c (LONG_MAX): Likewise.
83379         * lib/memchr.c (__memchr): Define via a prototype.
83380         * lib/memrchr.c (__memrchr): Likewise.
83381         * lib/memcmp.c (__P): Remove, and remove all uses.
83382         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
83383         Remove forward decls; no longer needed.
83384         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
83385         Use types required by C89 in prototype.
83386
83387         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
83388         * lib/savedir.c: Likewise.
83389         * lib/mkdir.c (free): Remove decl.
83390         * lib/rmdir.c (rmdir): Define with a prototype.
83391         * lib/savedir.c: Include savedir.h first, to test interface.
83392
83393         * lib/mktime.c (STDC_HEADERS): Remove.
83394         Include <stdlib.h>, <string.h> unconditionally.
83395
83396         * lib/modechange.c: Include <stdlib.h> unconditionally.
83397         (malloc): Remove decl.
83398
83399         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
83400         (free): Remove decl.
83401
83402         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
83403         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
83404         (This type really should be intptr_t, but that's a C99ism.)
83405         (_obstack_memcpy): Remove: all uses changed to memcpy.
83406         Include <string.h> unconditionally.
83407         (struct obstack): Assume __STDC__ for types of members
83408         chunkfun, freefun, extra_arg.
83409         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
83410         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
83411         obstack_begin, obstack_specify_allocation,
83412         obstack_specify_allocation_with_arg, obstack_chunkfun,
83413         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
83414         Remove unprototyped decls and the macros that use them.
83415         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
83416         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
83417         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
83418         (defined __STDC__ && __STDC__)]:
83419         Remove nonprototyped code.
83420         Include <stdlib.h> unconditionally.
83421         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
83422         _obstack_allocated_p, _obstack_free, obstack_free,
83423         _obstack_memory_used, print_and_abort):
83424         Define using prototypes.
83425         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
83426         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
83427         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
83428         obstack_next_free, obstack_object_size, obstack_room) [0]:
83429         Remove unused, unprototyped code.
83430
83431         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
83432
83433         * lib/physmem.c (physmem_total, physmem_available, main): Define
83434         with prototypes.
83435
83436         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
83437         (main): Define with a prototype.
83438
83439         * lib/posixver.c (getenv): Remove decl.
83440
83441         * lib/putenv.c (malloc): Returns void *, not char *.
83442         Include <string.h> unconditionally.
83443         (strchr, memcpy, NULL): Do not define.
83444
83445         * lib/readtokens.c: Include readtokens.h first, to test interface.
83446         Include <stdlib.h>, <string.h> unconditionally.
83447         (init_tokenbuffer): Define with a prototype.
83448
83449         * lib/regex.c (PARAMS): Remove.  All uses removed.
83450         All uses of _RE_ARGS removed, too.
83451         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
83452         unconditionally.
83453         (bzero): Assume memset exists.
83454         (memcmp, memcpy, NULL): Remove.
83455         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
83456         char, or assignments to local vars of type signed char.
83457         (init_syntax_once, PREFIX(extract_number_and_incr),
83458         PREFIX(print_partial_compiled_pattern),
83459         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
83460         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
83461         PREFIX(regex_grow_registers), PREFIX(regex_compile),
83462         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
83463         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
83464         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
83465         wcs_compile_range, byte_compile_range, truncate_wchar,
83466         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
83467         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
83468         count_mbs_length, wcs_re_match_2_internal,
83469         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
83470         PREFIX(alt_match_null_string_p),
83471         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
83472         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
83473         regfree, PREFIX(extract_number)): Define with prototype.  Remove
83474         now-unnecessary declaration, if any.
83475         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
83476         regcomp, regexec):
83477         Remove now-unnecessary casts among pointer types.
83478         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
83479
83480         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
83481         (free): Remove decl.
83482
83483         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
83484
83485         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
83486         (free): Remove decl.
83487
83488         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
83489         * lib/xgetcwd.c: Likewise.
83490
83491         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
83492         (free): Remove decl.
83493
83494         * lib/strchrnul.c (strchrnul): Define with a prototype.
83495         Fix bug: c_in was not converted to char before searching.
83496
83497         The following changes are not K&R related:
83498
83499         * lib/group-member.h: Include <sys/types.h>, so that this file is
83500         self-contained.
83501         * lib/makepath.h: Likewise.
83502
83503         * lib/getusershell.c (readname, default_index, line_size, readname):
83504         Use size_t, not int, for sizes.
83505         (readname): If the size overflows, report an error instead of
83506         looping forever.
83507
83508 2003-09-09  Paul Eggert  <eggert@twinsun.com>
83509
83510         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
83511         libc.
83512
83513 2003-09-09  Paul Eggert  <eggert@twinsun.com>
83514
83515         * README: New section: portability guidelines.
83516
83517 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
83518
83519         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
83520         C89 spec.
83521
83522 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
83523
83524         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
83525
83526 2003-09-08  Paul Eggert  <eggert@twinsun.com>
83527
83528         Assume C89 or better; remove K&R cruft.
83529         A few of these changes were first proposed by Derek Robert Price
83530         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
83531
83532         * lib/addext.c: Include <string.h> unconditionally.
83533         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
83534         Don't declare getenv or malloc.
83535
83536         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
83537         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
83538         (NULL): Remove.
83539         (find_stack_direction, alloca): Use prototypes.
83540
83541         * lib/atexit.c (atexit): Define using a prototype.
83542
83543         * lib/basename.c, dirname.c, stripslash.c:
83544         Include <string.h> unconditionally.
83545
83546         * lib/bcopy.c: Include <stddef.h>.
83547         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
83548
83549         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
83550
83551         * lib/error.h (error, error_at_line, error_print_progname)
83552         [! (defined (__STDC__) && __STDC__)]: Remove decls.
83553         * lib/error.c: Include error.h first, to check interface.
83554         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
83555         (VA_START): Remove; all uses changeed to va_start.
83556         (exit, strerror): Remove decls.
83557         (error_print_progname): Prototype uncondionally.
83558         Don't include <errno.h>; no longer needed.
83559         (private_strerror): Remove.
83560         (error_tail): Always define.
83561         (error, error_at_line): Assume C89 or better; always use prototypes.
83562         * lib/fatal.c: Include "fatal.h" first, to test interface.
83563         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
83564         (VA_START): Remove; all uses changed to va_start.
83565         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
83566         this case.
83567         (exit): Remove decl.
83568         (fatal): Prototype unconditionally.  Assume va_start works.
83569         Abort at end, to pacify gcc.
83570
83571         * lib/euidaccess.c (main): Define with a prototype.
83572
83573         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
83574
83575         * lib/exitfail.c: Include <stdlib.h> unconditionally.
83576
83577         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
83578         prototypes.
83579         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
83580         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
83581         (getenv): Remove decl.
83582         (fnmatch): Define using a prototype.
83583         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
83584         (FCT): Define using a prototype.
83585
83586         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
83587
83588         * lib/gethostname.c: Include <stddef.h>.
83589         (gethostname): Define with prototype.  Length is size_t, not int.
83590
83591 2003-09-08  Paul Eggert  <eggert@twinsun.com>
83592
83593         Assume C89 or better; remove K&R cruft.
83594         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
83595         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
83596         string.h, getenv, malloc.
83597         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
83598         headers.
83599         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
83600         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
83601         do not check for strerror.
83602         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
83603         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
83604         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
83605         do not check for doprnt or vprintf.
83606         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
83607         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
83608
83609 2003-09-08  Paul Eggert  <eggert@twinsun.com>
83610
83611         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
83612         getversion.c should have been removed then, but was accidentally
83613         preserved.
83614
83615         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
83616         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
83617
83618 2003-09-08  Karl Berry  <karl@gnu.org>
83619
83620         * config/config.sub, config.guess, srclistvars.sh: update from savannah
83621                 config, forget about prep.
83622
83623         * config/depcomp, missing: update from automake.
83624
83625 2003-09-07  Paul Eggert  <eggert@twinsun.com>
83626
83627         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
83628         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
83629
83630 2003-09-07  Paul Eggert  <eggert@twinsun.com>
83631
83632         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
83633         copy_tm_result.  Bug reported by Simon Josefsson in
83634         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
83635
83636 2003-09-06  Paul Eggert  <eggert@twinsun.com>
83637
83638         * m4/time_r.m4: New file.
83639         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
83640         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
83641         is. Check for timegm declaration.
83642         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
83643         Do not check for gmtime_r.
83644         Replace mktime if __mktime_internal does not exist and if mktime
83645         hasn't been replaced already.
83646
83647 2003-09-06  Paul Eggert  <eggert@twinsun.com>
83648
83649         * lib/time_r.c, lib/time_r.h: New files.
83650
83651         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
83652         __localtime_r.
83653         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
83654         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
83655
83656         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
83657         __gmtime_r.
83658         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
83659         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
83660         Include <time_r.h>.
83661
83662         * lib/timegm.c: Switch to glibc implementation, with the following
83663         changes:
83664         [defined HAVE_CONFIG_H]: Include <config.h>.
83665         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
83666         (__mktime_internal) [!defined _LIBC]: New decl.
83667         (__gmtime_r) [!defined _LIBC]: New macro and function.
83668         (timegm): Use a prototype, since gnulib assumes C89.
83669         Do not bother declaring tmp to be const, as it's not really usefu.
83670         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
83671         (timegm): Declare only if HAVE_DECL_TIMEGM.
83672
83673 2003-09-06  Paul Eggert  <eggert@twinsun.com>
83674
83675         * MODULES.html.sh (func_all_modules): Add time_r.
83676         * modules/time_r: New file.
83677         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
83678         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
83679
83680 2003-09-03  Paul Eggert  <eggert@twinsun.com>
83681
83682         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
83683         Bug reported by Lute Kamstra in
83684         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
83685
83686         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
83687         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
83688         course with correspondingly smaller numbers for tomorrow and
83689         yesterday.  From Tadayoshi Funaba.  Originally installed into
83690         sh-utils on 1999-08-07, but the patch got lost (I guess during the
83691         coreutils merge?).
83692
83693 2003-08-31  Simon Josefsson  <jas@extundo.com>
83694
83695         * modules/timegm: New file.
83696         * MODULES.html.sh (func_all_modules): Add timegm.
83697
83698 2003-08-31  Simon Josefsson  <jas@extundo.com>
83699
83700         * m4/timegm.m4: New file.
83701
83702 2003-08-31  Simon Josefsson  <jas@extundo.com>
83703
83704         * lib/timegm.h: New file.
83705         * lib/timegm.c: New file.  Based on
83706         wget-1.8.2/src/http.c:mktime_from_utc.
83707
83708 2003-08-31  Karl Berry  <karl@gnu.org>
83709
83710         * lib/argp.h: update from libc.
83711
83712 2003-08-28  Bruno Haible  <bruno@clisp.org>
83713
83714         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
83715         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
83716         followed by '#define fnmatch fnmatch_posix' gives an error.
83717
83718 2003-08-28  Bruno Haible  <bruno@clisp.org>
83719
83720         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
83721         warning on QNX, which defines O_BINARY to 000000.
83722
83723 2003-08-27  Jim Meyering  <jim@meyering.net>
83724
83725         * m4/mkstemp.m4: Require that the system mkstemp be able to create
83726         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
83727         would fail after 32.  Reported by Danny Levinson.  Details here:
83728         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
83729
83730 2003-08-24  Bruno Haible  <bruno@clisp.org>
83731
83732         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
83733         MSVC7 <stdio.h> is included later.
83734
83735 2003-08-22  Simon Josefsson  <jas@extundo.com>
83736
83737         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
83738
83739 2003-08-20  Karl Berry  <karl@gnu.org>
83740
83741         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
83742
83743 2003-08-20  Bruno Haible  <bruno@clisp.org>
83744
83745         * modules/progname: New file.
83746         * MODULES.html.sh (func_all_modules): Add progname.
83747
83748 2003-08-20  Bruno Haible  <bruno@clisp.org>
83749
83750         * lib/progname.h: New file, from GNU gettext.
83751         * lib/progname.c: New file, from GNU gettext.
83752         * lib/progreloc.c: New file, from GNU gettext.
83753
83754 2003-08-19  Jim Meyering  <jim@meyering.net>
83755
83756         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
83757         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
83758
83759 2003-08-19  Bruno Haible  <bruno@clisp.org>
83760
83761         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
83762         more.
83763
83764 2003-08-19  Bruno Haible  <bruno@clisp.org>
83765
83766         * lib/xstrdup.c: Assume <string.h> exists.
83767
83768 2003-08-18  Paul Eggert  <eggert@twinsun.com>
83769
83770         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
83771         in makefile rules.
83772
83773 2003-08-18  Jim Meyering  <jim@meyering.net>
83774
83775         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
83776         * m4/lib-ld.m4: Likewise.
83777
83778 2003-08-18  Jim Meyering  <jim@meyering.net>
83779
83780         * lib/setenv.h: Indent nested cpp directive.
83781         * lib/vasnprintf.c: Remove trailing blanks.
83782
83783 2003-08-17  Simon Josefsson  <jas@extundo.com>
83784
83785         * modules/xstrndup: New file.
83786         * MODULES.html.sh (func_all_modules): Add xstrndup.
83787
83788 2003-08-17  Simon Josefsson  <jas@extundo.com>
83789
83790         * modules/argp: Fix autoconf macro name. Add more dependencies.
83791
83792 2003-08-17  Simon Josefsson  <jas@extundo.com>
83793
83794         * m4/xstrndup.m4: New file.
83795
83796 2003-08-17  Simon Josefsson  <jas@extundo.com>
83797
83798         * m4/argp.m4: New file.
83799
83800 2003-08-17  Simon Josefsson  <jas@extundo.com>
83801             Bruno Haible  <bruno@clisp.org>
83802
83803         * lib/xstrndup.h: New file.
83804         * lib/xstrndup.c: New file.
83805
83806 2003-08-17  Bruno Haible  <bruno@clisp.org>
83807
83808         * modules/strndup (Files, Include): Add lib/strndup.h.
83809
83810 2003-08-17  Bruno Haible  <bruno@clisp.org>
83811
83812         * modules/euidaccess (Files): Add lib/euidaccess.h.
83813
83814 2003-08-17  Bruno Haible  <bruno@clisp.org>
83815
83816         * lib/strndup.h: New file.
83817
83818 2003-08-17  Bruno Haible  <bruno@clisp.org>
83819
83820         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
83821         like AC_GNU_SOURCE.
83822         * modules/extensions (configure.ac): Comment out the invocation of
83823         gl_USE_SYSTEM_EXTENSIONS.
83824
83825 2003-08-16  Paul Eggert  <eggert@twinsun.com>
83826
83827         Merges from coreutils, etc.
83828         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
83829         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
83830         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
83831         fixing a typo.
83832         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
83833         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
83834
83835 2003-08-16  Paul Eggert  <eggert@twinsun.com>
83836
83837         Document merge from coreutils.
83838         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
83839         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
83840         * modules/utime: Add m4/utimes-null.m4.
83841
83842 2003-08-16  Paul Eggert  <eggert@twinsun.com>
83843
83844         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
83845         space, undoing this 2003-08-12 change:
83846         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
83847
83848 2003-08-16  Paul Eggert  <eggert@twinsun.com>
83849
83850         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
83851         strtoul.c from libc, undoing this 2003-08-12 change:
83852         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
83853
83854 2003-08-16  Jim Meyering  <jim@meyering.net>
83855
83856         Merges from coreutils.
83857         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
83858         prefix.  Adjust cache variables similarly.  Create 500 rather than
83859         just 300 files, to exercise bug on Darwin6.5, too.
83860         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
83861         $missing_dir.
83862         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
83863         AM_SYS_POSIX_TERMIOS.
83864         Reported by mkc@mathdogs.com.
83865         Also change use of $am_cv_sys_posix_termios
83866         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
83867         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
83868         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
83869         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
83870         in /proc/mounts until it finds one with matching device number.  This
83871         is unnecessary when the FILE argument *is* a mount point.  No stat call
83872         is necessary in that case.  So, disable the statvfs-testing code on
83873         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
83874         as RedHat bug# 84846.
83875         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
83876         to 1MB, so as not to render systems with no stack size limit (e.g.,
83877         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
83878         Include <unistd.h>.  On some systems,
83879         it is required for the definition of _SC_PAGESIZE.
83880
83881 2003-08-16  Jim Meyering  <jim@meyering.net>
83882
83883         Merge from coreutils.
83884         * lib/xstrtoimax.c: #else #if -> #elif.
83885         * lib/xstrtoumax.c: Likewise.
83886
83887 2003-08-16  Jim Meyering  <jim@meyering.net>
83888
83889         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
83890         * m4/utimes.m4: Removed.
83891         * m4/utimes-null.m4: Renamed from utimes.m4.
83892
83893         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
83894         to 1MB, so as not to render systems with no stack size limit (e.g.,
83895         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
83896         Include <unistd.h>.  On some systems,
83897         it is required for the definition of _SC_PAGESIZE.
83898
83899 2003-08-16  Jim Meyering  <jim@meyering.net>
83900         and Paul Eggert  <eggert@cs.ucla.edu>
83901
83902         Merges from coreutils, etc.
83903
83904         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
83905         using the latest version from cvs.  This avoids problems with #line
83906         directives using a vendor (Sun) compiler.
83907         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
83908         Don't set GETGROUPS_LIB here; now it's
83909         done via getgroups.m4's wrapper function.
83910         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
83911         rather than just in sh-util/configure.in, so that the
83912         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
83913         same.
83914         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
83915         AC_FUNC_GETLOADAVG where to find getloadavg.c.
83916         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
83917         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
83918         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
83919         Remove code that is now done by the newly-required macros.
83920         Append $(EXEEXT) to DF_PROG.
83921         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
83922         Do not invoke or require the following here,
83923         since prereq.m4 or some gnulib .m4 now does this for us:
83924         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
83925         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
83926         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
83927         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
83928         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
83929         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
83930         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
83931         AC_FUNC_OBSTACK.
83932         Do not replace the following functions, as this is now the job
83933         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
83934         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
83935         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
83936         atexit getpass, strdup, getpagesize.
83937         Replace 'raise'.
83938         Do not check for the following functions, as this is now the job
83939         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
83940         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
83941         setregid.
83942         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
83943         Check for sys/sysctl.h.
83944         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
83945         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
83946         of checking for ssize_t ourselves.
83947
83948         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
83949         Require every macro that gnulib/modules/* suggests for us.
83950         (jm_PREREQ_ADDEXT): New macro.
83951         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
83952         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
83953
83954         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
83955         (gl_PHYSMEM): Use it.
83956         Also check for `table' function.
83957         Check for new headers and functions.
83958         Add check for sys/sysmp.h.
83959         With suggestions from Kaveh Ghazi.
83960         Ignore headers that are present but cannot be compiled.  This
83961         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
83962         C 5.4.
83963
83964 2003-08-15  Paul Eggert  <eggert@twinsun.com>
83965
83966         Document merge from coreutils.
83967         * modules/userspec: Depend on posixver.
83968         * modules/strftime: Depend on tzset.
83969
83970 2003-08-15  Paul Eggert  <eggert@twinsun.com>
83971
83972         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
83973         rather than tab, after '#' in shell-script copyright notices.
83974         Suggested by Bruno Haible.
83975
83976 2003-08-15  Paul Eggert  <eggert@twinsun.com>
83977
83978         * config/srclist-update: Use three spaces, rather than tab, after '#'
83979         in shell-script copyright notices.  Suggested by Bruno Haible.
83980         Remove unnecessary parenthesization in regular expression.
83981
83982 2003-08-15  Jim Meyering  <jim@meyering.net>
83983
83984         Merge from coreutils.
83985         * lib/xgethostname.c: Include <stdlib.h>.
83986         (xghostname): Don't exit for anything other than memory-related
83987         failure; just return NULL.
83988         * lib/userspec.c: Include "posixver.h".
83989         (parse_user_spec): Accept `.' as a separator only
83990         in pre-POSIX-200112 mode.
83991         * lib/strtoimax.c: Use #elif rather than #else #if.
83992         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
83993         Remove function, now that we can rely on a working tzset function.
83994         [!_LIBC]: Ensure that the required autoconf test has been run.
83995         [!defined _NL_CURRENT && HAVE_STRFTIME]:
83996         Use underlying_strftime for %r.
83997         * lib/sha.c: Merge in some clean-up and optimization changes from
83998         glibc.
83999         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
84000         Ensure that it is a multiple of 64.
84001         Rearrange loop exit tests so as to avoid performing an
84002         additional fread after encountering an error or EOF.
84003         * lib/realloc.c: Update copyright date.
84004
84005 2003-08-15  Jim Meyering  <jim@meyering.net>
84006         and Paul Eggert  <eggert@twinsun.com>
84007
84008         Merge from coreutils.
84009         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
84010         member but strut utmpx does not.  Needed for AIX 4.3.3.
84011         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
84012
84013 2003-08-15  Jim Meyering  <jim@meyering.net>
84014         and Paul Eggert  <eggert@cs.ucla.edu>
84015
84016         Merges from coreutils, etc.
84017         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
84018         Require gl_FUNC_TZSET_CLOBBER.
84019         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
84020         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
84021         members.
84022
84023 2003-08-14  Paul Eggert  <eggert@twinsun.com>
84024
84025         Help the merge from coreutils.
84026         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
84027         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
84028         * m4/tzset.m4: Use it too.
84029
84030 2003-08-14  Paul Eggert  <eggert@twinsun.com>
84031
84032         * modules/tzset: New file.
84033
84034 2003-08-14  Jim Meyering  <jim@meyering.net>
84035
84036         Merges from coreutils.
84037         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
84038         variable names, rather than @FNMATCH_H@.
84039         * modules/alloca: Likewise for $(ALLOCA_H).
84040
84041         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
84042         the three copies of the literal target, `fnmatch.h'.
84043         * modules/alloca (alloca.h): Likewise.
84044
84045 2003-08-14  Jim Meyering  <jim@meyering.net>
84046
84047         Merge from coreutils.
84048         * m4/tzset.m4: New file.
84049         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
84050         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
84051         otherwise, AIX 5.1 systems would end up using the latter.
84052         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
84053         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
84054         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
84055         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
84056
84057 2003-08-14  Jim Meyering  <jim@meyering.net>
84058
84059         Merge from coreutils.
84060         * lib/obstack.h: Whitespace changes.
84061         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
84062         and xcalloc return values.
84063         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
84064         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
84065         hang on OSF/1 5.1 for DIR on both local and remote file systems.
84066         Reported by (and fix confirmed by) Nelson H. F. Beebe.
84067         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
84068         error from mntctl.
84069         Use mntctl's return value to drive the entry-processing loop, since
84070         we can't rely on the value of the vmt_length member in the last
84071         entry.  On some systems doing so could result in exhausting
84072         virtual memory.  Based in part on a patch from Mike Jetzer.
84073
84074 2003-08-14  Jim Meyering  <jim@meyering.net>
84075         and Paul Eggert  <eggert@twinsun.com>
84076
84077         Merges from coreutils, plus other fixes.
84078         * lib/physmem.c: Merge in portability changes from gcc/libiberty
84079         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
84080         for credits and details.  Thanks to Kaveh Ghazi for helping
84081         to keep these files in sync.
84082         (ARRAY_SIZE): Define it.
84083         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
84084         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
84085         (memcasecmp): Don't assume size_t fits in unsigned int.
84086         Remove casts and duplicate code.
84087         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
84088         (memcpy): Remove definition.
84089         Merge in some clean-up and optimization changes from glibc.
84090         [BLOCKSIZE]: Move definition to top of file.
84091         Ensure that it is a multiple of 64.
84092         Rearrange loop exit tests so as to avoid performing an
84093         additional fread after encountering an error or EOF.
84094         * lib/md5.h (md5_uintptr): Define.
84095         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
84096         return to the initial working directory.  Preserve errno
84097         for caller.
84098         * lib/idcache.c: Include "xalloc.h".
84099         (xmalloc, xrealloc): Remove decls.
84100         (getuser): Remove casts no longer required in C89.
84101         * lib/human.c: Include stdio.h, for sprintf.
84102         * lib/group-member.c: Include "xalloc.h".
84103         (xmalloc, xrealloc): Remove decls.
84104         (get_group_info): Remove casts no longer required in C89.
84105         * lib/getusershell.c (readname): Remove casts no longer required in
84106         C89.
84107         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
84108         * lib/getline.c: Whitespace fix, from coreutils.
84109
84110 2003-08-13  Paul Eggert  <eggert@twinsun.com>
84111
84112         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
84113         Check for isascii.
84114
84115         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
84116         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
84117         Undo previous (whitespace-only) change.
84118
84119 2003-08-13  Paul Eggert  <eggert@twinsun.com>
84120
84121         * lib/exclude.c: Include <ctype.h>
84122         (IN_CTYPE_DOMAIN): New macro.
84123         (is_space): New fn.
84124         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
84125         and empty lines.
84126
84127         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
84128         Undo previous (whitespace-only) change.
84129
84130 2003-08-13  Paul Eggert  <eggert@twinsun.com>
84131
84132         * config/srclist-update: Change update back to the old behavior,
84133         leaving whitespace alone.  Use one 'sed' command rather than a
84134         pipeline.
84135         (fixlicense): Now a variable, not a function.
84136         (remove_trailing_blanks): Remove.
84137         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
84138         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
84139         Undo previous (whitespace-only) change.
84140
84141 2003-08-12  Paul Eggert  <eggert@twinsun.com>
84142
84143         Merge from coreutils.
84144         * modules/euidaccess: Add lib_SOURCES, include for new
84145         file euidaccess.h
84146
84147 2003-08-12  Paul Eggert  <eggert@twinsun.com>
84148
84149         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
84150         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
84151         Normalize leading white space and remove trailing white space.
84152
84153         Merge from coreutils
84154         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
84155
84156         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
84157         0.12.1.  These files are now being upgraded automatically by
84158         ../config/srclist-update.
84159
84160 2003-08-12  Paul Eggert  <eggert@twinsun.com>
84161
84162         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
84163         Normalize leading white space and remove trailing white space.
84164         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
84165         notice, as per ../config/srclist-update.
84166
84167         Merge from coreutils.
84168         * lib/euidaccess.h: New file.
84169         * lib/euidaccess.c: Include it.
84170         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
84171         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
84172         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
84173
84174 2003-08-12  Paul Eggert  <eggert@twinsun.com>
84175
84176         * config/srclist-update: Add copyright notice.
84177         (remove_id_lines, remove_trailing_blanks): New constants.
84178         (fixfile): Use them to normalize spacing a bit in copied files.
84179         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
84180         Normalize leading white space and remove trailing white space.
84181
84182         * config/texinfo.tex: Sync with texinfo.
84183
84184         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
84185         strtoul.c from libc, to merge coreutils whitespace changes.
84186
84187         * config/srclist.txt: Get the following m4 files from gettext:
84188         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
84189         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
84190         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
84191         wint_t.m4.
84192
84193 2003-08-12  Karl Berry  <karl@gnu.org>
84194
84195         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
84196         been made.
84197
84198 2003-08-11  Paul Eggert  <eggert@twinsun.com>
84199
84200         * modules/gnu-source, m4/gnu-source.m4:
84201         Remove; we're assuming Autoconf 2.54 or later now.
84202         Suggested by Bruno Haible.
84203         * MODULES.html.sh (func_all_modules): Remove gnu-source.
84204
84205 2003-08-11  Bruno Haible  <bruno@clisp.org>
84206
84207         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
84208
84209 2003-08-11  Bruno Haible  <bruno@clisp.org>
84210
84211         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
84212         (vasnprintf): Use it instead of wcslen.
84213
84214 2003-08-11  Bruno Haible  <bruno@clisp.org>
84215
84216         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
84217         value to ensure that _Bool promotes to int. Use #define for _Bool when
84218         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
84219
84220 2003-08-10  Karl Berry  <karl@gnu.org>
84221
84222         * lib/regex.h: update from libc (whitespace fix).
84223
84224 2003-08-09  Paul Eggert  <eggert@twinsun.com>
84225
84226         Merge some files from coreutils.  These changes were
84227         originally made by Jim Meyering.
84228         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
84229         many older Unixes require this.
84230         * lib/alloca.c (alloca): Remove cast to argument of free;
84231         no longer needed in C89.
84232         * lib/alloca_.h, regex.h: Fix white space to match
84233         what GNU indent does.
84234
84235 2003-08-09  Paul Eggert  <eggert@twinsun.com>
84236
84237         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
84238         apparently Emacs's Unicode mode got confused before my 2003-08-05
84239         checkin.
84240
84241 2003-08-08  Paul Eggert  <eggert@twinsun.com>
84242
84243         * m4/extensions.m4: New file.
84244         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
84245         Require gl_USE_SYSTEM_EXTENSIONS.
84246         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
84247         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
84248
84249 2003-08-08  Paul Eggert  <eggert@twinsun.com>
84250
84251         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
84252         * modules/extensions, modules/gnu-source: New files.
84253         * modules/timespec, modules/unlocked-io: Depend on extensions.
84254
84255 2003-08-07  Paul Eggert  <eggert@twinsun.com>
84256
84257         * modules/restrict: New file.
84258         * MODULES.html.sh (func_all_modules): Add restrict.
84259         * modules/regex: Depend on restrict.
84260
84261 2003-08-07  Paul Eggert  <eggert@twinsun.com>
84262
84263         * m4/restrict.m4: New file.
84264         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
84265
84266 2003-08-07  Bruno Haible  <bruno@clisp.org>
84267
84268         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
84269         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
84270
84271 2003-08-07  Bruno Haible  <bruno@clisp.org>
84272
84273         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
84274         makes the module 'getndelim2' compatible with the module 'getline'.
84275
84276 2003-08-05  Paul Eggert  <eggert@twinsun.com>
84277
84278         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
84279         byte with "\201" to avoid glitches when editing that source file
84280         with multi-gnome-terminal.
84281
84282 2003-08-05  Paul Eggert  <eggert@twinsun.com>
84283
84284         * lib/bumpalloc.h: Remove.
84285
84286 2003-08-05  Paul Eggert  <eggert@twinsun.com>
84287
84288         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
84289         * modules/bumpalloc: Remove.
84290
84291 2003-08-04  Paul Eggert  <eggert@twinsun.com>
84292
84293         * lib/getloadavg.c: Change copyright notice and spacing to conform to
84294         GNU coding style.
84295
84296         Merge from coreutils.
84297         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
84298         1. From glibc.
84299         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
84300         from Karl Berry, implemented by Jim Meyering.
84301         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
84302         from Dmitry V. Levin.
84303         Remove anachronistic cast of xrealloc.
84304         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
84305         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
84306         type. Otherwise, it wouldn't compile with at least /bin/cc on
84307         ymp-cray-unicos9.0.2.X.
84308         Combine two mostly-identical uses of alloca into one.
84309         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
84310
84311 2003-08-04  Dave Love  <d.love@dl.ac.uk>
84312
84313         [From Emacs.]
84314
84315         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
84316         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
84317         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
84318         obsolete NLIST_NAME_UNION.
84319         [__GNU__]: Undef BSD and FSCALE.
84320         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
84321
84322 2003-08-03  Paul Eggert  <eggert@twinsun.com>
84323
84324         * lib/stdbool_.h (_Bool): Make it signed char, instead of
84325         an enum type, so that it's guaranteed to promote to int.  See:
84326         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
84327
84328 2003-08-03  Karl Berry  <karl@gnu.org>
84329
84330         * config/depcomp: update from automake.
84331
84332 2003-07-31  Paul Eggert  <eggert@twinsun.com>
84333
84334         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
84335         (strerror): Don't assume that a printable int fits in 14 bytes.
84336
84337 2003-07-31  Bruno Haible  <bruno@clisp.org>
84338
84339         * modules/getpass-gnu: New file.
84340         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
84341
84342 2003-07-31  Bruno Haible  <bruno@clisp.org>
84343
84344         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
84345
84346 2003-07-24  Karl Berry  <karl@gnu.org>
84347
84348         * config/missing: update from automake.
84349
84350 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
84351             Bruno Haible  <bruno@clisp.org>
84352
84353         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
84354         * lib/getline.c (getline, getdelim): Likewise.
84355         Remove _GNU_SOURCE define; now it's defined in config.h through
84356         m4/getline.m4.
84357
84358 2003-07-23  Karl Berry  <karl@gnu.org>
84359
84360         * config/config.sub: update from prep.
84361
84362 2003-07-22  Paul Eggert  <eggert@twinsun.com>
84363
84364         * modules/xalloc (Depends-on): Add exitfail.
84365         * modules/xmemcoll: Likewise.
84366
84367 2003-07-22  Paul Eggert  <eggert@twinsun.com>
84368
84369         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
84370         over-parenthesization in macros.
84371
84372         Sync with coreutils.
84373
84374         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
84375         required by C99.
84376
84377         Use `exit_failure' for xalloc and xmemcoll instead of their own
84378         private exit-failure variables.
84379         * lib/xalloc.h (xalloc_exit_failure): Remove.
84380         * lib/xmalloc.c: Likewise.  Include exitfail.h.
84381         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
84382         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
84383         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
84384         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
84385
84386 2003-07-20  Jim Meyering  <jim@meyering.net>
84387
84388         * modules/closeout (Depends-on): Add exitfail.
84389         Suggestion from Bruno Haible.
84390
84391 2003-07-19  Karl Berry  <karl@gnu.org>
84392
84393         * config/config.sub: update from prep.
84394
84395 2003-07-18  Paul Eggert  <eggert@twinsun.com>
84396
84397         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
84398         Remove.
84399         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
84400         to test that it can stand by itself.  Include "exitfail.h".
84401         Clients should set exit_failure instead.
84402         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
84403
84404 2003-07-18  Bruno Haible  <bruno@clisp.org>
84405
84406         * modules/getndelim2: New file.
84407         * modules/getline: Share files with module getndelim2.
84408         * modules/getnline: Depend on getndelim2 instead of sharing files with
84409         it. Add getnline.c to lib_SOURCES.
84410         * MODULES.html.sh (func_all_modules): Add getndelim2.
84411
84412 2003-07-18  Bruno Haible  <bruno@clisp.org>
84413
84414         * m4/getndelim2.m4: New file.
84415         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
84416         invoke gl_PREREQ_GETNDELIM2.
84417         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
84418         gl_PREREQ_GETNDELIM2.
84419         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
84420         gl_GETNDELIM2.
84421
84422 2003-07-18  Bruno Haible  <bruno@clisp.org>
84423
84424         * lib/getndelim2.h: New file.
84425         * lib/getndelim2.c: Make into a module of its own. Include config.h,
84426         getndelim2.h.
84427         (getndelim2): Make non-static. Change return type to ssize_t.
84428         * lib/getline.h: Change argument names.
84429         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
84430         * lib/getnline.c: Include getndelim2.h.
84431
84432 2003-07-18  Andreas Schwab  <schwab@suse.de>
84433
84434         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
84435
84436 2003-07-17  Karl Berry  <karl@gnu.org>
84437
84438         * config/config.sub: update from prep.
84439
84440 2003-07-17  Bruno Haible  <bruno@clisp.org>
84441
84442         * modules/getnline: New file.
84443         * modules/getline: Add lib/getndelim2.c to source file list.
84444         * MODULES.html.sh (func_all_modules): Add getnline.
84445
84446 2003-07-17  Bruno Haible  <bruno@clisp.org>
84447
84448         * m4/getnline.m4: New file.
84449
84450 2003-07-17  Bruno Haible  <bruno@clisp.org>
84451
84452         * m4/Makefile.am.in: Remove file.
84453         * m4/Makefile.am: Remove file.
84454         * m4/Makefile.in: Remove file.
84455
84456 2003-07-17  Bruno Haible  <bruno@clisp.org>
84457
84458         * lib/getnline.h: New file.
84459         * lib/getnline.c: New file.
84460         * lib/getndelim2.c: New file, extracted from getline.c.
84461         (getndelim2): Renamed from getdelim2, with added nmax argument.
84462         * lib/getline.c: Include getndelim2.c.
84463         (getdelim2): Moved out to getndelim2.c.
84464         (getline, getdelim): Update.
84465
84466 2003-07-17  Bruno Haible  <bruno@clisp.org>
84467
84468         * lib/Makefile.am: Remove file.
84469         * lib/Makefile.in: Remove file.
84470
84471 2003-07-17  Bruno Haible  <bruno@clisp.org>
84472
84473         * configure.in: Remove file.
84474         * Makefile.in: Remove file.
84475
84476 2003-07-17  Bruno Haible  <bruno@clisp.org>
84477
84478         * MODULES.html.sh: Put the </BODY> right before </HTML>.
84479
84480 2003-07-16  Karl Berry  <karl@gnu.org>
84481
84482         * config/srclist-update: was running fixlicense twice, which caused
84483                 texinfo.tex to be nullified for some reason.  Simplify,
84484                 $gplsrc is no longer needed as far as I can see?
84485
84486 2003-07-16  Jim Meyering  <jim@meyering.net>
84487
84488         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
84489
84490 2003-07-15  Paul Eggert  <eggert@twinsun.com>
84491
84492         * config/srclist.txt: Get the following files from gettext-runtime/intl
84493         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
84494         ref-del.sin.  From Bruno Haible.
84495         * config/srclist-update (fixfile): Change grep pattern again, since the
84496         previous fix didn't work (there was another trailing $).  Use
84497         '[$]' to escape the $s.
84498
84499 2003-07-15  Karl Berry  <karl@gnu.org>
84500
84501         * lib/vasnprintf.c: update from gettext.
84502
84503 2003-07-15  Karl Berry  <karl@gnu.org>
84504
84505         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
84506         gets expanded when surrounded by '$'.
84507
84508 2003-07-15  Jim Meyering  <jim@meyering.net>
84509
84510         * modules/save-cwd: Don't depend on error.  From Derek Price.
84511
84512 2003-07-15  Jim Meyering  <jim@meyering.net>
84513
84514         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
84515
84516 2003-07-14  Simon Josefsson  <jas@extundo.com>
84517
84518         * modules/mempcpy: New file.
84519         * MODULES.html.sh (func_all_modules): Add mempcpy.
84520
84521 2003-07-14  Simon Josefsson  <jas@extundo.com>
84522
84523         * m4/mempcpy.m4: New file.
84524
84525 2003-07-14  Simon Josefsson  <jas@extundo.com>
84526
84527         * lib/mempcpy.h: New file.
84528         * lib/mempcpy.c: New file.
84529
84530 2003-07-14  Paul Eggert  <eggert@twinsun.com>
84531
84532         * modules/getdate, modules/posixtm: Depend on mktime.
84533
84534 2003-07-14  Paul Eggert  <eggert@twinsun.com>
84535
84536         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
84537         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
84538         unicodeio.c, unicodeio.h, unlocked-io.h:
84539         Switch from LGPL to GPL.
84540
84541 2003-07-14  Paul Eggert  <eggert@twinsun.com>
84542
84543         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
84544         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
84545         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
84546         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
84547         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
84548         updated automatically by ../config/srclist-update.  This changes
84549         their license from LPGL to GPL.
84550
84551 2003-07-14  Paul Eggert  <eggert@twinsun.com>
84552
84553         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
84554         assumed to refer to the root of the most recent stable gettext version.
84555         * config/srclistvars.sh: Add defaults for eggert.
84556         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
84557         Match "This program" as well as "The program".  This is needed
84558         for gettext.
84559
84560 2003-07-14  Jim Meyering  <jim@meyering.net>
84561
84562         Don't emit diagnostics.  Let callers do that.
84563         * lib/save-cwd.c: Don't include "error.h".
84564         (save_cwd): Don't call error.  Ensure that errno is valid
84565         when returning nonzero.
84566
84567         * lib/save-cwd.h (restore_cwd): Update prototype.
84568         * lib/save-cwd.c (restore_cwd): Remove two parameters.
84569         Simplify.  Don't call error upon failure.  Let callers do that.
84570         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
84571         when auditing is enabled.  But don't bother updating the #if.
84572
84573 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
84574
84575         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
84576         it breaks C++ compilation.
84577         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
84578
84579 2003-07-10  Simon Josefsson  <jas@extundo.com>
84580
84581         * modules/strchrnul (Makefile.am): Add strchrnul.h.
84582
84583 2003-07-10  Jim Meyering  <jim@meyering.net>
84584
84585         * m4/clock_time.m4: Remove trailing blank.
84586         * m4/intmax_t.m4: Likewise.
84587
84588 2003-07-10  Jim Meyering  <jim@meyering.net>
84589
84590         * lib/vasnprintf.c: Remove trailing blanks.
84591         Make cpp indentation consistent.
84592
84593 2003-07-09  Paul Eggert  <eggert@twinsun.com>
84594
84595         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
84596         posixver.c, strftime.c, strnlen.c, strverscmp.c:
84597         Switch from LGPL to GPL.
84598
84599 2003-07-09  Paul Eggert  <eggert@twinsun.com>
84600
84601         * config/srclist.txt: Sort sublists.  Add
84602         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
84603         that differ from gnulib for one reason or another; we'd like this list
84604         to be smaller but for now let's document what we have.
84605
84606 2003-07-08  Paul Eggert  <eggert@twinsun.com>
84607
84608         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
84609         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
84610         and sweeter "eval x=$x".
84611         * config/srclist.txt: Get lib/argp* from glibc.
84612
84613 2003-07-07  Paul Eggert  <eggert@twinsun.com>
84614
84615         * lib/mktime.c: Fix some boundary cases and remove need for floating
84616         point.
84617
84618         Issue a compile-time diagnostic if time_t is floating point, or if
84619         two's complement arithmetic is not in effect, or if arithmetic
84620         right shift does not propagate the sign.  These assumptions were
84621         all in the original code but they weren't checked.
84622
84623         (TIME_T_MIDPOINT, verify): New macros.
84624         (__isleap): Remove; it has integer overflow problems.
84625         (leapyear): New function, without those problems.
84626         (ydhms_tm_diff): Remove; splitting into two parts.
84627         (ydhms_diff): New function, containing the arithmetic part of
84628         the old ydhms_tm_diff function.  Issue a compile-time
84629         diagnostic if we are not using C99 integer division.
84630         Avoid casts when possible.
84631         (guess_time_tm): New function, containing the checking part of
84632         the old ydhms_tm_diff function.  Return the new value, rather than
84633         the difference between it and the old.  Accept a new argument T
84634         so that *T specifies the old value.  Check for overflow in the result.
84635
84636         (__mktime_internal): Use a time_t offset, not a long int offset.
84637         This undoes the 2003-06-04 change, which is no longer needed now
84638         that we have better overflow checking.
84639         (localtime_offset): Likewise.
84640
84641         (__mktime_internal): Avoid harmful overflow on hosts where time_t
84642         and long are 64-bit but int is only 32-bit.
84643         (ydhms_diff): Use long int to store year1 and yday1.
84644         Issue a compile-time diagnostic if long int is not wide enough.
84645
84646         (__mktime_internal): Use long int to store adjusted year and yday.
84647         Use plain C rather than preprocessor commands, if that doesn't
84648         affect efficiency.
84649         Check for overflow (and try to repair) after each probe
84650         rather than checking only at the very end.  This avoids some bugs
84651         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
84652         does not equal GMT offset at maximum time).
84653         Use integer to check for overflow rather than floating point; this
84654         is more portable to non-IEEE hosts, and is a tad faster.
84655         When we detect that we are oscillating between two values,
84656         don't check whether tm_isdst has the requested value, since
84657         we already know the answer.  When tm_isdst has the wrong value,
84658         use a different heuristic to find the right one, based on the
84659         extreme values actually observed in practice in tz2003a,
84660         rather than the (overly optimistic) "previous 3 calendar quarters".
84661
84662         (not_equal_tm, print_tm, check_result): Use "const T" rather than
84663         "T const" to accommodate glibc style.
84664         (check_result): Use less-confusing report format.  "long" -> "long int.
84665         (main): Likewise.
84666         Don't loop if the iteration overflows time_t.
84667         Allow a negative step in the iteration.
84668
84669 2003-07-06  Karl Berry  <karl@gnu.org>
84670
84671         * config/depcomp: update from automake.
84672         * config/config.sub: update from prep.
84673
84674 2003-07-03  Karl Berry  <karl@gnu.org>
84675
84676         * config/config.guess: update from prep.
84677
84678 2003-07-01  Paul Eggert  <eggert@twinsun.com>
84679
84680         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
84681         xreadlink.c now includes it unconditionally.
84682
84683 2003-07-01  Paul Eggert  <eggert@twinsun.com>
84684
84685         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
84686         having it depend on HAVE_SYS_TYPES_H.
84687
84688 2003-07-01  Bruno Haible  <bruno@clisp.org>
84689
84690         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
84691         <sys/types.h> should be sufficient.
84692         Reported by Paul Eggert.
84693
84694 2003-06-26  Karl Berry  <karl@gnu.org>
84695
84696         * config/depcomp: update from automake.
84697
84698 2003-06-26  Bruno Haible  <bruno@clisp.org>
84699
84700         * modules/human: Depend on module stdbool.
84701
84702 2003-06-25  Bruno Haible  <bruno@clisp.org>
84703
84704         * modules/readlink: New file.
84705         * modules/xreadlink: Depend on it.
84706         * MODULES.html.sh (func_all_modules): Add readlink.
84707
84708 2003-06-25  Bruno Haible  <bruno@clisp.org>
84709
84710         * m4/readlink.m4: New file.
84711
84712 2003-06-25  Bruno Haible  <bruno@clisp.org>
84713
84714         * lib/readlink.c: New file.
84715
84716 2003-06-22  Karl Berry  <karl@gnu.org>
84717
84718         * config/srclist.txt: update mkinstalldirs from automake.
84719         * config/mkinstalldirs: update.
84720
84721 2003-06-22  Bruno Haible  <bruno@clisp.org>
84722
84723         Portability to mingw32.
84724         * m4/ssize_t.m4: New file, from GNU gettext.
84725         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
84726         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
84727
84728 2003-06-22  Bruno Haible  <bruno@clisp.org>
84729
84730         * modules/safe-read: Add m4/ssize_t.m4.
84731         * modules/xreadlink: Add m4/ssize_t.m4.
84732
84733 2003-06-20  Bruno Haible  <bruno@clisp.org>
84734
84735         Assume C89, so PARAMS isn't needed.
84736         * lib/unicodeio.h (PARAMS): Remove.
84737         * lib/unicodeio.c: Don't use PARAMS.
84738
84739 2003-06-18  Karl Berry  <karl@gnu.org>
84740
84741         * config/config.{guess,sub}: update from prep.
84742
84743 2003-06-18  Jim Meyering  <jim@meyering.net>
84744
84745         Merge changes from coreutils.
84746         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
84747         Remove explicit declarations of xmalloc and realloc.
84748         Include xalloc.h.
84749         (read_utmp): Remove anachronistic cast of xmalloc.
84750
84751 2003-06-17  Paul Eggert  <eggert@twinsun.com>
84752
84753         Assume C89, so PARAMS isn't needed.
84754         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
84755         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
84756         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
84757         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
84758         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
84759         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
84760         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
84761         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
84762         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
84763         lib/xstrtod.h, lib/xstrtol.h: Likewise.
84764         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
84765         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
84766         no longer needed. Anyway, config.h should always be included before any
84767         other file.
84768
84769 2003-06-11  Simon Josefsson  <jas@extundo.com>
84770
84771         * modules/sysexits: New file.
84772         * MODULES.html.sh (func_all_modules): Add sysexits.
84773
84774 2003-06-11  Simon Josefsson  <jas@extundo.com>
84775
84776         * lib/sysexit_.h: New file.
84777
84778 2003-06-11  Derek Price  <derek@ximbiot.com>
84779
84780         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
84781         necessary.
84782
84783 2003-06-11  Bruno Haible  <bruno@clisp.org>
84784
84785         * m4/sysexits.m4: New file.
84786
84787 2003-06-10  Simon Josefsson  <jas@extundo.com>
84788
84789         * lib/argp.h: New file, from glibc.
84790         * lib/argp-ba.c: New file, from glibc.
84791         * lib/argp-eexst.c: New file, from glibc.
84792         * lib/argp-fmtstream.c: New file, from glibc.
84793         * lib/argp-fmtstream.h: New file, from glibc.
84794         * lib/argp-fs-xinl.c: New file, from glibc.
84795         * lib/argp-help.c: New file, from glibc.
84796         * lib/argp-namefrob.h: New file, from glibc.
84797         * lib/argp-parse.c: New file, from glibc.
84798         * lib/argp-pv.c: New file, from glibc.
84799         * lib/argp-pvh.c: New file, from glibc.
84800         * lib/argp-xinl.c: New file, from glibc.
84801
84802 2003-06-10  Simon Josefsson  <jas@extundo.com>
84803
84804         * modules/strchrnul: New file.
84805
84806 2003-06-10  Simon Josefsson  <jas@extundo.com>
84807
84808         * modules/argp: New file.
84809
84810 2003-06-10  Simon Josefsson  <jas@extundo.com>
84811
84812         * m4/strchrnul.m4: New file.
84813
84814 2003-06-10  Simon Josefsson  <jas@extundo.com>
84815
84816         * lib/strchrnul.h: New file.
84817         * lib/strchrnul.c: New file.
84818
84819 2003-06-10  Bruno Haible  <bruno@clisp.org>
84820
84821         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
84822
84823 2003-06-07  Karl Berry  <karl@gnu.org>
84824
84825         * config/config.{guess,sub}: update from prep.
84826
84827 2003-06-07  Jim Meyering  <jim@meyering.net>
84828
84829         * modules/strtod: Use $(...) notation, not @...@ for
84830         AC_REPLACE'd variables.
84831         * modules/localcharset: Likewise.
84832
84833 2003-06-07  Jim Meyering  <jim@meyering.net>
84834
84835         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
84836         in place of my name in the copyright comment.
84837         Remove definition and uses of __P.
84838
84839         From coreutils.
84840         * lib/stat.c: Don't declare xmalloc explicitly.
84841         Instead, include "xalloc.h".
84842         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
84843         xrealloc, and xcalloc return values.
84844         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
84845         Improve comment.
84846         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
84847
84848 2003-06-07  Bruno Haible  <bruno@clisp.org>
84849
84850         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
84851         avoid AC_CONFIG_LINKS.
84852         * modules/fnmatch (Makefile.am): Use explicit creation rule for
84853         fnmatch.h, to avoid AC_CONFIG_LINKS.
84854         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
84855
84856 2003-06-07  Bruno Haible  <bruno@clisp.org>
84857
84858         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
84859         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
84860         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
84861         directory.
84862         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
84863         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
84864         directory.
84865
84866 2003-06-06  Jim Meyering  <jim@meyering.net>
84867
84868         Merge from coreutils.
84869         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
84870         Consolidate declarations and initializations of *_base* locals.
84871
84872         Merge from coreutils.
84873         This avoids a core dump on systems without GNU putenv,
84874         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
84875         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
84876         (unsetenv): New static function, from GNU libc.
84877         (rpl_putenv): Use it.
84878
84879         * lib/modechange.c: Remove trailing blanks.
84880
84881         Merge from coreutils.
84882         * lib/fsusage.c: Remove declaration of statfs.
84883         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
84884
84885         * lib/posixtm.c: Include <stdbool.h> unconditionally.
84886
84887 2003-06-06  Jim Meyering  <jim@meyering.net>
84888
84889         * lib/stdbool_.h: Renamed from stdbool.h.in.
84890
84891 2003-06-06  Jim Meyering  <jim@meyering.net>
84892             Bruno Haible  <bruno@clisp.org>
84893
84894         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
84895         Adjust Makefile.am snippet not to redirect directly to target.
84896         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
84897
84898 2003-06-05  Paul Eggert  <eggert@twinsun.com>
84899
84900         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
84901         mismatch, look in future quarters as well as past.  This fixes a
84902         bug when processing fall-backwards gaps immediately after a long
84903         period of daylight-saving time.
84904
84905         * lib/mktime.c: Assume freestanding C89 or better.
84906         (HAVE_LIMITS_H): Remove.  Assume it's 1.
84907         (__P): Remove; not used.
84908         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
84909         (mktime, not_equal_tm, print_tm, check_result,
84910         main): Use prototypes.  Use const * where appropriate.
84911         (main): Fix typo in testing code that uncovered by above changes.
84912         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
84913
84914 2003-06-04  Paul Eggert  <eggert@twinsun.com>
84915
84916         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
84917         locale.h, localeconv.  This merges changes from coreutils.
84918
84919         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
84920         It can be removed after the next Autoconf is released.
84921         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
84922         needed.
84923
84924 2003-06-04  Paul Eggert  <eggert@twinsun.com>
84925
84926         * lib/mktime.c: Fix Debian bug 177940
84927         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
84928         (localtime_offset): Now long int, not time_t, because we want it
84929         to be guaranteed to be signed.  All uses changed.
84930         (__mktime_internal): If overflow would occur when adding offset,
84931         don't add it.
84932
84933         Merge 'human' changes from coreutils.  Rewrite to support
84934         locale-specific notations like thousands separators.
84935         * lib/human.c: Simplify authorship notice.
84936         Include human.h immediately after config.h.
84937         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
84938         <limits.h>: Do not include, since human.h does.
84939         (SIZE_MAX, UINTMAX_MAX): New macros.
84940         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
84941         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
84942         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
84943         (power_letter): Renamed from suffixes.
84944         (generate_suffix_backwards): Remove.
84945         (adjust_value): Now takes int style (because of human.h changes)
84946         and long double value (for greater precision on some platforms).
84947         (group_number): New function.
84948         (human_readable): Use it.  Use integer options, not enum.
84949         Put the options before the sizes in the arg list.
84950         Support all the new options.
84951         The old human_readable function has been removed;
84952         use inttostr.h instead.
84953         (human_readable, default_block_size, humblock):
84954         Use uintmax_t, not int, for block sizes.
84955         (human_readable_inexact, block_size_types): Remove.
84956         (block_size_opts): New constant.
84957         (human_options): Renamed from human_block_size, with new signature
84958         that allows block sizes up to UINTMAX_MAX.  All callers changed.
84959         * lib/human.h: Add copyright and authorship notice.
84960         Include <limits.h> and <stdbool.h> unconditionally.
84961         (PARAMS): Remove.  All uses removed.
84962         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
84963         (enum human_inexact_style): Remove tag; now a nameless enum.
84964         (human_floor, human_ceiling, human_round_to_even): Now have
84965         values 2, 0, 1 rather than -1, 1, 0.
84966         (human_group_digits, human_suppress_point_zero, human_autoscale,
84967         human_base_1024, human_SI, human_B): New constants.
84968         (human_readable_inexact, human_block_size): Remove.
84969         (human_readable): Size args are now uintmax_t, not int.
84970         (human_options): New decl.
84971
84972         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
84973         unnecessary now that we assume C89 or better.  This change
84974         imported from coreutils.
84975
84976         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
84977         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
84978         in the 2003-05-30 sync from glibc.
84979
84980         .h files should stand alone, but we shouldn't include <sys/types.h>
84981         if we can get away with just <stddef.h>.
84982
84983         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
84984         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
84985         rather than <sys/types.h>, as we merely need size_t.
84986         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
84987         to get size_t.
84988         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
84989         Include <stdio.h>, to get FILE.
84990         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
84991         memcasecmp.h has included <stddef.h> and all we need is size_t.
84992         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
84993         our interface, instead of including <sys/types.h>
84994
84995 2003-06-04  Paul Eggert  <eggert@twinsun.com>
84996
84997         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
84998         now, as glibc mktime is buggy on non-glibc systems.
84999
85000 2003-06-03  Karl Berry  <karl@gnu.org>
85001
85002         * config/config.sub: update from prep.
85003
85004 2003-06-02  Paul Eggert  <eggert@twinsun.com>
85005
85006         [from coreutils]
85007         Fix some minor time-related bugs with POSIX time arguments.
85008         Some valid time stamps were being rejected (notably -1, and
85009         time stamps before 1900 on 64-bit hosts).  And some invalid
85010         time stamps were being accepted, e.g. September 31.
85011
85012         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
85013         that we can return (time_t) -1 successfully.
85014         * lib/posixtm.c: Likewise.
85015         [HAVE_STDBOOL_H]: Include <stdbool.h>.
85016         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
85017         (t): Remove static var.
85018         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
85019         of static var.  All uses changed.
85020         (year): Do not reject years before 1900; they can occur with
85021         64-bit time_t.
85022         (posix_time_parse): Do not check for out-of-range components;
85023         that is now the caller's responsibility, since our checks were
85024         only approximations.
85025         (posixtime): Use mktime to check for out-of-range components,
85026         since it knows them exactly.
85027         If mktime returns (time_t) -1, check whether an error actually occurred
85028         by invoking localtime on -1.
85029         (main) [TEST_POSIXTIME]: Check for input data errors, and report
85030         posixtime failures better.
85031         Improve the test data (in comments only).
85032
85033 2003-06-02  Karl Berry  <karl@gnu.org>
85034
85035         * config/mkinstalldirs (version): new variable.
85036         (--version): new option.
85037         (usage): improve message.
85038
85039 2003-05-30  Karl Berry  <karl@gnu.org>
85040
85041         * lib/mktime.c: update from libc.
85042
85043 2003-05-30  Bruno Haible  <bruno@clisp.org>
85044
85045         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
85046         * config/config.rpath: Upgrade to gettext-0.12.1.
85047
85048 2003-05-30  Bruno Haible  <bruno@clisp.org>
85049
85050         * m4/gettext.m4: Upgrade to gettext-0.12.1.
85051         * m4/nls.m4: New file, from gettext-0.12.1.
85052         * m4/po.m4: New file, from gettext-0.12.1.
85053         * m4/progtest.m4: Upgrade to gettext-0.12.1.
85054
85055 2003-05-30  Bruno Haible  <bruno@clisp.org>
85056
85057         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
85058         * lib/localcharset.h: Likewise.
85059         * lib/localcharset.c: Likewise.
85060
85061 2003-05-29  Karl Berry  <karl@gnu.org>
85062
85063         * config/config.rpath: update from gettext.
85064
85065 2003-05-28  Paul Eggert  <eggert@twinsun.com>
85066
85067         Assume the headers required for C89 freestanding compilers.
85068         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
85069         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
85070         * m4/human.m4 (gl_HUMAN): Likewise.
85071         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
85072         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
85073         * m4/userspec.m4 (gl_USERSPEC): Likewise.
85074         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
85075         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
85076         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
85077
85078 2003-05-28  Paul Eggert  <eggert@twinsun.com>
85079
85080         Assume the headers required for C89 freestanding compilers.
85081         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
85082         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
85083         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
85084         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
85085         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
85086         define, since <limits.h> is guaranteed to do that.
85087         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
85088         * lib/exclude.c: Include <stdbool.h> unconditionally.
85089         * lib/tempname.c: Include <stddef.h> unconditionally.
85090         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
85091         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
85092         <stddef.h> does that.
85093         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
85094         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
85095         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
85096         needed.
85097         * lib/xstrtol.c: Likewise.
85098         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
85099         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
85100
85101         * lib/addext.c (addext): Use assignment rather than cast, to avoid
85102         warnings on some platforms.
85103
85104         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
85105         arbitrarily.
85106
85107 2003-05-26  Jim Meyering  <jim@meyering.net>
85108
85109         Merge in a change from coreutils:
85110         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
85111         that is guaranteed to be `no'.  Use `no_such_member' to indicate
85112         that condition, rather than `-1' which is slightly misleading.
85113         Change the name of the cache variable to have the gl_ prefix.
85114         Prompted by a patch from Richard Dawe for DJGPP.
85115
85116 2003-05-24  Karl Berry  <karl@gnu.org>
85117
85118         * config/config.guess: update from prep.
85119
85120 2003-05-22  Karl Berry  <karl@gnu.org>
85121
85122         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
85123
85124 2003-05-20  Karl Berry  <karl@gnu.org>
85125
85126         * config/config.guess: update from prep.
85127
85128 2003-05-18  Karl Berry  <karl@gnu.org>
85129
85130         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
85131         might actually be set by the user.
85132
85133         * config/depcomp, install-sh, mdate-sh: update from automake.
85134
85135 2003-05-17  Bruno Haible  <bruno@clisp.org>
85136
85137         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
85138         invalid expansion for AC_EGREP_CPP.
85139         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
85140         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
85141         Suggested by Akim Demaille <akim@epita.fr> in
85142         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
85143
85144 2003-05-12  Jim Meyering  <jim@meyering.net>
85145
85146         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
85147         the space-padded-by-default conversion specifiers, %e, %k, %l.
85148
85149 2003-05-12  Bruno Haible  <bruno@clisp.org>
85150
85151         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
85152         the string is longer than 4 KB.
85153
85154 2003-05-11  Karl Berry  <karl@gnu.org>
85155
85156         * config/config.{guess,sub}: update from prep.
85157
85158 2003-05-09  Bruno Haible  <bruno@clisp.org>
85159
85160         * modules/error: Add m4/strerror_r.m4 to file list.
85161
85162 2003-05-03  Bruno Haible  <bruno@clisp.org>
85163
85164         Upgrade to Unicode-4.0.
85165         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
85166         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
85167         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
85168         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
85169         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
85170         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
85171         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
85172         Change width of U+E0100..U+E01EF from 1 to 0.
85173
85174 2003-04-25  Jim Meyering  <jim@meyering.net>
85175
85176         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
85177         of type size_t, not int.
85178
85179 2003-04-25  Bruno Haible  <bruno@clisp.org>
85180
85181         * lib/copy-file.c: Include <stddef.h>, for size_t.
85182
85183 2003-04-21  Paul Eggert  <eggert@twinsun.com>
85184
85185         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
85186         code which expansion is under static control.  Patch imported from
85187         Akim Demaille's patch to Bison; see
85188         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
85189
85190 2003-04-14  Bruno Haible  <bruno@clisp.org>
85191
85192         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
85193
85194 2003-04-11  Jim Meyering  <jim@meyering.net>
85195
85196         Merge changes from Coreutils.
85197
85198         2003-03-22  Jim Meyering  <jim@meyering.net>
85199
85200         * lib/strftime.c (widen): Cast alloca return value to proper type.
85201
85202         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
85203
85204         From GNU libc.
85205         * lib/strftime.c (my_strftime): Handle very large width
85206         specifications for numeric values correctly.  Improve checks for
85207         overflow.
85208
85209         2003-01-19  Jim Meyering  <jim@meyering.net>
85210
85211         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
85212         definitions.
85213         (nl_get_alt_digit) [! defined my_strftime]: Define.
85214         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
85215         _nl_get_alt_digit and _nl_get_walt_digit.
85216
85217         * lib/strftime.c (my_strftime): Merge in locale-related changes from
85218         libc. These changes have no effect outside of _LIBC.
85219
85220 2003-04-10  Bruno Haible  <bruno@clisp.org>
85221
85222         * modules/findprog: New file.
85223         * MODULES.html.sh (func_all_modules): Add it.
85224
85225 2003-04-10  Bruno Haible  <bruno@clisp.org>
85226
85227         * m4/findprog.m4: New file.
85228         * m4/eaccess.m4: New file.
85229
85230 2003-04-10  Bruno Haible  <bruno@clisp.org>
85231
85232         * lib/findprog.h: New file, from GNU gettext.
85233         * lib/findprog.c: New file, from GNU gettext.
85234
85235 2003-04-05  Jim Meyering  <jim@meyering.net>
85236
85237         Merge changes from Coreutils.
85238
85239         * lib/exclude.h (PARAMS): Remove definition and uses.
85240         * lib/exclude.c: Remove uses of `PARAMS'.
85241
85242         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
85243         Add test-cases for DOS filenames. Declare program_name.
85244         (main): Set up program_name.  Patch by Rich Dawe.
85245
85246         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
85247         error from mntctl.
85248         Use mntctl's return value to drive the entry-processing loop, since
85249         we can't rely on the value of the vmt_length member in the last
85250         entry.  On some systems doing so could result in exhausting
85251         virtual memory.  Based in part on a patch from Mike Jetzer.
85252
85253 2003-04-04  Bruno Haible  <bruno@clisp.org>
85254
85255         * modules/linebreak: New file.
85256         * MODULES.html.sh (func_all_modules): Add it.
85257
85258 2003-04-04  Bruno Haible  <bruno@clisp.org>
85259
85260         * m4/linebreak.m4: New file.
85261
85262 2003-04-04  Bruno Haible  <bruno@clisp.org>
85263
85264         * lib/linebreak.h: New file, from GNU gettext.
85265         * lib/linebreak.c: New file, from GNU gettext with slight
85266         modifications.
85267         * lib/lbrkprop.h: New file, from GNU gettext.
85268
85269 2003-04-03  Bruno Haible  <bruno@clisp.org>
85270
85271         * modules/utf8-ucs4: New file.
85272         * modules/utf16-ucs4: New file.
85273         * modules/ucs4-utf8: New file.
85274         * modules/ucs4-utf16: New file.
85275         * MODULES.html.sh (func_all_modules): Add them.
85276
85277 2003-04-03  Bruno Haible  <bruno@clisp.org>
85278
85279         * m4/utf-ucs4.m4: New file.
85280         * m4/ucs4-utf.m4: New file.
85281
85282 2003-04-03  Bruno Haible  <bruno@clisp.org>
85283
85284         * lib/utf8-ucs4.h: New file, from GNU gettext.
85285         * lib/utf16-ucs4.h: New file, from GNU gettext.
85286         * lib/ucs4-utf8.h: New file, from GNU gettext.
85287         * lib/ucs4-utf16.h: New file, from GNU gettext.
85288
85289 2003-04-02  Bruno Haible  <bruno@clisp.org>
85290
85291         * modules/binary-io: New file.
85292         * MODULES.html.sh (func_all_modules): Add it.
85293
85294 2003-04-02  Bruno Haible  <bruno@clisp.org>
85295
85296         * lib/binary-io.h: New file, from GNU gettext.
85297
85298 2003-04-01  Bruno Haible  <bruno@clisp.org>
85299
85300         * modules/pathname: New file.
85301         * MODULES.html.sh (func_all_modules): Add it.
85302
85303 2003-04-01  Bruno Haible  <bruno@clisp.org>
85304
85305         * lib/pathname.h: New file, from GNU gettext.
85306         * lib/concatpath.c: New file, from GNU gettext.
85307
85308 2003-03-30  Bruno Haible  <bruno@clisp.org>
85309
85310         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
85311
85312 2003-03-30  Bruno Haible  <bruno@clisp.org>
85313
85314         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
85315         function chown() doesn't exist.
85316
85317 2003-03-28  Bruno Haible  <bruno@clisp.org>
85318
85319         * modules/copy-file: New file.
85320         * MODULES.html.sh (func_all_modules): Add it.
85321
85322 2003-03-28  Bruno Haible  <bruno@clisp.org>
85323
85324         * m4/copy-file.m4: New file.
85325
85326 2003-03-28  Bruno Haible  <bruno@clisp.org>
85327
85328         * lib/copy-file.h: New file, from GNU gettext.
85329         * lib/copy-file.c: New file, from GNU gettext.
85330
85331 2003-03-18  Jim Meyering  <jim@meyering.net>
85332
85333         * lib/quote.c (quote_n): Fix typo in comment.
85334
85335 2003-03-18  Bruno Haible  <bruno@clisp.org>
85336
85337         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
85338         checking.
85339         * m4/onceonly_2_57.m4: Likewise.
85340
85341 2003-03-17  Bruno Haible  <bruno@clisp.org>
85342
85343         * m4/onceonly.m4: Require autoconf 2.54 or newer.
85344         (m4_quote): Remove macro.
85345         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
85346
85347 2003-03-14  Jim Meyering  <jim@meyering.net>
85348
85349         Merge changes from Coreutils.
85350         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
85351         to be const, in order to avoid warnings.
85352         (obstack_room): Likewise.
85353         (obstack_empty_p): Likewise.
85354
85355 2003-03-14  Bruno Haible  <bruno@clisp.org>
85356
85357         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
85358         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
85359
85360 2003-03-13  Paul Eggert  <eggert@twinsun.com>
85361
85362         Merge changes from Bison.
85363         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
85364         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
85365         when compiling Bison 1.875's `bitset bset = obstack_alloc
85366         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
85367         * lib/hash.c: Include <stdbool.h> unconditionally.
85368
85369 2003-03-13  Paul Eggert  <eggert@twinsun.com>
85370
85371         * m4/onceonly.m4 (m4_quote): New macro.
85372         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
85373         Quote AC_FOREACH variable-expansions properly.
85374
85375 2003-03-13  Paul Eggert  <eggert@twinsun.com>
85376
85377         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
85378
85379 2003-03-09  Paul Eggert  <eggert@twinsun.com>
85380
85381         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
85382         Reported by Bruce Becker; see:
85383         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
85384
85385 2003-03-03  Paul Eggert  <eggert@twinsun.com>
85386             Bruno Haible  <bruno@clisp.org>
85387
85388         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
85389         Reported by John Hughes, see
85390         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
85391
85392 2003-02-20  Bruno Haible  <bruno@clisp.org>
85393
85394         * MODULES.html.sh (func_all_modules): Add poll.
85395
85396 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
85397
85398         * modules/poll: New file.
85399
85400 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
85401
85402         * lib/poll_.h: New file.
85403         * lib/poll.c: New file.
85404
85405 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
85406
85407         * m4/poll.m4: New file.
85408
85409 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
85410
85411         * modules/mathl: New file.
85412
85413 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
85414
85415         * lib/mathl.h: New file.
85416         * lib/acosl.c: New file.
85417         * lib/asinl.c: New file.
85418         * lib/atanl.c: New file.
85419         * lib/ceill.c: New file.
85420         * lib/cosl.c: New file.
85421         * lib/expl.c: New file.
85422         * lib/floorl.c: New file.
85423         * lib/frexpl.c: New file.
85424         * lib/ldexpl.c: New file.
85425         * lib/logl.c: New file.
85426         * lib/sincosl.c: New file.
85427         * lib/sinl.c: New file.
85428         * lib/sqrtl.c: New file.
85429         * lib/tanl.c: New file.
85430         * lib/trigl.c: New file.
85431         * lib/trigl.h: New file.
85432
85433 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
85434
85435         * m4/mathl.m4: New file.
85436
85437 2003-02-18  Bruno Haible  <bruno@clisp.org>
85438
85439         * MODULES.html.sh (func_all_modules): Add mathl.
85440
85441 2003-02-17  Bruno Haible  <bruno@clisp.org>
85442
85443         * modules/mkdtemp: New module.
85444         * MODULES.html.sh (func_all_modules): Add it.
85445
85446 2003-02-17  Bruno Haible  <bruno@clisp.org>
85447
85448         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
85449
85450 2003-02-17  Bruno Haible  <bruno@clisp.org>
85451
85452         * lib/mkdtemp.h: New file, from GNU gettext.
85453         * lib/mkdtemp.c: New file, from GNU gettext.
85454
85455 2003-02-02  Jim Meyering  <jim@meyering.net>
85456
85457         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
85458         e.g. glibc-2.2.93.
85459
85460 2003-01-31  Bruno Haible  <bruno@clisp.org>
85461
85462         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
85463         'rpl_rename'.
85464         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
85465         'rpl_strnlen'.
85466         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
85467         'rpl_strtod'.
85468         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
85469         'rpl_utime'.
85470
85471 2003-01-31  Bruno Haible  <bruno@clisp.org>
85472
85473         * lib/rename.c: #undef rename before defining rpl_rename.
85474         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
85475
85476 2003-01-30  Bruno Haible  <bruno@clisp.org>
85477
85478         * modules/vasnprintf, modules/vasprintf: New modules.
85479         * MODULES.html.sh (func_all_modules): Add them.
85480
85481 2003-01-30  Bruno Haible  <bruno@clisp.org>
85482
85483         * m4/signed.m4: New file, from GNU gettext.
85484         * m4/longdouble.m4: New file, from GNU gettext.
85485         * m4/wchar_t.m4: New file, from GNU gettext.
85486         * m4/wint_t.m4: New file, from GNU gettext.
85487         * m4/vasnprintf.m4: New file.
85488         * m4/vasprintf.m4: New file.
85489
85490 2003-01-30  Bruno Haible  <bruno@clisp.org>
85491
85492         * lib/printf-args.h: New file, from GNU gettext.
85493         * lib/printf-args.c: New file, from GNU gettext.
85494         * lib/printf-parse.h: New file, from GNU gettext.
85495         * lib/printf-parse.c: New file, from GNU gettext.
85496         * lib/vasnprintf.h: New file, from GNU gettext.
85497         * lib/vasnprintf.c: New file, from GNU gettext.
85498         * lib/asnprintf.c: New file, from GNU gettext.
85499         * lib/vasprintf.h: New file, from GNU gettext with modifications.
85500         * lib/vasprintf.c: New file, from GNU gettext.
85501         * lib/asprintf.c: New file, from GNU gettext.
85502
85503 2003-01-29  Bruno Haible  <bruno@clisp.org>
85504
85505         * modules/stpncpy: New module.
85506         * MODULES.html.sh (func_all_modules): Add it.
85507
85508 2003-01-29  Bruno Haible  <bruno@clisp.org>
85509
85510         * m4/stpncpy.m4: New file.
85511
85512 2003-01-29  Bruno Haible  <bruno@clisp.org>
85513
85514         * lib/stpncpy.h: New file, from GNU gettext with modifications.
85515         * lib/stpncpy.c: New file, from GNU gettext with modifications.
85516
85517 2003-01-28  Bruno Haible  <bruno@clisp.org>
85518
85519         * modules/c-ctype: New module.
85520         * MODULES.html.sh (func_all_modules): Add it.
85521
85522 2003-01-28  Bruno Haible  <bruno@clisp.org>
85523
85524         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
85525         Paul Eggert.
85526         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
85527         Paul Eggert.
85528
85529 2003-01-27  Bruno Haible  <bruno@clisp.org>
85530
85531         * modules/xsetenv: New module.
85532         * MODULES.html.sh (func_all_modules): Add it.
85533
85534 2003-01-27  Bruno Haible  <bruno@clisp.org>
85535
85536         * lib/xsetenv.h: New file, from GNU gettext.
85537         * lib/xsetenv.c: New file, from GNU gettext.
85538
85539 2003-01-23  Jim Meyering  <jim@meyering.net>
85540
85541         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
85542         from working on systems without dirfd (at least Irix and OSF1/Tru64).
85543
85544 2003-01-23  Bruno Haible  <bruno@clisp.org>
85545
85546         * modules/minmax: New module.
85547         * MODULES.html.sh (func_all_modules): Add it.
85548
85549 2003-01-23  Bruno Haible  <bruno@clisp.org>
85550
85551         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
85552         Eggert.
85553
85554 2003-01-22  Bruno Haible  <bruno@clisp.org>
85555
85556         * modules/exit: New module.
85557         * MODULES.html.sh (func_all_modules): Add it.
85558
85559 2003-01-22  Bruno Haible  <bruno@clisp.org>
85560
85561         * lib/exit.h: New file, from GNU gettext.
85562
85563 2003-01-19  Bruno Haible  <bruno@clisp.org>
85564
85565         * gnulib-tool: Recognize option --extract-maintainer.
85566         (func_get_maintainer): New function.
85567         * modules/*: Add Maintainer entry.
85568
85569 2003-01-16  Jim Meyering  <jim@meyering.net>
85570
85571         * m4/regex.m4: The `regex' struct is both input and output.
85572         Initialize it before each use.  Patch by Tim Waugh.
85573
85574 2003-01-16  Bruno Haible  <bruno@clisp.org>
85575
85576         * MODULES.html.sh: Add a table of contents. Add the module name as
85577         leftmost column. Add hyperlinks.
85578
85579 2003-01-15  Bruno Haible  <bruno@clisp.org>
85580
85581         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
85582
85583 2003-01-15  Bruno Haible  <bruno@clisp.org>
85584
85585         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
85586         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
85587         suffix.
85588
85589 2003-01-15  Bruno Haible  <bruno@clisp.org>
85590
85591         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
85592
85593 2003-01-15  Bruno Haible  <bruno@clisp.org>
85594
85595         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
85596         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
85597
85598 2003-01-14  Jim Meyering  <jim@meyering.net>
85599
85600         * lib/same.c (same_name): Tweak a comment.
85601
85602 2003-01-14  Bruno Haible  <bruno@clisp.org>
85603
85604         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
85605         when a string comparison is sufficient.
85606
85607 2003-01-14  Bruno Haible  <bruno@clisp.org>
85608
85609         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
85610         'unsigned int'.
85611
85612 2003-01-14  Bruno Haible  <bruno@clisp.org>
85613
85614         * lib/hash-pjw.c: Add comment about low quality of this function.
85615
85616 2003-01-13  Bruno Haible  <bruno@clisp.org>
85617
85618         * modules/stpcpy: Distribute lib/stpcpy.h.
85619         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
85620
85621 2003-01-13  Bruno Haible  <bruno@clisp.org>
85622
85623         * modules/*: Add a description.
85624         * modules/strpbrk: Fix Makefile.am snippet.
85625         * modules/strtoimax: Fix dependencies.
85626         * modules/strtoumax: Likewise.
85627
85628 2003-01-13  Bruno Haible  <bruno@clisp.org>
85629
85630         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
85631         * modules/alloca (Makefile.am): All object files depend on alloca.h.
85632         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
85633
85634 2003-01-13  Bruno Haible  <bruno@clisp.org>
85635
85636         * gnulib-tool (func_create_testdir): Store config/* files in the main
85637         directory.
85638         * config.rpath: Move to ...
85639         * config/config.rpath: ... here.
85640         * modules/gettext: Contains config/config.rpath, not config.rpath.
85641         * modules/iconv: Likewise.
85642
85643 2003-01-12  Paul Eggert  <eggert@twinsun.com>
85644
85645         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
85646         to avoid collisions with libcurses and libreadline.
85647
85648         * m4/getstr.m4: Remove.
85649         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
85650
85651 2003-01-12  Paul Eggert  <eggert@twinsun.com>
85652
85653         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
85654         to avoid collisions with libcurses and libreadline.
85655
85656         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
85657         * lib/getstr.h, getstr.c: Remove.
85658         * lib/getline.c: Include "getline.h", to check interface.
85659         Move body of old getstr.c here: this defines MIN_CHUNK and
85660         declares getdelim2, which is renamed from getstr.
85661         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
85662
85663         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
85664         All uses changed.
85665         * lib/linebuffer.h: Likewise.
85666         (readline): Remove backward-compatibility macro.
85667
85668 2003-01-12  Paul Eggert  <eggert@twinsun.com>
85669
85670         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
85671         to avoid collisions with libcurses and libreadline.
85672         * getstr: Remove.
85673         * MODULES.html.sh: Remove getstr.
85674         * modules/getline: Depend on unlocked-io, not getstr.
85675
85676 2003-01-12  Jim Meyering  <jim@meyering.net>
85677
85678         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
85679
85680 2003-01-10  Bruno Haible  <bruno@clisp.org>
85681
85682         * modules/alloca: Change Makefile.am requirements. Simplify Include
85683         requirements. Add lib/alloca_.h to file list.
85684
85685 2003-01-10  Bruno Haible  <bruno@clisp.org>
85686
85687         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
85688
85689 2003-01-10  Bruno Haible  <bruno@clisp.org>
85690
85691         * lib/alloca_.h: New file.
85692         * lib/getdate.y: Unconditionally include alloca.h.
85693         * lib/makepath.c: Likewise.
85694         * lib/setenv.c: Likewise.
85695         * lib/userspec.c: Likewise.
85696
85697 2003-01-09  Karl Berry  <karl@gnu.org>
85698
85699         * MODULES.html.sh: include `dirname $0` in PATH, to find
85700         gnulib-tool.
85701
85702 2003-01-09  Bruno Haible  <bruno@clisp.org>
85703
85704         * modules/stdbool: Change configure.ac, Makefile.am requirements.
85705         Simplify Include requirements. Add lib/stdbool.h.in to file list.
85706
85707 2003-01-09  Bruno Haible  <bruno@clisp.org>
85708
85709         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
85710
85711 2003-01-09  Bruno Haible  <bruno@clisp.org>
85712
85713         * lib/stdbool.h.in: New file.
85714
85715 2003-01-09  Bruno Haible  <bruno@clisp.org>
85716
85717         * gnulib-tool (func_all_modules): Ignore files ending in ~.
85718         * MODULES.html.sh: Likewise.
85719
85720 2003-01-08  Jim Meyering  <jim@meyering.net>
85721
85722         * lib/full-write.c: Undefine and define-away `const' after inclusion
85723         of errno.h, not before.  Suggestion from Bruno Haible.
85724
85725 2003-01-08  Bruno Haible  <bruno@clisp.org>
85726
85727         * modules/full-read: Depend on full-write.
85728
85729 2003-01-08  Bruno Haible  <bruno@clisp.org>
85730
85731         * lib/safe-read.c: Include specification header first, to ensure its
85732         selfcontainedness.
85733         * lib/full-write.c: Likewise.
85734
85735 2003-01-07  Jim Meyering  <jim@meyering.net>
85736
85737         * lib/full-write.c: Rework so that it may serve to define full_read,
85738         too.
85739         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
85740
85741 2003-01-07  Bruno Haible  <bruno@clisp.org>
85742
85743         * lib/strtoimax.c: Include <stdint.h> as an alternative to
85744         <inttypes.h>.
85745         * lib/xstrtol.h: Likewise.
85746         * lib/xstrtoimax.c: Likewise.
85747         * lib/xstrtoumax.c: Likewise.
85748         * lib/human.h: Likewise.
85749
85750         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
85751         on systems that have <inttypes.h> but not <stdint.h>.
85752
85753 2003-01-07  Bruno Haible  <bruno@clisp.org>
85754
85755         * MODULES.html.sh: Add copyright notice.
85756         (missed_files): Omit CVS directory entries.
85757         (func_module): Make it work with sed-3.02.
85758         * MODULES.txt: Remove file.
85759
85760 2003-01-06  Jim Meyering  <jim@meyering.net>
85761
85762         * lib/version-etc.c: Update year in translatable copyright string.
85763
85764 2003-01-03  Karl Berry  <karl@gnu.org>
85765
85766         * config/config.{guess,sub}: update from prep.
85767
85768 2003-01-02  Karl Berry  <karl@gnu.org>
85769
85770         * doc/COPYING.DOC: belatedly updated to 1.2.
85771
85772 2003-01-01  Karl Berry  <karl@gnu.org>
85773
85774         * gnulib-tool (func_verify_module): report module name $module in
85775         error message, not $1.
85776         * gnulib-tool (create-testdir): don't complain if destdir couldn't
85777         be created, only if it doesn't exist.
85778         * gnulib-tool (last_checkin_date): don't expand the $Date here.
85779
85780 2002-12-31  Paul Eggert  <eggert@twinsun.com>
85781
85782         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
85783
85784 2002-12-31  Paul Eggert  <eggert@twinsun.com>
85785
85786         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
85787         memcmp if strcoll doesn't work.
85788
85789 2002-12-31  Bruno Haible  <bruno@clisp.org>
85790
85791         * lib/utime.c (utime_null): No need to call ftruncate if the file was
85792         nonempty.
85793
85794 2002-12-31  Bruno Haible  <bruno@clisp.org>
85795
85796         * lib/memcoll.c (STRCOLL): New macro.
85797         (memcoll): Use it.
85798
85799 2002-12-31  Bruno Haible  <bruno@clisp.org>
85800
85801         * lib/localcharset.h: New file.
85802         * lib/localcharset.c: Include it.
85803         * lib/unicodeio.c: Likewise.
85804
85805 2002-12-31  Bruno Haible  <bruno@clisp.org>
85806
85807         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
85808         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
85809
85810 2002-12-31  Bruno Haible  <bruno@clisp.org>
85811
85812         * lib/getline.h: Include <stddef.h>, for size_t.
85813
85814         * lib/unicodeio.h: Include <stddef.h>, for size_t.
85815         * lib/unicodeio.c: Don't include <stddef.h>.
85816
85817 2002-12-31  Bruno Haible  <bruno@clisp.org>
85818
85819         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
85820         HAVE_TM_ZONE.
85821
85822 2002-12-24  Karl Berry  <karl@gnu.org>
85823
85824         * config/config.guess: update from prep.
85825
85826 2002-12-24  Bruno Haible  <bruno@clisp.org>
85827
85828         General infrasructure.
85829         * m4/README: Rewritten.
85830         * m4/onceonly.m4: New file.
85831         * m4/onceonly_2_57.m4: New file.
85832
85833         Module atexit.
85834         * m4/atexit.m4: New file.
85835
85836         Module strtod.
85837         * m4/strtod.m4: New file.
85838
85839         Module strtol.
85840         * m4/strtol.m4: New file.
85841
85842         Module strtoul.
85843         * m4/strtoul.m4: New file.
85844
85845         Module memchr.
85846         * m4/memchr.m4: New file.
85847
85848         Module memcmp.
85849         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
85850         (jm_FUNC_MEMCMP): Invoke it.
85851
85852         Module memcpy.
85853         * m4/memcpy.m4: New file.
85854
85855         Module memmove.
85856         * m4/memmove.m4: New file.
85857
85858         Module memset.
85859         * m4/memset.m4: New file.
85860
85861         Module strcspn.
85862         * m4/strcspn.m4: New file.
85863
85864         Module strpbrk.
85865         * m4/strpbrk.m4: New file.
85866
85867         Module strstr.
85868         * m4/strstr.m4: New file.
85869
85870         Module strerror.
85871         * m4/strerror.m4: New file.
85872
85873         Module mktime.
85874         * m4/mktime.m4: Renamed from jm-mktime.m4.
85875         (gl_PREREQ_MKTIME): New macro.
85876         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
85877
85878         Module malloc.
85879         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
85880         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
85881         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
85882
85883         Module realloc.
85884         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
85885         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
85886         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
85887
85888         Module strftime.
85889         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
85890         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
85891         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
85892         gl_TM_GMTOFF.
85893         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
85894
85895         Module xalloc.
85896         * m4/xalloc.m4: New file.
85897
85898         Module alloca.
85899         * m4/alloca.m4: New file.
85900
85901         Module putenv.
85902         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
85903         (jm_FUNC_PUTENV): Invoke it.
85904
85905         Module setenv.
85906         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
85907         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
85908         when invoked twice.
85909         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
85910         gt_FUNC_SETENV.
85911
85912         Module memrchr.
85913         * m4/memrchr.m4: New file.
85914
85915         Module stpcpy.
85916         * m4/stpcpy.m4: New file.
85917
85918         Module strcase.
85919         * m4/strcase.m4: New file.
85920
85921         Module strdup.
85922         * m4/strdup.m4: New file.
85923
85924         Module strnlen.
85925         * m4/strnlen.m4: New file.
85926
85927         Module strndup.
85928         * m4/strndup.m4: New file.
85929
85930         Module xstrtod.
85931         * m4/xstrtod.m4: New file.
85932
85933         Module xstrtol.
85934         * m4/xstrtol.m4: New file.
85935
85936         Module getdate.
85937         * m4/getdate.m4: New file.
85938
85939         Module unlocked-io.
85940         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
85941         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
85942         * m4/jm-glibc-io.m4n: Remove file.
85943
85944         Module long-options.
85945         * m4/long-options.m4: New file.
85946
85947         Module md5.
85948         * m4/md5.m4: New file.
85949
85950         Module sha.
85951         * m4/sha.m4: New file.
85952
85953         Module getstr.
85954         * m4/getstr.m4: New file.
85955
85956         Module getline.
85957         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
85958         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
85959         <sys/types.h>, for size_t. Use the function name gnu_getline, not
85960         simply getline. Infoke gl_PREREQ_GETLINE.
85961
85962         Module obstack.
85963         * m4/obstack.m4: New file.
85964
85965         Module hash.
85966         * m4/hash.m4: New file.
85967
85968         Module readtokens.
85969         * m4/readtokens.m4: New file.
85970
85971         Module strverscmp.
85972         * m4/strverscmp.m4: New file.
85973
85974         Module stdbool.
85975         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
85976         OSF/1.
85977
85978         Module strtoll.
85979         * m4/strtoll.m4: New file.
85980
85981         Module strtoull.
85982         * m4/strtoull.m4: New file.
85983
85984         Module strtoimax.
85985         * m4/strtoimax.m4: New file.
85986
85987         Module strtoumax.
85988         * m4/strtoumax.m4: New file.
85989
85990         Module xstrtoimax.
85991         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
85992         jm_AC_PREREQ_XSTRTOIMAX.
85993         Moved the strtol prerequisites to strtol.m4.
85994         Moved the strtoll prerequisites to strtoll.m4.
85995         Moved the strtoimax prerequisites to strtoimax.m4.
85996
85997         Module xstrtoumax.
85998         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
85999         jm_AC_PREREQ_XSTRTOUMAX.
86000         Moved the strtoul prerequisites to strtoul.m4.
86001         Moved the strtoull prerequisites to strtoull.m4.
86002         Moved the strtoumax prerequisites to strtoumax.m4.
86003
86004         Module chown.
86005         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
86006         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
86007
86008         Module dup2.
86009         * m4/dup2.m4: New file.
86010
86011         Module ftruncate.
86012         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
86013         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
86014
86015         Module getgroups.
86016         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
86017         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
86018
86019         Module gettimeofday.
86020         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
86021         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
86022         gl_PREREQ_GETTIMEOFDAY.
86023
86024         Module mkdir.
86025         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
86026         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
86027
86028         Module mkstemp.
86029         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
86030         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
86031         jm_AC_TYPE_UINTMAX_T.
86032         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
86033
86034         Module stat.
86035         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
86036         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
86037
86038         Module lstat.
86039         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
86040         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
86041
86042         Module timespec.
86043         * m4/timespec.m4 (gl_TIMESPEC): New macro.
86044         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
86045         * m4/st_mtim.m4: Indentation.
86046
86047         Module nanosleep.
86048         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
86049         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
86050         gl_PREREQ_NANOSLEEP.
86051
86052         Module regex.
86053         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
86054         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
86055         (gl_REGEX): New macro.
86056
86057         Module rename.
86058         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
86059         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
86060
86061         Module rmdir.
86062         * m4/rmdir.m4: New file.
86063
86064         Module utime.
86065         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
86066         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
86067         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
86068
86069         Module dirname.
86070         * m4/dirname.m4: New file.
86071
86072         Module getopt.
86073         * m4/getopt.m4: New file.
86074
86075         Module unistd-safer.
86076         * m4/unistd-safer.m4: New file.
86077
86078         Module fnmatch.
86079         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
86080         declaration.
86081         (gl_PREREQ_FNMATCH_EXTRA): New macro.
86082         (gl_FUNC_FNMATCH_POSIX): New macro.
86083         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
86084         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
86085         simply fnmatch.
86086
86087         Module exclude.
86088         * m4/exclude.m4: New file.
86089
86090         Module human.
86091         * m4/human.m4: New file.
86092
86093         Module acl.
86094         * m4/acl.m4: Nop.
86095
86096         Module backupfile.
86097         * m4/backupfile.m4: New file.
86098         * m4/d-ino.m4: Indentation.
86099
86100         Module fsusage.
86101         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
86102         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
86103         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
86104
86105         Module dirfd.
86106         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
86107         requirements.
86108
86109         Module euidaccess.
86110         * m4/euidaccess.m4: New file.
86111
86112         Module file-type.
86113         * m4/file-type.m4: New file.
86114
86115         Module fileblocks.
86116         * m4/fileblocks.m4: New file.
86117
86118         Module filemode.
86119         * m4/filemode.m4: New file.
86120
86121         Module isdir.
86122         * m4/isdir.m4: New file.
86123
86124         Module lchown.
86125         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
86126         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
86127
86128         Module makepath.
86129         * m4/makepath.m4: New file.
86130
86131         Module modechange.
86132         * m4/modechange.m4: New file.
86133
86134         Module mountlist.
86135         * m4/mountlist.m4: New file.
86136         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
86137         Indentation.
86138
86139         Module path-concat.
86140         * m4/path-concat.m4: New file.
86141
86142         Module pathmax.
86143         * m4/pathmax.m4: New file.
86144
86145         Module same.
86146         * m4/same.m4: New file.
86147
86148         Module save-cwd.
86149         * m4/save-cwd.m4: New file.
86150
86151         Module savedir.
86152         * m4/savedir.m4: New file.
86153
86154         Module xgetcwd.
86155         * m4/xgetcwd.m4: New file.
86156         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
86157
86158         Module xreadlink.
86159         * m4/xreadlink.m4: New file.
86160
86161         Module safe-read.
86162         * m4/safe-read.m4: New file.
86163
86164         Module safe-write.
86165         * m4/safe-write.m4: New file.
86166
86167         Module closeout.
86168         * m4/closeout.m4: New file.
86169
86170         Module stdio-safer.
86171         * m4/stdio-safer.m4: New file.
86172
86173         Module getpass.
86174         * m4/getpass.m4: New file.
86175
86176         Module getugroups.
86177         * m4/getugroups.m4: New file.
86178
86179         Module group-member.
86180         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
86181         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
86182
86183         Module idcache.
86184         * m4/idcache.m4: New file.
86185
86186         Module userspec.
86187         * m4/userspec.m4: New file.
86188
86189         Module gettime.
86190         * m4/clock_time.m4: New file.
86191         * m4/gettime.m4: New file.
86192
86193         Module settime.
86194         * m4/settime.m4: New file.
86195
86196         Module posixtm.
86197         * m4/posixtm.m4: New file.
86198
86199         Module gethostname.
86200         * m4/gethostname.m4: New file.
86201
86202         Module canon-host.
86203         * m4/canon-host.m4: New file.
86204
86205         Module gettext.
86206         * m4/codeset.m4: New file, from gettext-0.11.5.
86207         * m4/gettext.m4: New file, from gettext-0.11.5.
86208         * m4/glibc21.m4: New file, from gettext-0.11.5.
86209         * m4/iconv.m4: New file, from gettext-0.11.5.
86210         * m4/intdiv0.m4: New file, from gettext-0.11.5.
86211         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
86212         * m4/inttypes.m4: New file, from gettext-0.11.5.
86213         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
86214         * m4/isc-posix.m4: New file, from gettext-0.11.5.
86215         * m4/lcmessage.m4: New file, from gettext-0.11.5.
86216         * m4/lib-ld.m4: New file, from gettext-0.11.5.
86217         * m4/lib-link.m4: New file, from gettext-0.11.5.
86218         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
86219         * m4/progtest.m4: New file, from gettext-0.11.5.
86220         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
86221         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
86222         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
86223
86224         Module localcharset.
86225         * m4/localcharset.m4: New file.
86226
86227         Module hard-locale.
86228         * m4/hard-locale.m4: New file.
86229
86230         Module mbswidth.
86231         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
86232         onceonly macros.
86233         * m4/mbrtowc.m4: Add comment.
86234
86235         Module memcasecmp.
86236         * m4/memcasecmp.m4: New file.
86237
86238         Module memcoll.
86239         * m4/memcoll.m4: New file.
86240
86241         Module unicodeio.
86242         * m4/unicodeio.m4: New file.
86243
86244         Module rpmatch.
86245         * m4/rpmatch.m4: New file.
86246
86247         Module yesno.
86248         * m4/yesno.m4: New file.
86249
86250         Module exitfail.
86251         * m4/exitfail.m4: New file.
86252
86253         Module c-stack.
86254         * m4/c-stack.m4 (gl_C_STACK): New macro.
86255         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
86256
86257         Module error.
86258         * m4/error.m4 (gl_ERROR): New macro.
86259         (jm_PREREQ_ERROR): Use onceonly macros.
86260
86261         Module fatal.
86262         * m4/fatal.m4: New file.
86263
86264         Module getloadavg.
86265         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
86266         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
86267
86268         Module getpagesize.
86269         * m4/getpagesize.m4: New file.
86270
86271         Module getusershell.
86272         * m4/getusershell.m4: New file.
86273
86274         Module physmem.
86275         * m4/physmem.m4: New file.
86276
86277         Module posixver.
86278         * m4/posixver.m4: New file.
86279
86280         Module quotearg.
86281         * m4/quotearg.m4: New file.
86282
86283         Module quote.
86284         * m4/quote.m4: New file.
86285
86286         Module readutmp.
86287         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
86288
86289         Module sig2str.
86290         * m4/sig2str.m4: New file.
86291
86292         Other.
86293         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
86294         ulonglong.m4.
86295         * m4/intmax_t.m4: New file.
86296         * m4/d-type.m4: Indentation.
86297         * m4/jm-macros.m4: Update.
86298         * m4/prereq.m4 (jm_PREREQ): Update.
86299         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
86300         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
86301         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
86302         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
86303         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
86304         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
86305         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
86306         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
86307         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
86308         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
86309         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
86310         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
86311         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
86312         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
86313         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
86314         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
86315         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
86316         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
86317         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
86318
86319 2002-12-24  Bruno Haible  <bruno@clisp.org>
86320
86321         * MODULES.txt: Update according to m4/ changes.
86322
86323         Module gettext.
86324         * config.rpath: New file, from gettext-0.11.5.
86325
86326         * modules/*: New module descriptions.
86327         * gnulib-tool: New file.
86328         * MODULES.html.sh: New file.
86329
86330 2002-12-21  Karl Berry  <karl@gnu.org>
86331
86332         * doc/fdl.texi: update to version 1.2.
86333
86334 2002-12-19  Karl Berry  <karl@gnu.org>
86335
86336         * config/config.guess: update from prep.
86337
86338 2002-12-18  Bruno Haible  <bruno@clisp.org>
86339
86340         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
86341         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
86342
86343 2002-12-17  Bruno Haible  <bruno@clisp.org>
86344
86345         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
86346         stdlib.h, string.h.
86347
86348 2002-12-17  Bruno Haible  <bruno@clisp.org>
86349
86350         * lib/canon-host.c (strdup): Remove unused declaration.
86351
86352         * lib/fsusage.c: Include full_read.h.
86353         (get_fs_usage): Use full_read instead of safe_read.
86354
86355         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
86356
86357 2002-12-12  Karl Berry  <karl@gnu.org>
86358
86359         * config/config.guess: update from prep.
86360
86361 2002-12-11  Bruno Haible  <bruno@clisp.org>
86362
86363         * m4/setenv.m4: New file, from gettext-0.11.5.
86364
86365 2002-12-11  Bruno Haible  <bruno@clisp.org>
86366
86367         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
86368         not unsetenv().
86369         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
86370         modifications:
86371
86372         2002-12-11  Bruno Haible  <bruno@clisp.org>
86373
86374                 * setenv.c (alloca): Fall back to malloc.
86375                 (freea): New macro.
86376                 (setenv): Use freea() to free memory allocated with alloca().
86377
86378         2002-11-13  Bruno Haible  <bruno@clisp.org>
86379
86380                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
86381                 function declarations.
86382                 * unsetenv.c (unsetenv): Likewise.
86383
86384         2002-03-04  Bruno Haible  <bruno@clisp.org>
86385
86386                 Portability to AIX 4.3.3.
86387                 * unsetenv.c: New file, extracted from setenv.c.
86388                 * setenv.c: Move the unsetenv() function to unsetenv.c.
86389
86390         2001-12-20  Bruno Haible  <bruno@clisp.org>
86391
86392                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
86393                 use malloc instead. For SunOS 4.
86394
86395         2001-12-11  Bruno Haible  <bruno@clisp.org>
86396
86397                 * setenv.c: Declare alloca.
86398                 (compar_fn_t): New typedef.
86399                 (KNOWN_VALUE, STORE_VALUE): Use it.
86400
86401         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
86402         setenv.h.
86403
86404 2002-12-10  Paul Eggert  <eggert@twinsun.com>
86405
86406         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
86407         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
86408         Choose values that are less likely to collide with system fnmatch
86409         options.
86410         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
86411         defined (e.g., a pure POSIX system).
86412         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
86413         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
86414
86415 2002-12-06  Paul Eggert  <eggert@twinsun.com>
86416
86417         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
86418         a pain in practice to deal with generated m4 files.  This change
86419         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
86420
86421         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
86422         and jm-glibc-io.m4, as they are no longer a special case.
86423         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
86424         kludge and the auto-generation stuff.  Check only whether the
86425         functions are declared, not whether they exist, since older hosts
86426         that don't declare the functions can't use the optimization anyway.
86427
86428 2002-12-06  Jim Meyering  <jim@meyering.net>
86429
86430         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
86431
86432         Merge in changes from libc's misc/error.c, in preparation
86433         for the merge of gnulib's changes back into libc.
86434
86435         * lib/error.c (_): Define only if not already defined.
86436         Move definition to follow all #include directives.
86437         Include unlocked-io.h only if !_LIBC.
86438         [_LIBC]: Include <libio/libioP.h>.
86439         [USE_IN_LIBIO]: Include <libio/iolibio.h>
86440         (fflush): Tweak definition to use INTUSE.
86441         (putc): Define.
86442
86443 2002-12-05  Paul Eggert  <eggert@twinsun.com>
86444
86445         * lib/alloca.c [defined emacs]: Include "lisp.h".
86446         (xalloc_die) [defined emacs]: New macro.
86447         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
86448         [! defined emacs]: Include <xalloc.h>.
86449         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
86450         (pointer): Typedef to POINTER_TYPE *.
86451         (malloc): Remove decl; we now always use xmalloc.
86452         (alloca): Use old-style definition, since Emacs needs this.
86453         Check for arithmetic overflow when computing combined size.
86454
86455 2002-12-04  Paul Eggert  <eggert@twinsun.com>
86456
86457         Do not generate unlocked-io.h automatically, since it's easier to
86458         maintain it by hand.
86459
86460         * lib/unlocked-io.h: New file, from GNU diffutils,
86461         but with proper copyright notice and attribution.
86462         * lib/gen-uio: Remove.
86463         * lib/Makefile.am: Add copyright notice.
86464         (libfetish_a_SOURCES): Add unlocked-io.h.
86465         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
86466         (DISTCLEANFILES, io_functions): Remove macros.
86467         (EXTRA_DIST): Remove gen_uio.
86468         (unlocked-io.h): Remove rule.
86469
86470 2002-12-04  Jim Meyering  <jim@meyering.net>
86471
86472         Reflect the fact that stat.c and lstat.c are no longer generated.
86473         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
86474         (DISTCLEANFILES): Likewise.
86475         (EXTRA_DIST): Likewise.
86476         (all_local): Don't depend on stat.c or lstat.c.
86477         (stat.c, lstat.c): Remove rules.
86478         (EXTRA_DIST): Remove xstat.in.
86479
86480         * lib/xstat.in: Remove file.  Contents moved into stat.c.
86481         * lib/stat.c: New file.  Contents mostly from xstat.in.
86482         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
86483         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
86484
86485         * lib/safe-read.c: Rework so that it may serve to define safe_write,
86486         too.
86487         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
86488
86489 2002-12-03  Jim Meyering  <jim@meyering.net>
86490
86491         * lib/safe-read.c, safe-write.c: Change variable names and comments,
86492         but not semantics, to minimize the differences between these two files.
86493         (safe_read): Change comment to mention SAFE_READ_ERROR.
86494
86495         * lib/safe-read.c (IS_EINTR): Define.
86496         (safe_read): Use IS_EINTR in place of in-function cpp directives.
86497
86498 2002-12-02  Jim Meyering  <jim@meyering.net>
86499
86500         * lib/safe-read.c (EINTR): Define.
86501         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
86502         (INT_MAX): Provide fallback.
86503         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
86504
86505         * lib/safe-read.h (SAFE_READ_ERROR): Define.
86506
86507 2002-12-02  Bruno Haible  <bruno@clisp.org>
86508
86509         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
86510         Define, taken from safe-read.c.
86511         (INT_MAX): Provide fallback.
86512         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
86513         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
86514
86515         * lib/safe-read.c (EINTR): Remove definition.
86516         (safe_read): Don't use EINTR if it is absent.
86517
86518 2002-12-01  Jim Meyering  <jim@meyering.net>
86519
86520         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
86521         zero.
86522         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
86523
86524 2002-11-27  Paul Eggert  <eggert@twinsun.com>
86525
86526         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
86527         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
86528         with `if (! (value < limit)) abort ();', for readability.
86529
86530 2002-11-26  Karl Berry  <karl@gnu.org>
86531
86532         * lib/strdup.c: copy from libc again, with jim's ok.
86533         * lib/.cppi-disable: re-add strdup.c
86534
86535 2002-11-25  Karl Berry  <karl@gnu.org>
86536
86537         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
86538         instead of "strtol.c".
86539
86540 2002-11-25  Karl Berry  <karl@gnu.org>
86541
86542         * config/install-sh: update from automake for variable quoting, $0 in
86543         error msgs, etc.
86544
86545         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
86546         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
86547         entry.
86548
86549 2002-11-25  Jim Meyering  <jim@meyering.net>
86550
86551         * lib/mktime.c: Sync from libc, now that it has the latest fix.
86552
86553 2002-11-24  Karl Berry  <karl@gnu.org>
86554
86555         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
86556         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
86557
86558 2002-11-24  Jim Meyering  <jim@meyering.net>
86559
86560         Update from coreutils:
86561
86562         * lib/mktime.c: Merge in changes from libc.
86563
86564         Avoid a link-time failure on some Linux systems.
86565         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
86566         (otherwise).
86567         (__mon_yday): Declare with the STATIC attribute.
86568         (__mktime_internal): Likewise.
86569         Based on a report from Greg Schafer.
86570
86571 2002-11-23  Jim Meyering  <jim@meyering.net>
86572
86573         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
86574         Use `unsigned', not `int', as type of index.
86575
86576         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
86577
86578         * lib/fsusage.c: Remove unneeded parentheses around operands of
86579         `defined'.
86580
86581 2002-11-22  Paul Eggert  <eggert@twinsun.com>
86582
86583         * lib/quotearg.h: Allow multiple inclusion by surrounding with
86584         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
86585         so that we can be included first.
86586         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
86587         * lib/quotearg.c: Include quotearg.h immediately after config.h.
86588         No need to include stddef.h or sys/types.h any more.
86589         Surround local include files with "", not "<>".
86590         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
86591         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
86592         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
86593         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
86594         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
86595         (ISPRINT): Remove; no longer needed now that we assume C89.
86596
86597         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
86598         Preserve errno.
86599
86600         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
86601         quotearg_char): Use SIZE_MAX rather than
86602         (size_t) -1 when we are talking about "infinity".
86603
86604         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
86605
86606 2002-11-22  Paul Eggert  <eggert@twinsun.com>
86607
86608         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
86609         hint that one should use `if (! x) abort ();' rather than `assert
86610         (x);', and anyway it's one less thing to worry about configuring.
86611         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
86612         hash_rehash, hash_insert): Use abort rather than assert.
86613
86614 2002-11-22  Bruno Haible  <bruno@clisp.org>
86615
86616         * lib/safe-read.h: Assume C89. Add comments.
86617         (safe_read): Change return type to size_t.
86618         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
86619         byte counts > SSIZE_MAX correctly.
86620         * lib/safe-write.h: New file.
86621         * lib/safe-write.c: New file.
86622         * lib/full-read.h: New file.
86623         * lib/full-read.c: New file.
86624         * lib/full-write.h: Assume C89. Add comments.
86625         * lib/full-write.c: Include safe-write.h.
86626         (full_write): Rewritten to use safe_write.
86627         Suggested by Jim Meyering and Paul Eggert.
86628
86629 2002-11-21  Jim Meyering  <jim@meyering.net>
86630
86631         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
86632
86633         Merge in changes from the coreutils.
86634
86635         2002-09-25  Paul Eggert  <eggert@twinsun.com>
86636         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
86637         <stdint.h>.
86638         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
86639         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
86640         int.  Work more efficiently if X is the same width as uintmax_t.
86641         Do not compare X to -1, to avoid bogus compiler warning.
86642         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
86643         Don't assume that f_frsize and f_bsize are the same type.
86644
86645         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
86646         warning on FreeBSD.
86647
86648         * lib/makepath.c (make_path): Restore umask *before* creating the final
86649         component.
86650         (make_path): Minor reformatting.
86651
86652         * lib/xmalloc.c: Adjust to work with new autoconf macros,
86653         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
86654         HAVE_MALLOC/HAVE_REALLOC.
86655
86656         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
86657         dummy ones.  At least on GNU/Linux systems, `auto' means something
86658         else.
86659         From Michael Stone.
86660
86661 2002-11-21  Bruno Haible  <bruno@clisp.org>
86662
86663         Remove case insensitive option matching.
86664         * lib/argmatch.h (argcasematch): Remove declaration.
86665         (ARGCASEMATCH): Remove macro.
86666         (__xargmatch_internal): Remove case_sensitive argument.
86667         (XARGMATCH): Update.
86668         (XARGCASEMATCH): Remove macro.
86669         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
86670         case_sensitive argument.
86671         (argcasematch): Remove function.
86672         (__xargmatch_internal): Remove case_sensitive argument.
86673         (main): Use XARGMATCH instead of XARGCASEMATCH.
86674
86675         * lib/xmalloc.c: Change compile-time error message. Add comment about
86676         required autoconf version.
86677
86678 2002-11-20  Paul Eggert  <eggert@twinsun.com>
86679
86680         Merge argmatch cleanups from Bison.  Assume C89.
86681
86682         * lib/argmatch.c: Include config.h here, not in argmatch.h.
86683         Include stdlib.h, for EXIT_FAILURE.
86684         Always include <string.h>, since we assume C89.
86685         (EXIT_FAILURE): Remove pre-C89 bug workaround.
86686         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
86687         Include <stddef.h> instead, since it's all we need for size_t.
86688         (PARAMS): Remove.  All uses removed.
86689         (ARRAY_CARDINALITY): Do not bother to #undef.
86690         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
86691         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
86692         Remove unnecessary parentheses.
86693         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
86694         Insert necessary parentheses.
86695         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
86696         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
86697
86698 2002-11-19  Bruno Haible  <bruno@clisp.org>
86699
86700         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
86701         * lib/mbswidth.h: Include <stddef.h>, for size_t.
86702
86703         * lib/mbswidth.h (PARAMS): Remove macro.
86704         (mbswidth, mbsnwidth): Use ANSI C function declarations.
86705         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
86706
86707         * lib/gcd.h (PARAMS): Remove macro.
86708         (gcd): Use ANSI C function declarations.
86709         * lib/gcd.c (gcd): Likewise.
86710
86711 2002-11-15  Bruno Haible  <bruno@clisp.org>
86712
86713         * lib/strcspn.c: Include <stddef.h>.
86714         (strcspn): Use ANSI C function declaration. Change return type to
86715         size_t. Use NULL.
86716         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
86717         (strpbrk): Use NULL.
86718         * lib/strpbrk.h (PARAMS): Remove macro.
86719         (strpbrk): Use ANSI C function declaration.
86720         * lib/strstr.c: Don't include <sys/types.h>.
86721         * lib/strstr.h (PARAMS): Remove macro.
86722         (strstr): Use ANSI C function declarations.
86723
86724 2002-11-14  Karl Berry  <karl@gnu.org>
86725
86726         * config/mkinstalldirs: `do' on separate line, instead of
86727         `for var; do'.
86728
86729 2002-11-06  Bruno Haible  <bruno@clisp.org>
86730
86731         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
86732         * lib/gcd.c (gcd): Likewise.
86733
86734 2002-11-05  Bruno Haible  <bruno@clisp.org>
86735
86736         * lib/gcd.h: New file, from gettext-0.11.5.
86737         * lib/gcd.c: New file, from gettext-0.11.5.
86738
86739 2002-11-05  Bruno Haible  <bruno@clisp.org>
86740
86741         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
86742         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
86743         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
86744         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
86745
86746         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
86747         <libintl.h>.
86748         * lib/makepath.c: Include gettext.h instead of <locale.h> and
86749         <libintl.h>.
86750
86751         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
86752         * lib/human.c: Include gettext.h instead of <libintl.h>.
86753         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
86754         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
86755         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
86756         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
86757         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
86758         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
86759         (textdomain): Remove definition.
86760         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
86761
86762         * lib/long-options.c: Remove include of <libintl.h> and definition of
86763         _.
86764         * lib/same.c: Remove include of <libintl.h> and definition of _.
86765
86766 2002-11-04  Owen Taylor  <otaylor@redhat.com>
86767
86768         * lib/config.charset: A few additions for Solaris.
86769
86770 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
86771
86772         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
86773         * lib/localcharset.c (locale_charset): Declare as extern "C".
86774
86775 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
86776
86777         * lib/config.charset: msdos in uk_UA uses CP1125.
86778
86779 2002-11-04  Bruno Haible  <bruno@clisp.org>
86780
86781         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
86782         * lib/strcase.h: New file, from GNU gettext-0.11.5.
86783         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
86784         * lib/strstr.h: New file, from GNU gettext-0.11.5.
86785         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
86786
86787 2002-11-04  Bruno Haible  <bruno@clisp.org>
86788
86789         * lib/localcharset.c (locale_charset): Don't return an empty string.
86790
86791 2002-11-04  Bruno Haible  <bruno@clisp.org>
86792
86793         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
86794         aliases.
86795
86796 2002-11-04  Bruno Haible  <bruno@clisp.org>
86797
86798         * lib/config.charset: Update for newest glibc. Add canonical names
86799         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
86800
86801 2002-11-04  Bruno Haible  <bruno@clisp.org>
86802
86803         * lib/config.charset: Add support for NetBSD.
86804
86805 2002-11-04  Bruno Haible  <bruno@clisp.org>
86806
86807         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
86808
86809 2002-11-01  Bruno Haible  <bruno@clisp.org>
86810
86811         * configure.in: Add AC_CONFIG_AUX_DIR call.
86812         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
86813         test/Makefile.
86814         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
86815
86816 2002-09-28  Karl Berry  <karl@gnu.org>
86817
86818         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
86819         installed automake until the next release, since changes have been
86820         made.
86821
86822 2002-09-25  Karl Berry  <karl@gnu.org>
86823
86824         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
86825         * lib/getopt*: copy from libc/posix.
86826         * lib/gettext.h: copy from gettext.
86827         * lib/.cppi-disable: add strdup.c, gettext.h.
86828
86829 2002-09-25  Karl Berry  <karl@gnu.org>
86830
86831         * config/srclist.txt: enable gettext.h check.
86832         * config/config.{guess,sub}: update from prep.
86833         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
86834                 from automake 1.6.3.
86835         See srclist*.
86836
86837 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
86838
86839         * regex.c (PATFETCH): Remove the translating fetch.
86840         (PATFETCH_RAW): Rename to PATFETCH.
86841         (set_image_of_range): New fun.
86842         (SET_RANGE_TABLE_WORK_AREA): Use it.
86843         (regex_compile): Don't translate the pattern chars so eagerly.
86844         Only do it when inserting an `exactn' bytecode or when handling
86845         a char-range.
86846         (mutually_exclusive_p): Avoid empty statement.
86847
86848 2002-07-06  Jim Meyering  <meyering@lucent.com>
86849
86850         * m4/README: Don't mention Makefile.am.in.
86851         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
86852
86853 2002-07-01  Jim Meyering  <meyering@lucent.com>
86854
86855         * lib/c-stack.c: Include sys/time.h.
86856         From Volker Borchert.
86857
86858 2002-06-26  Paul Eggert  <eggert@twinsun.com>
86859
86860         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
86861
86862 2002-06-26  Paul Eggert  <eggert@twinsun.com>
86863
86864         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
86865         New macro.  Use it uniformly instead of
86866         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
86867         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
86868         reported by Vin Shelton.
86869
86870 2002-06-22  Paul Eggert  <eggert@twinsun.com>
86871
86872         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
86873         Do not assume SA_SIGINFO behavior.
86874         Bug reported by Jim Meyering on NetBSD 1.5.2.
86875
86876 2002-06-22  Jim Meyering  <meyering@lucent.com>
86877
86878         * m4/c-stack.m4: New file, from diffutils-2.8.2.
86879         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
86880
86881         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
86882         now that configure.ac uses AC_GNU_SOURCE.
86883         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
86884         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
86885
86886         Update to latest tools.  Suggestions from Paul Eggert.
86887         * m4/stdbool.m4: New file, from diffutils-2.8.2.
86888         * m4/gnu-source.m4: Update from diffutils-2.8.2.
86889         * m4/fnmatch.m4: Likewise.
86890         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
86891         to AC_HEADER_STDBOOL
86892
86893 2002-06-22  Jim Meyering  <meyering@lucent.com>
86894
86895         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
86896         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
86897
86898 2002-06-22  Jim Meyering  <meyering@lucent.com>
86899
86900         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
86901
86902         * lib/exitfail.c, exitfail.h: Likewise.
86903         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
86904
86905         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
86906         of fnmatch.h.
86907         (EXTRA_DIST): Add fnmatch_loop.c.
86908         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
86909
86910         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
86911         * lib/fnmatch.c: Update from diffutils-2.8.2.
86912         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
86913         * lib/fnmatch.h: Remove file.
86914
86915 2002-06-21  Jim Meyering  <meyering@lucent.com>
86916
86917         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
86918         * m4/mbrtowc.m4: Likewise.
86919
86920         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
86921         * m4/mbswidth.m4: Reflect name change:
86922         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
86923         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
86924
86925         * m4/lib-link.m4: Update from gettext-0.11.2.
86926         * m4/gettext.m4: Likewise.
86927
86928         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
86929         From Alfred M. Szmidt.
86930
86931 2002-06-18  Paul Eggert  <eggert@twinsun.com>
86932
86933         * lib/file-type.h: Report an error if neither S_ISREG nor
86934         S_IFREG is defined, instead of using a test specific to glibc
86935         2.2.  This should be safe, since POSIX requires S_ISREG and
86936         Unix Version 7 had S_IFREG.  We don't need to check for
86937         <sys/types.h> since we don't use any symbols that it defines.
86938
86939 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
86940
86941         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
86942         $@-t, so that each temporary file name is unique and valid in the first
86943         8 characters, for operation under DOS.
86944
86945 2002-06-15  Paul Eggert  <eggert@twinsun.com>
86946
86947         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
86948
86949 2002-06-15  Jim Meyering  <meyering@lucent.com>
86950
86951         Work even with DJGPP 2.03, which lacks support for symlinks.
86952         From Richard Dawe.
86953         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
86954         is defined.
86955         * lib/lchown.c (S_ISLNK): Likewise.
86956
86957 2002-06-15  Jim Meyering  <meyering@lucent.com>
86958
86959         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
86960         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
86961         have been included before this file.
86962
86963 2002-06-14  Jim Meyering  <meyering@lucent.com>
86964
86965         * lib/file-type.h: Use the version from diffutils-2.8.2.
86966         * lib/file-type.c: Likewise.
86967
86968 2002-06-07  Jim Meyering  <meyering@lucent.com>
86969
86970         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
86971         They're needed at least for NetBSD 1.5.2.
86972         ($statxfs_includes): Include those same headers.
86973         ($statxfs_includes): Include sys/vfs.h if available.
86974         ($statxfs_includes): Likewise for sys/statvfs.h.
86975         Check for the following members in both structs statfs and statvfs:
86976         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
86977
86978 2002-06-01  Jim Meyering  <meyering@lucent.com>
86979
86980         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
86981         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
86982
86983 2002-05-28  Jim Meyering  <meyering@lucent.com>
86984
86985         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
86986         Reported by Volker Borchert.
86987
86988 2002-05-27  Jim Meyering  <meyering@lucent.com>
86989
86990         Fix a problem seen only on nonconforming systems whereby ls.c's
86991         use of localtime, and then of gettimeofday would cause trouble:
86992         the localtime call used to initialize rpl_gettimeofday's save
86993         mechanism would clobber ls's current local time information so
86994         that in any long listing the first file would always be listed
86995         with date 1970-01-01.  Analysis by Volker Borchert.
86996
86997         * lib/gettimeofday.c (localtime): Undefine.
86998         (rpl_localtime): New function.
86999
87000 2002-05-27  Jim Meyering  <meyering@lucent.com>
87001
87002         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
87003         localtime.
87004
87005         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
87006         use the replacement function; it wouldn't resolve at link time.
87007         Reported by Volker Borchert.
87008
87009 2002-05-22  Jim Meyering  <meyering@lucent.com>
87010
87011         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
87012         file-type.h.
87013         * lib/file-type.h: New file.
87014         * lib/file-type.c (file_type): New file/function.  Extracted from
87015         diffutils.
87016
87017 2002-04-30  Jim Meyering  <meyering@lucent.com>
87018
87019         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
87020
87021 2002-04-29  Paul Eggert  <eggert@twinsun.com>
87022
87023         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
87024
87025 2002-04-29  Paul Eggert  <eggert@twinsun.com>
87026
87027         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
87028         Do not check for alloca.h (no longer used) or stdbool.h (was never
87029         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
87030
87031 2002-04-29  Paul Eggert  <eggert@twinsun.com>
87032
87033         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
87034
87035 2002-04-29  Jim Meyering  <meyering@lucent.com>
87036
87037         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
87038         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
87039         Use AC_FUNC_STRNLEN here instead.
87040
87041         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
87042         With autoconf-2.53a, it's part of AC_PROG_CC.
87043
87044 2002-04-28  Paul Eggert  <eggert@twinsun.com>
87045
87046         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
87047         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
87048
87049 2002-04-28  Paul Eggert  <eggert@twinsun.com>
87050
87051         * lib/sig2str.h, lib/sig2str.c: New files.
87052         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
87053
87054 2002-04-28  Paul Eggert  <eggert@twinsun.com>
87055
87056         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
87057         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
87058         of 127, since 64 is the largest conceivable number for ancient
87059         nonstandard hosts.
87060         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
87061
87062 2002-04-28  Jim Meyering  <meyering@lucent.com>
87063
87064         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
87065
87066 2002-04-24  Jim Meyering  <meyering@lucent.com>
87067
87068         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
87069         (jm_PREREQ): Use it.
87070
87071         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
87072         mach/mach.h fcntl.h.
87073         Check for this function: setlocale.
87074
87075 2002-04-24  Jim Meyering  <meyering@lucent.com>
87076
87077         * lib/gettext.h: New file, from Gettext.
87078         * lib/Makefile.am (INCLUDES): Remove -I../intl.
87079         (libfetish_a_SOURCES): Add gettext.h.
87080
87081 2002-04-16  Jim Meyering  <meyering@lucent.com>
87082
87083         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
87084         ut_pid, ut_id, ut_exit.
87085
87086 2002-04-16  Jim Meyering  <meyering@lucent.com>
87087
87088         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
87089         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
87090         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
87091
87092 2002-04-12  Jim Meyering  <meyering@lucent.com>
87093
87094         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
87095         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
87096         existence of the getmntinfo function.  Needed for Darwin 5.3.
87097
87098         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
87099         This is necessary at least on Darwin 5.3.
87100
87101         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
87102         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
87103         strnlen.o in the library, and that makes some versions of ranlib
87104         object.
87105
87106 2002-04-12  Jim Meyering  <meyering@lucent.com>
87107
87108         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
87109
87110 2002-04-09  Jim Meyering  <meyering@lucent.com>
87111
87112         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
87113         to be more precise.  Rather than saying we're checking whether the
87114         function `works', say what we're testing.
87115         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
87116         Reported by Bruno Haible.
87117
87118 2002-03-10  Jim Meyering  <meyering@lucent.com>
87119
87120         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
87121         Suggestion from Santiago Vila.
87122
87123 2002-03-08  Jim Meyering  <meyering@lucent.com>
87124
87125         * lib/rename.c: Mention that this wrapper is needed also on
87126         mips-dec-ultrix4.4 systems.
87127
87128 2002-03-02  Jim Meyering  <meyering@lucent.com>
87129
87130         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
87131         not HAVE_CLOCK_SETTIME.
87132
87133 2002-02-27  Paul Eggert  <eggert@twinsun.com>
87134
87135         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
87136         Check for clock_settime.
87137
87138 2002-02-27  Paul Eggert  <eggert@twinsun.com>
87139
87140         * lib/nanosleep.h: Rename to....
87141         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
87142
87143         * lib/gettime.c: New file.
87144         * lib/settime.c: New file.
87145         * lib/stime.c: Remove.
87146
87147         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
87148         timespec.h.  Remove nanosleep.h.
87149
87150 2002-02-25  Paul Eggert  <eggert@twinsun.com>
87151
87152         * m4/acl.m4: New file.
87153         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
87154         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
87155
87156 2002-02-25  Paul Eggert  <eggert@twinsun.com>
87157
87158         * lib/acl.c, lib/acl.h: New files.
87159         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
87160
87161 2002-02-24  Jim Meyering  <meyering@lucent.com>
87162
87163         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
87164         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
87165         cause trouble.  Reported by Nelson Beebe.
87166
87167 2002-02-23  Paul Eggert  <eggert@twinsun.com>
87168
87169         * lib/path-concat.c (xpath_concat): Reorder code to pacify
87170         compilers that don't know that xalloc_die never returns.
87171
87172 2002-02-20  Jim Meyering  <meyering@lucent.com>
87173
87174         * lib/getdate.c: Regenerate using bison-1.33.
87175
87176 2002-02-17  Jim Meyering  <meyering@lucent.com>
87177
87178         * config/config.guess (main): Don't use `head -1'; it's no longer
87179         portable. Use `sed 1q' instead.
87180
87181 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
87182
87183         * m4/codeset.m4: Upgrade to gettext-0.11.
87184         * m4/gettext.m4: Upgrade to gettext-0.11.
87185         * m4/glibc21.m4: Upgrade to gettext-0.11.
87186         * m4/iconv.m4: Upgrade to gettext-0.11.
87187         * m4/isc-posix.m4: Upgrade to gettext-0.11.
87188         * m4/lcmessage.m4: Upgrade to gettext-0.11.
87189         * m4/lib-ld.m4: New file, from gettext-0.11.
87190         * m4/lib-link.m4: New file, from gettext-0.11.
87191         * m4/lib-prefix.m4: New file, from gettext-0.11.
87192         * m4/progtest.m4: Upgrade to gettext-0.11.
87193
87194 2002-02-15  Paul Eggert  <eggert@twinsun.com>
87195
87196         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
87197         (jm_PREREQ): Use it.
87198
87199 2002-02-15  Paul Eggert  <eggert@twinsun.com>
87200
87201         * lib/posixver.c, lib/posixver.h: New files.
87202         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
87203
87204 2002-02-02  Paul Eggert  <eggert@twinsun.com>
87205             Bruno Haible  <bruno@clisp.org>
87206
87207         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
87208         (fwrite_success_callback): New declaration.
87209         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
87210         print_unicode_char. Call failure callback instead of error.
87211         (fwrite_success_callback): New function.
87212         (exit_failure_callback): New function.
87213         (fallback_failure_callback): New function.
87214         (print_unicode_char): Call unicode_to_mb.
87215
87216 2002-01-26  Jim Meyering  <meyering@lucent.com>
87217
87218         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
87219         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
87220
87221 2002-01-26  Jim Meyering  <meyering@lucent.com>
87222
87223         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
87224
87225 2002-01-22  Paul Eggert  <eggert@twinsun.com>
87226
87227         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
87228
87229 2002-01-22  Jim Meyering  <meyering@lucent.com>
87230
87231         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
87232         Otherwise, some versions of automake would omit the rule that makes
87233         Makefile from Makefile.in.
87234
87235 2002-01-21  Paul Eggert  <eggert@twinsun.com>
87236
87237         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
87238         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
87239         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
87240         (memcoll): Set errno to zero if there is no error.
87241
87242         * lib/quotearg.c (quotearg_buffer_restyled):
87243         Fix bug with quoting buffers containing NUL when backslashing escapes.
87244         This bug was exposed by the other changes in this patch.
87245         (quotearg_n_options): New arg ARGSIZE.
87246         All callers changed.
87247         (quoting_options_from_style): New function.
87248         (quotearg_n_style): Use it.
87249         (quotearg_n_style_mem): New function.
87250
87251         * lib/quotearg.h (quotearg_n_style_mem): New function.
87252
87253 2002-01-19  Jim Meyering  <meyering@lucent.com>
87254
87255         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
87256         Remove useless quotes: DF_PROG="df".
87257         * m4/strnlen.m4: New file.
87258
87259 2002-01-16  Paul Eggert  <eggert@twinsun.com>
87260
87261         * lib/backupfile.c (ISDIGIT): Comment fix.
87262         * lib/getdate.y (ISDIGIT): Likewise.
87263         * lib/posixtm.c (ISDIGIT, year): Likewise.
87264         * lib/strverscmp.c (ISDIGIT): Likewise.
87265         * lib/userspec.c (ISDIGIT): Likewise.
87266
87267 2002-01-16  Jim Meyering  <meyering@lucent.com>
87268
87269         * lib/getdate.y: Add three semicolons, each just before a closing
87270         brace. Bison (as of version 1.31) no longer papers over that mistake.
87271
87272 2002-01-05  Jim Meyering  <meyering@lucent.com>
87273
87274         * lib/version-etc.c (version_etc_copyright): Update copyright year.
87275
87276 2001-12-19  Paul Eggert  <eggert@twinsun.com>
87277
87278         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
87279         not silently exit merely because the output buffer happens to
87280         have nothing pending.
87281
87282 2001-12-18  Paul Eggert  <eggert@twinsun.com>
87283
87284         See the big note in ../ChangeLog.
87285         * lib/human.c (suffixes): Prefer K to k for 1024.
87286         (generate_suffix_backwards): New function.
87287         (human_readable_inexact): Use it.
87288         * lib/xstrtol.c (__xstrtol): If there is no number but there
87289         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
87290         Accept 'K' as well as 'k'.
87291
87292 2001-12-15  Jim Meyering  <meyering@lucent.com>
87293
87294         * lib/regex.h (__restrict_arr): Update from libc.
87295
87296         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
87297         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
87298         (STREQ): Define.
87299
87300 2001-12-14  Jim Meyering  <meyering@lucent.com>
87301
87302         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
87303         Suggestion from Bruno Haible.
87304
87305 2001-12-10  Jim Meyering  <meyering@lucent.com>
87306
87307         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
87308         xrealloc, Instead, include "xalloc.h".
87309         (initbuffer): Don't cast xmalloc return value to char*.
87310         (readline): Reword comment.
87311         Don't cast xrealloc return value to char*
87312         Return NULL, not 0.
87313
87314 2001-12-09  Jim Meyering  <meyering@lucent.com>
87315
87316         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
87317         about `signed and unsigned type in conditional expression'.
87318         * lib/posixtm.c (posix_time_parse): Likewise.
87319
87320         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
87321
87322         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
87323         to avoid a pedantic warning.
87324
87325         * lib/getstr.c: Don't include assert.h.
87326         (getstr): Remove warning-evoking assertions.
87327         Return -1 if offset parameter is out of bounds.
87328         Change the type of a local from int to size_t.
87329
87330         * lib/strftime.c (my_strftime_localtime_r): Include this function
87331         definition in the `#if ! HAVE_TM_GMTOFF' block.
87332
87333         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
87334         Include xalloc.h instead.
87335
87336 2001-12-02  Jim Meyering  <meyering@lucent.com>
87337
87338         * lib/tempname.c: Don't declare getenv, thus reverting the change of
87339         2001-11-18.  It's no longer necessary, now that stdlib.h is always
87340         included.
87341
87342         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
87343         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
87344
87345 2001-11-30  Akim Demaille  <akim@epita.fr>
87346
87347         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
87348         before being defined.
87349
87350 2001-11-27  Paul Eggert  <eggert@twinsun.com>
87351
87352         * lib/quotearg.h (quotearg_n, quotearg_n_style):
87353         First arg is int, not unsigned.
87354         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
87355         (SIZE_MAX, UINT_MAX): New macros.
87356         (quotearg_n_options): Abort if N is negative.
87357         Avoid overflow check on hosts where size_t is 64 bits and int
87358         is 32 bits, as overflow is impossible there.
87359         Fix off-by-one typo that caused unnecessary reallocation.
87360
87361 2001-11-27  Jim Meyering  <meyering@lucent.com>
87362
87363         * lib/tempname.c: Merge with version from libc.
87364         * lib/regex.c: Likewise.
87365
87366         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
87367         systems for which STDC_HEADERS is 0, it was not included, resulting in
87368         a warning about an integer-to-pointer conversion problem with getenv.
87369         Reported by Volker Borchert.
87370
87371 2001-11-26  Jim Meyering  <meyering@lucent.com>
87372
87373         * lib/gtod.h: Remove file.
87374         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
87375         * lib/gettimeofday.c: Don't include gtod.h.
87376         (GTOD_init): Remove function.
87377         (rpl_gettimeofday): Do its job here instead, rather than aborting.
87378         Suggestion from Volker Borchert.
87379
87380 2001-11-23  Jim Meyering  <meyering@lucent.com>
87381
87382         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
87383         it.
87384         * lib/hash.c (struct hash_table): Define it here instead.
87385
87386 2001-11-22  Jim Meyering  <meyering@lucent.com>
87387
87388         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
87389
87390 2001-11-20  Jim Meyering  <meyering@lucent.com>
87391
87392         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
87393         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
87394
87395 2001-11-19  Jim Meyering  <meyering@lucent.com>
87396
87397         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
87398         directory.  Use "conftestXXXXXX" as the template.
87399         Suggestion from Paul Eggert.
87400
87401         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
87402         immediately, so the test doesn't mistakenly hit the max-open-files
87403         limit.
87404
87405 2001-11-18  Paul Eggert  <eggert@twinsun.com>
87406
87407         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
87408         (TEMPORARIES): New macro.
87409         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
87410         removes an artificial limitation (e.g. HP-UX 10.20, where
87411         TMP_MAX is 17576).
87412
87413 2001-11-18  Jim Meyering  <meyering@lucent.com>
87414
87415         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
87416
87417 2001-11-18  Jim Meyering  <meyering@lucent.com>
87418
87419         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
87420         on SunOS 4.
87421
87422         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
87423         files will be created before anything else.
87424
87425 2001-11-17  Paul Eggert  <eggert@twinsun.com>
87426
87427         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
87428         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
87429
87430 2001-11-17  Jim Meyering  <meyering@lucent.com>
87431
87432         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
87433         Prompted by a report from Bob Proulx.
87434
87435         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
87436         Instead, require UTILS_FUNC_MKSTEMP.
87437
87438 2001-11-17  Jim Meyering  <meyering@lucent.com>
87439
87440         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
87441         Now, that's done as part of AC_FUNC_STRTOD.
87442
87443 2001-11-17  Jim Meyering  <meyering@lucent.com>
87444
87445         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
87446         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
87447         rather than group writable.  Patch by Juan F. Codagnone.
87448
87449         * lib/readtokens.c: Remove explicit declarations of xmalloc and
87450         xrealloc, Instead, include "xalloc.h".
87451
87452         * lib/mountlist.c: Include unlocked-io.h after all system headers.
87453         Remove explicit declarations of xmalloc, xrealloc,
87454         and xstrdup.  Instead, include "xalloc.h".
87455
87456         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
87457         unlocked-io.h.
87458         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
87459         Likewise.
87460         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
87461
87462         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
87463         Reported by Padraig Brady.
87464
87465         * lib/mkstemp.c: #undef mkstemp.
87466         Include config.h.
87467         (rpl_mkstemp): Rename from mkstemp.
87468         Protoize.
87469
87470 2001-11-16  Jim Meyering  <meyering@lucent.com>
87471
87472         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
87473         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
87474         determine the amount of total physical memory, use pstat_getstatic.
87475         HPUX-11 doesn't define _SC_PHYS_PAGES.
87476         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
87477         If sysconf couldn't be used to determine the amount of available
87478         physical memory, use both pstat_getstatic and pstat_getdynamic.
87479         Based on a patch from Bob Proulx.
87480
87481 2001-11-10  Jim Meyering  <meyering@lucent.com>
87482
87483         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
87484         (jm_PREREQ): Use it.
87485
87486 2001-11-09  Jim Meyering  <meyering@lucent.com>
87487
87488         * m4/jm-macros.m4: Require autoconf-2.52f.
87489         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
87490         Use these AC_-prefixed names, not the AM_-prefixed ones.
87491
87492         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
87493
87494 2001-11-05  Jim Meyering  <meyering@lucent.com>
87495
87496         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
87497
87498 2001-11-04  Jim Meyering  <meyering@lucent.com>
87499
87500         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
87501         $DEFS.
87502
87503 2001-11-03  Jim Meyering  <meyering@lucent.com>
87504
87505         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
87506         of AC_DEFUN.
87507
87508         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
87509         know the name of the variable in the macro definition.
87510
87511 2001-11-03  Jim Meyering  <meyering@lucent.com>
87512
87513         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
87514         in argmatch_to_argument call.
87515
87516         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
87517         argument.
87518
87519         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
87520         e.g., a fault due to an attempt to free a NULL pointer.
87521
87522 2001-11-01  Jim Meyering  <meyering@lucent.com>
87523
87524         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
87525         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
87526
87527 2001-11-01  Jim Meyering  <meyering@lucent.com>
87528
87529         * lib/dirfd.c, lib/dirfd.h: New files.
87530         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
87531
87532         * lib/hash.c (hash_print) [TESTING]: Clean up.
87533
87534 2001-10-22  Paul Eggert  <eggert@twinsun.com>
87535
87536         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
87537         to avoid a warning if -Wall.
87538
87539 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
87540
87541         * README: New file
87542         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
87543         (per RMS's instructions, this is now the canonical source)
87544         * lgpl/, gpl/: New directories.
87545
87546 2001-10-21  Paul Eggert  <eggert@twinsun.com>
87547
87548         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
87549
87550 2001-10-21  Jim Meyering  <meyering@lucent.com>
87551
87552         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
87553         this code would end up calling gettext even in packages built
87554         with --disable-nls.
87555         * lib/getopt.c (_): Likewise.
87556         * lib/regex.c (_): Likewise.
87557
87558 2001-10-20  Paul Eggert  <eggert@twinsun.com>
87559
87560         * m4/error.m4 (jm_PREREQ_ERROR):
87561         Do not invoke AC_CHECK_FUNCS with strerror_r, as
87562         AC_FUNC_STRERROR_R does that.
87563         Check for strerror declaration.
87564
87565         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
87566         are supposed to have them these days.
87567         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
87568         Merge changes from latest Autoconf CVS.
87569         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
87570         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
87571         POSIX decided to standardize on the int flavor of strerror_r.
87572
87573 2001-10-20  Paul Eggert  <eggert@twinsun.com>
87574
87575         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
87576         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
87577         Use strerror_r that is only a macro, even if it is not a function.
87578         (strerror): Check for HAVE_DECL_STRERROR before declaring.
87579         (private_strerror): Use prototypes, not old-style function definition.
87580         (print_errno_message): New function.
87581         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
87582         char*-flavored one.
87583         (error_tail, error, error_at_line): Use it.
87584
87585 2001-10-11  Jim Meyering  <meyering@lucent.com>
87586
87587         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
87588         and quote_n (1, ... to avoid clobbering a buffer.
87589
87590 2001-10-05  Jim Meyering  <meyering@lucent.com>
87591
87592         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
87593         hash-pjw.h.
87594         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
87595         * lib/hash-pjw.h: New file.
87596
87597 2001-09-30  Jim Meyering  <meyering@lucent.com>
87598
87599         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
87600         `struct fsstat' has the `f_fstypename' member.
87601         Use that to define FS_TYPE, which is now used to make
87602         the getfsstat link test tighter.
87603
87604 2001-09-30  Jim Meyering  <meyering@lucent.com>
87605
87606         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
87607         Include <sys/ucred.h>, for Apple Darwin.
87608         Include sys/mount.h and sys/fs_types.h only if available.
87609         (FS_TYPE): Define.
87610         (read_filesystem_list): Use FS_TYPE.
87611
87612 2001-09-29  Paul Eggert  <eggert@twinsun.com>
87613
87614         * lib/exclude.c (excluded_filename): 0 -> false, since it's
87615         a boolean context.
87616
87617 2001-09-29  Jim Meyering  <meyering@lucent.com>
87618
87619         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
87620         [one-argument getmntent function]): Include stdio.h before mntent.h.
87621         SunOS 4.1.x needs it for the declaration of `FILE'.
87622         Patch by Volker Borchert.
87623
87624         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
87625         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
87626         sys/fs_types.h, and make the link-test for getfsstat guard #include
87627         directives with appropriate #if HAVE_*_H tests so that we can
87628         detect getfsstat on Apple Darwin1.3.7 systems.
87629         Reported by Nelson Beebe.
87630         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
87631
87632 2001-09-28  Paul Eggert  <eggert@twinsun.com>
87633
87634         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
87635         #defines strtoimax.  Also treat the other strto* functions
87636         like strtoimax.
87637
87638         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
87639         Check for strtoul and strtoumax,
87640         as those declarations are made even in the signed case.
87641         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
87642         Likewise, for strtol and strtoimax.
87643
87644 2001-09-28  Paul Eggert  <eggert@twinsun.com>
87645
87646         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
87647         #defines strtoimax.  Also treat the other strto* functions
87648         like strtoimax.
87649
87650         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
87651         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
87652         (strtoimax, strtoumax): Do not declare if already defined as a macro.
87653
87654 2001-09-26  Jim Meyering  <meyering@lucent.com>
87655
87656         Most macros in unlocked-io.h had the wrong number of arguments.
87657         * lib/gen-uio: New script.
87658         (USE_UNLOCKED_IO): Define to 1 if not already defined.
87659         * lib/unlocked-io.hin: Remove file.
87660         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
87661         rather than trying to embed it here.
87662         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
87663         Reported by Padraig Brady.
87664
87665 2001-09-25  Volker Borchert  <bt@teknon.de>
87666
87667         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
87668         `result'.
87669
87670 2001-09-24  Jim Meyering  <meyering@lucent.com>
87671
87672         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
87673
87674 2001-09-23  Jim Meyering  <meyering@lucent.com>
87675
87676         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
87677         instead of the mere test for existence of mntent.h.  The latter
87678         would get a false-positive on AIX 3.4 systems.
87679         In the outer getmntent if-block, don't die if neither of the getmntent
87680         tests succeeds.  Instead, just fall through and continue with the
87681         remaining tests.
87682
87683 2001-09-23  Jim Meyering  <meyering@lucent.com>
87684
87685         * lib/mountlist.c: Remove useless parentheses in #if directives.
87686         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
87687         the deprecated MOUNTED symbol is no longer defined in mntent.h.
87688
87689 2001-09-22  Jim Meyering  <meyering@lucent.com>
87690
87691         * m4/gettext.m4: New file.  From gettext.
87692         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
87693         * m4/progtest.m4: Likewise
87694         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
87695         * m4/glibc21.m4: Likewise.
87696
87697         * m4/libintl.m4: Remove.  No longer used.
87698
87699 2001-09-22  Jim Meyering  <meyering@lucent.com>
87700
87701         * lib/localcharset.c: Update from latest gettext.
87702         * lib/config.charset: Likewise.
87703
87704 2001-09-20  Jim Meyering  <meyering@lucent.com>
87705
87706         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
87707         strtoimax.
87708         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
87709         strtoumax.
87710
87711 2001-09-20  Jim Meyering  <meyering@lucent.com>
87712
87713         * lib/xstrtol.c (strtoimax): Guard declaration with
87714         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
87715         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
87716         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
87717         (strtoumax): Likewise, for completeness (it wasn't necessary).
87718
87719 2001-09-17  Paul Eggert  <eggert@twinsun.com>
87720
87721         * lib/strtoimax.c (HAVE_LONG_LONG):
87722         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
87723         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
87724         to work around bug in IBM C compiler.
87725
87726 2001-09-17  Jim Meyering  <meyering@lucent.com>
87727
87728         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
87729         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
87730         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
87731         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
87732         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
87733         whenever the right hand side need not be expanded by the shell.
87734
87735 2001-09-16  Paul Eggert  <eggert@twinsun.com>
87736
87737         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
87738         library.  It's not correct, as some older glibcs are buggy.
87739         fnmatch wasn't fixed until glibc 2.2.
87740
87741         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
87742         special shell magic here.
87743
87744 2001-09-16  Jim Meyering  <meyering@lucent.com>
87745
87746         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
87747         * m4/jm-macros.m4: Require it.
87748
87749 2001-09-16  Jim Meyering  <meyering@lucent.com>
87750
87751         * lib/mkdir.c: New file.
87752
87753 2001-09-15  Jim Meyering  <meyering@lucent.com>
87754
87755         * m4/jm-macros.m4: Check for help2man.
87756
87757 2001-09-11  Jim Meyering  <meyering@lucent.com>
87758
87759         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
87760         The body, by Paul Eggert, was moved here from configure.in.
87761         * m4/jm-macros.m4: Require UTILS_HOST_OS.
87762
87763 2001-09-04  Paul Eggert  <eggert@twinsun.com>
87764
87765         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
87766         (jm_PREREQ): Use it.
87767
87768 2001-09-04  Paul Eggert  <eggert@twinsun.com>
87769
87770         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
87771         Use ssize_t, not int, to store result of readlink.
87772         Check for ssize_t overflow as well as size_t overflow,
87773         as POSIX says the result of readlink is implementation-defined
87774         when ssize_t overflows.
87775         Remove unnecessary cast to char*.
87776         Use free+malloc instead of realloc, as the storage doesn't need
87777         to be preserved and it's clearer and can be more efficient that way.
87778         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
87779         * lib/xreadlink.h (xreadlink): Update prototype.
87780
87781 2001-09-04  Paul Eggert  <eggert@twinsun.com>
87782
87783         * lib/xgetcwd.c: Revert some of the previous change; intead,
87784         fix the HAVE_GETCWD_NULL code to behave more like the
87785         !HAVE_GETCWD_NULL code used to.
87786
87787         Include "xalloc.h".
87788         (xgetcwd): Do not return NULL when memory is exhausted; instead,
87789         invoke xalloc_die.
87790
87791 2001-09-03  Paul Eggert  <eggert@twinsun.com>
87792
87793         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
87794         sys/param.h, as pathmax.h includes them.
87795
87796 2001-09-03  Paul Eggert  <eggert@twinsun.com>
87797
87798         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
87799         (jm_PREREQ_XGETCWD): New macro.
87800
87801         * m4/getcwd.m4: New file.
87802
87803 2001-09-03  Paul Eggert  <eggert@twinsun.com>
87804
87805         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
87806         like the HAVE_GETCWD_NULL code.
87807         Include pathmax.h if not HAVE_GETCWD.
87808         Do not include xalloc.h.
87809         (INITIAL_BUFFER_SIZE): New symbol.
87810         Do not use xmalloc / xrealloc, since the caller is responsible for
87811         handling errors.  Preserve errno around `free' during failure.
87812         Do not overrun buffer when using getwd.
87813
87814 2001-09-03  Paul Eggert  <eggert@twinsun.com>
87815
87816         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
87817         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
87818         getcwd (NULL, 0).
87819
87820 2001-09-03  Paul Eggert  <eggert@twinsun.com>
87821
87822         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
87823         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
87824         spotted by Jim Meyering.
87825
87826 2001-09-03  Jim Meyering  <meyering@lucent.com>
87827
87828         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
87829         failure.
87830
87831 2001-09-02  Jim Meyering  <meyering@lucent.com>
87832
87833         * lib/error.c: Update from GNU libc.
87834
87835 2001-09-01  Jim Meyering  <meyering@lucent.com>
87836
87837         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
87838         Used by df.
87839
87840 2001-09-01  Jim Meyering  <meyering@lucent.com>
87841
87842         * lib/xreadlink.c: New file.
87843         * lib/xreadlink.h: New file.
87844         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
87845         xreadlink.h.
87846
87847         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
87848         doesn't conflict with sparc Solaris 7's definition in
87849         /usr/include/sys/int_types.h.
87850
87851         * lib/exclude.c: Use `""', not `<>' to #include non-system header
87852         files.
87853         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
87854         and strncasecmp as r-values.  Unixware didn't have declarations.
87855
87856 2001-08-31  Paul Eggert  <eggert@twinsun.com>
87857
87858         * lib/xstrtol.h: Add copyright notice.
87859         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
87860         LONGINT_INVALID_SUFFIX_CHAR.
87861
87862 2001-08-31  Paul Eggert  <eggert@twinsun.com>
87863
87864         * lib/xstrtol.c (strtoimax): New decl.
87865
87866 2001-08-31  Paul Eggert  <eggert@twinsun.com>
87867
87868         * lib/xgetcwd.c: Don't include pathmax.h.
87869         Include stdlib.h and unistd.h if available.
87870         Include xalloc.h.
87871         (xmalloc, xstrdup, free): Remove decls.
87872         (xgetcwd): Don't assume sizes fit in unsigned.
87873         Check for overflow when computing sizes.
87874         Simplify reallocation code.
87875
87876 2001-08-31  Paul Eggert  <eggert@twinsun.com>
87877
87878         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
87879         a directory's st_size can have an arbitrary value, so the old
87880         usage could waste an arbitrary amount of memory.  All uses
87881         changed.
87882         * lib/savedir.h: Update prototype.
87883
87884 2001-08-31  Paul Eggert  <eggert@twinsun.com>
87885
87886         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
87887
87888         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
87889         old strtoimax.c.
87890
87891         Also, make the following further changes to make this file's
87892         configuration more similar to that of strtol.c:
87893         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
87894         (strtoumax, uintmax_t, strtoull, strtol): Remove.
87895         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
87896         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
87897         changed to signed values.
87898
87899         And make the following changes as well:
87900         Fix copyright notice, as 1999 was missing.
87901         (verify): New macro.
87902         (strtoimax): Check sizes at compile-time, not run-time.
87903         Prefer strtol to strtoll if both work.
87904         (main): Remove; it was not that useful and was a pain to maintain.
87905
87906         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
87907
87908 2001-08-31  Jim Meyering  <meyering@lucent.com>
87909
87910         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
87911         Use an initial, malloc'd, buffer of length 128 rather than
87912         a statically allocated one of length 1024.
87913
87914 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87915
87916         Simplify code, partly by assuming autoconf 2.52 semantics.
87917
87918         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
87919
87920         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
87921         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
87922         All uses removed.
87923         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
87924         Move AC_REQUIRE to next-to-top level, to avoid confusion.
87925         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
87926         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
87927         jm_AC_HEADER_INTTYPES_H.
87928         * m4/jm-macros.m4 (jm_MACROS): Likewise.
87929
87930         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
87931
87932         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
87933         Quote first arg of AC_DEFUN.
87934         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
87935         since they are needed to parse the include file even if we need
87936         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
87937         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
87938         but with opposite signedness.
87939
87940 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87941
87942         Merge 'exclude' changes from tar 1.13.22.
87943         This fixes one or two unlikely storage allocation overflow bugs,
87944         but doesn't change user-visible behavior otherwise.
87945
87946 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87947
87948         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
87949         (jm_PREREQ_EXCLUDE): New macro.
87950
87951 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87952
87953         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
87954         tm to be declared.
87955
87956 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87957
87958         * lib/hash.c: Remove '2001' from copyright notice.
87959
87960 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87961
87962         * lib/full-write.h: New file.
87963         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
87964         * lib/full-write.c: Correct credits, as cccp.c no longer
87965         exists and anyway it was so heavily changed from the old cccp
87966         code as to be unrecognizable.  Include full-write.h.
87967         (full_write): Return size_t, with short writes meaning failure.
87968         All callers changed.  This fixes a bug with large buffers
87969         on 64-bit hosts.
87970         * lib/utime.c: Include full-write.h.
87971
87972 2001-08-30  Paul Eggert  <eggert@twinsun.com>
87973
87974         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
87975         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
87976         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
87977         Include if available.
87978         (<xalloc.h>): Include
87979         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
87980         (verify): New macro.  Use it to verify that EXCLUDE macros do not
87981         collide with FNM macros.
87982         (struct patopts): New struct.
87983         (struct exclude): Use it, as exclude patterns now come with options.
87984         (new_exclude): Support above changes.
87985         (new_exclude, add_exclude_file):
87986         Initial size must now be a power of two to simplify overflow checking.
87987         (free_exclude, fnmatch_no_wildcards): New function.
87988         (excluded_filename): No longer requires options arg, as the options
87989         are determined by add_exclude.  Now returns bool, not int.
87990         (excluded_filename, add_exclude):
87991         Add support for the fancy new exclusion options.
87992         (add_exclude, add_exclude_file): Now takes int options arg.
87993         Check for arithmetic overflow when computing sizes.
87994         (add_exclude_file): xrealloc might modify errno, so don't
87995         realloc until after errno might be used.
87996
87997         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
87998         New macros.
87999         (free_exclude): New decl.
88000         (add_exclude, add_exclude_file): Now takes int options arg.
88001         (excluded_filename): No longer requires options arg, as the options
88002         are determined by add_exclude.  Now returns bool, not int.
88003
88004 2001-08-30  Paul Eggert  <eggert@twinsun.com>
88005
88006         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
88007
88008 2001-08-27  Jim Meyering  <meyering@lucent.com>
88009
88010         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
88011
88012         * lib/version-etc.c (N_): Remove definition.
88013         Revert most of last change.
88014         Instead, simply don't mark the `Copyright...' string for translation.
88015         Based on advice from Paul Eggert.
88016
88017         * lib/strtoxmax.c: Tweak comment.
88018
88019 2001-08-26  Jim Meyering  <meyering@lucent.com>
88020
88021         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
88022
88023         * m4/xstrtoimax.m4: New file.
88024         * m4/xstrtoumax.m4: Add comments explaining why we
88025         AC_REPLACE_FUNCS(strtol).
88026
88027 2001-08-26  Jim Meyering  <meyering@lucent.com>
88028
88029         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
88030         of copyright with `%s' so translators don't get an untranslated
88031         message in 2002.
88032         (COPYRIGHT_YEAR): Define.
88033         (version_etc): Use fprintf rather than fputs.
88034         Suggestion from Ulrich Drepper.
88035
88036         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
88037
88038         * lib/strtoll.c: New file, from GNU libc.
88039         * lib/xstrtoimax.c: New file.
88040
88041         * lib/xstrtol.h: Add xstrtoimax.
88042         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
88043         * lib/strtoimax.c: New file.  Likewise, but first define
88044         STRTOUXMAX_SIGNED.
88045
88046         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
88047         ...
88048         * lib/strtoxmax.c: ... then renamed to this.
88049
88050 2001-08-18  Paul Eggert  <eggert@twinsun.com>
88051
88052         * m4/inttypes.m4: Add AC_PREREQ(2.13).
88053         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
88054         (jm_AC_TYPE_INTMAX_T): New macro.
88055         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
88056
88057         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
88058
88059         * m4/longlong.m4: Renamed from ulonglong.m4.
88060         * m4/inttypes.m4: Renamed from inttypes_h.m4.
88061         * m4/uintmax_t.m4: Removed.
88062
88063 2001-08-13  Paul Eggert  <eggert@twinsun.com>
88064
88065         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
88066         Port to Solaris 8, where 'sed' requires a space after the 'r'
88067         command, and where sh dislikes "$/".  Clean up the spacing a bit.
88068         Redirect output to $tmp just once.
88069
88070 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
88071
88072         * lib/addext.c (<errno.h>): Include.
88073         (errno): Declare if not defined.
88074         (addext): Work correctly when pathconf returns -1 and leaves
88075         errno alone because there is no limit.  Also, work even if
88076         pathconf returns a value greater than SIZE_MAX.
88077
88078 2001-08-12  Jim Meyering  <meyering@lucent.com>
88079
88080         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
88081         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
88082         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
88083         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
88084         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
88085         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
88086         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
88087         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
88088         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
88089         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
88090         utime.m4, utimes.m4, xstrtoumax.m4:
88091         Quote the first argument in each use of AC_DEFUN.
88092
88093 2001-08-12  Jim Meyering  <meyering@lucent.com>
88094
88095         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
88096         Simply `return getcwd (NULL, 0);'.
88097         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
88098         Use 1300 as initial value for length, not PATH_MAX.
88099
88100         * lib/pathmax.h: Clean up cpp syntax.
88101
88102 2001-08-12  Jim Meyering  <meyering@lucent.com>
88103
88104         * lib/gettimeofday.c: New file.
88105         * lib/gtod.h: New file.
88106         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
88107
88108 2001-08-05  Jim Meyering  <meyering@lucent.com>
88109
88110         * m4/jm-macros.m4: Require autoconf-2.52.
88111
88112 2001-08-04  Jim Meyering  <meyering@lucent.com>
88113
88114         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
88115         stmt, to get in sync with glibc.
88116
88117 2001-08-03  Paul Eggert  <eggert@twinsun.com>
88118
88119         The following changes are from gettext 0.10.39 as maintained by
88120         Bruno Haible.
88121
88122         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
88123         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
88124         with inverted sense.  All uses changed.
88125
88126         * lib/mbswidth.c: Don't include <limits.h>.
88127         Include <stdlib.h> and <string.h> unconditionally.
88128         (iswcntrl, mbsinit, ISCNTRL): New macros.
88129         (mbsnwidth): Use K&R style function declarations.
88130         Don't bother checking for MB_LEN_MAX == 1, since the compiler
88131         can optimize it when MB_CUR_MAX == 1.
88132         The width of control characters is zero, not 1.
88133
88134 2001-08-03  Paul Eggert  <eggert@twinsun.com>
88135
88136         The following changes are from gettext 0.10.39 as maintained by
88137         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
88138
88139         * m4/codeset.m4: Upgrade to serial AM1.
88140         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
88141         all uses changed.  Quote first arg of AC_DEFUN.
88142         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
88143
88144         * m4/iconv.m4: Upgrade to serial AM2.
88145         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
88146         Add --with-libconv-prefix.
88147         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
88148         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
88149         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
88150         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
88151         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
88152
88153         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
88154         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
88155         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
88156         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
88157         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
88158         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
88159         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
88160         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
88161         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
88162
88163         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
88164         string.h any more.
88165
88166         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
88167         not the default value.
88168
88169         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
88170         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
88171         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
88172         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
88173         Also check for iswcntrl, used for wcwidth fallback.
88174         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
88175         to Autoconf 2.13.
88176
88177 2001-08-03  Jim Meyering  <meyering@lucent.com>
88178
88179         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
88180         as it was in the original.  Reported by Paul Eggert.
88181
88182 2001-07-16  Jim Meyering  <meyering@lucent.com>
88183
88184         * m4/gettimeofday.m4: New file.
88185         Prompted by a report from Bernhard Baehr.
88186
88187 2001-07-15  Jim Meyering  <meyering@lucent.com>
88188
88189         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
88190         stuff. Now it's in ../Makefile.cfg.
88191
88192 2001-07-15  Jim Meyering  <meyering@lucent.com>
88193
88194         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
88195         (BUILT_SOURCES): Add unlocked-io.h.
88196         (io_functions): Define.
88197         (unlocked-io.h): New rule.
88198         (DISTCLEANFILES): Add unlocked-io.h.
88199         (all-local): Depend on unlocked-io.h, to ensure it is created.
88200
88201         * lib/unlocked-io.hin: New file
88202
88203         * lib/regex.c: Update from glibc.
88204
88205 2001-07-05  Jim Meyering  <meyering@lucent.com>
88206
88207         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
88208         recommendation.
88209         (libfetish_a_SOURCES): Put all .h files here instead.
88210         Remove a thus-exposed (better checks in automake) duplicate and
88211         two unnecessary .h files.
88212
88213 2001-07-04  Jim Meyering  <meyering@lucent.com>
88214
88215         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
88216         that generates jm-glibc-io.m4 so that it doesn't trigger any make
88217         distcheck failure.
88218
88219 2001-07-02  Jim Meyering  <meyering@lucent.com>
88220
88221         The following changes were prompted by suggestions from Bruno Haible.
88222
88223         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
88224         is now generated.
88225         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
88226         definition of EXTRA_DIST.
88227         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
88228         ensure that the generated file is created/updated whenever the list
88229         of $(unlocked_functions) is changed.
88230         (jm-glibc-io.m4): New rule.
88231         (unlocked-io.h): New rule -- currently unused.
88232
88233 2001-06-24  Jim Meyering  <meyering@lucent.com>
88234
88235         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
88236         unmatched right bracket, rather than kludging it with an extra,
88237         falsely-matching quote in a comment.  Patch by Akim Demaille.
88238
88239 2001-06-11  Jim Meyering  <meyering@lucent.com>
88240
88241         * lib/regex.c: Update from GNU libc.
88242
88243 2001-05-27  Jim Meyering  <meyering@lucent.com>
88244
88245         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
88246         Check for ut_type in struct utmp.
88247
88248 2001-05-27  Jim Meyering  <meyering@lucent.com>
88249
88250         * lib/readutmp.h (UT_TYPE): Define.
88251
88252 2001-05-24  Jim Meyering  <meyering@lucent.com>
88253
88254         * lib/argmatch.c: Include "quote.h".
88255         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
88256         quote function.  Reported by Göran Uddeborg.
88257
88258 2001-05-22  Jim Meyering  <meyering@lucent.com>
88259
88260         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
88261         now that we use the package-supplied version unconditionally.
88262         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
88263
88264 2001-05-21  Jim Meyering  <meyering@lucent.com>
88265
88266         * m4/regex.m4: Change a couple backticks to single quotes to avoid
88267         shell syntax errors.
88268
88269 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
88270
88271         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
88272
88273 2001-05-20  Paul Eggert  <eggert@twinsun.com>
88274
88275         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
88276         Don't bother to check library strftime, since
88277         we'll be using our own my_strftime function anyway.
88278         Define my_strftime instead of strftime.
88279
88280 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
88281
88282         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
88283         which is not yet declared.
88284
88285 2001-05-15  Jim Meyering  <meyering@lucent.com>
88286
88287         * m4/regex.m4: Use proper quoting so brackets appear in the test
88288         program.
88289         Reported by, and with help from, Bruno Haible.
88290
88291 2001-05-13  Jim Meyering  <meyering@lucent.com>
88292
88293         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
88294         undefined.
88295
88296 2001-05-11  Paul Eggert  <eggert@twinsun.com>
88297
88298         dirname code cleanup.  base_name now behaves more compatibly
88299         with POSIX basename when given file names that have trailing
88300         slashes, and similarly for dir_name.  Add new primitives
88301         base_len and dir_len.  Put the directory-name-related decls
88302         into dirname.h.
88303
88304         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
88305         * lib/backupfile.c (base_name): Likewise.
88306         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
88307         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
88308         * lib/makepath.c (strip_trailing_slashes): Likewise.
88309         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
88310         ISSLASH): Likewise.
88311         * lib/rename.c (strip_trailing_slashes): Likewise.
88312         * lib/same.c (base_name): Likewise.
88313         * lib/stripslash.c (ISSLASH): Likewise.
88314
88315         * lib/addext.c: Include <dirname.h> after size_t is defined.
88316         * lib/backupfile.c: Likewise.
88317
88318         * lib/addext.c (addext): Use base_len to trim redundant
88319         trailing slashes instead of doing it ourselves.
88320         But do not trim the last slash if it is not redundant.
88321
88322         * lib/backupfile.c (find_backup_file_name,
88323         max_backup_version): Use base_len instead of rolling it ourselves.
88324         Handle the case of "" and (on DOS) "C:" correctly.
88325
88326         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
88327         needed. Include <string.h>, <dirname.h>.
88328         (base_name): Allow file names ending in slashes, other than names
88329         that are all slashes.  In this case, return the basename followed
88330         by the slashes.  This is more general, and can be used in places
88331         where the original base_name purposely had an assertion failure.
88332         (base_len): New function.
88333
88334         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
88335         Do not include <assert.h>; no longer needed.
88336         Include xalloc.h.
88337         (memrchr): Remove decl.
88338         (dir_name_r): Remove.
88339         (dir_len): Renamed from dirlen.  All callers changed.
88340         Rewrite in terms of base_name, for simplicity and consistency.
88341         (dir_name): Never return NULL.  All callers changed.
88342         Do not include <stdlib.h> in test program; no longer needed.
88343         return 0; is fine for test program.
88344
88345         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
88346         New macros.
88347         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
88348
88349         * lib/path-concat.c (path_concat): Use base_len to compute
88350         base length, not strlen; this means we cannot rely on memcpy
88351         to null-terminate.
88352
88353         * lib/same.c (STREQ): Remove.
88354         (same_name): Handle the case where the basename ends in trailing '/'.
88355
88356         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
88357         a slash was stripped.  Do not strip the last slash after a
88358         file system prefix.
88359
88360 2001-05-11  Paul Eggert  <eggert@twinsun.com>
88361
88362         * lib/Makefile.am (libfetish_a_SOURCES):
88363         Add strftime.c, since we now compile it on all hosts.
88364
88365         * lib/strftime.c (my_strftime):
88366         Define to nstrftime if emacs, but only if my_strftime is not defined.
88367         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
88368         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
88369         Add one more extra argument: a nanoseconds value.
88370         All uses changed.
88371         (ns): New macro.
88372         (my_strftime function): Add %N format.
88373         (emacs_strftimeu): Renamed from emacs_strftime,
88374         with extra ut argument.
88375
88376 2001-05-09  Paul Eggert  <eggert@twinsun.com>
88377
88378         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
88379
88380 2001-04-21  Jim Meyering  <meyering@lucent.com>
88381
88382         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
88383         doesn't interfere.
88384
88385 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
88386
88387         * m4/ftruncate.m4: Check for chsize.
88388         Link with ftruncate.o unconditionally if ftruncate is missing.
88389         This was required when cross-compiling to i586-mingw32msvc.
88390
88391 2001-04-08  Jim Meyering  <meyering@lucent.com>
88392
88393         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
88394         recomputed; that's necessary when the offset spans a DST transition.
88395         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
88396
88397 2001-04-02  Jim Meyering  <meyering@lucent.com>
88398
88399         * lib/regex.h, regex.c: Update from GNU libc.
88400
88401 2001-03-24  Jim Meyering  <meyering@lucent.com>
88402
88403         * m4/jm-macros.m4: Require autoconf-2.49d.
88404
88405 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
88406
88407         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
88408
88409 2001-03-19  Paul Eggert  <eggert@twinsun.com>
88410
88411         * lib/version-etc.c (version_etc_copyright): Update to 2001.
88412
88413 2001-03-17  Jim Meyering  <meyering@lucent.com>
88414
88415         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
88416         now that the version in autoconf is equivalent.
88417         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
88418
88419         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
88420         Suggestion from Akim Demaille.
88421
88422         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
88423         (jm_PREREQ_TEMPNAME): New function.
88424
88425 2001-03-16  Paul Eggert  <eggert@twinsun.com>
88426
88427         * lib/tempname.c (uint64_t): Define to uintmax_t if
88428         not defined, and if UINT64_MAX is not defined.
88429         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
88430         Reported by John David Anglin.
88431
88432 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
88433
88434         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
88435         resolve alias if codeset is empty.
88436         * lib/config.charset (BeOS): Use wildcard syntax.
88437
88438 2001-03-13  Jim Meyering  <meyering@lucent.com>
88439
88440         * lib/path-concat.c (path_concat)
88441         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
88442         concatenating e.g., `C:' and `foo'.
88443         From Bruno Haible.
88444
88445 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
88446
88447         * lib/localcharset.c (locale_charset): Don't use
88448         setlocale(LC_CTYPE,NULL). Don't return NULL.
88449         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
88450
88451 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
88452
88453         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
88454         support for DOS/DJGPP.
88455
88456 2001-03-01  Paul Eggert  <eggert@twinsun.com>
88457
88458         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
88459         lacks mkstemp.  Compile our own tempname.c if we compile our own
88460         mkstemp.c, as mkstemp relies on tempname.
88461
88462 2001-03-01  Jim Meyering  <meyering@lucent.com>
88463
88464         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
88465         AH_VERBATIM really does output its argument verbatim.
88466
88467 2001-02-28  Paul Eggert  <eggert@twinsun.com>
88468
88469         * lib/Makefile.am (libfetish_a_SOURCES):
88470         Add dup-safer.c, fopen-safer.c.
88471         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
88472
88473         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
88474         * lib/unistd-safer.h: New files.
88475
88476 2001-02-25  Paul Eggert  <eggert@twinsun.com>
88477
88478         The mkstemp replacement is taken from glibc 2.2.2, with some
88479         portability fixes for use outside glibc, as follows:
88480
88481         * lib/tempname.c (struct_stat64): New macro.
88482         (direxists, __gen_tempname): Use it.
88483         This avoids a portability problem with Solaris 8.
88484
88485         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
88486         (<stddef.h>, <stdint.h>, <string.h>):
88487         Include only if STDC_HEADERS || _LIBC.
88488         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
88489         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
88490         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
88491         (__set_errno): Define this macro if <errno.h> doesn't.
88492         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
88493         Define these macros if <stdio.h> doesn't.
88494         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
88495         Define these macros if <sys/stat.h>
88496         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
88497         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
88498         __xstat64): Define if not _LIBC.
88499         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
88500         (__gen_tempname): Invoke gettimeofday only if
88501         HAVE_GETTIMEOFDAY || _LIBC;
88502         otherwise, fall back on plain "time".
88503         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
88504
88505         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
88506
88507         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
88508
88509 2001-02-18  Paul Eggert  <eggert@twinsun.com>
88510
88511         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
88512
88513 2001-02-17  Paul Eggert  <eggert@twinsun.com>
88514
88515         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
88516         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
88517         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
88518         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
88519
88520 2001-02-17  Paul Eggert  <eggert@twinsun.com>
88521
88522         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
88523         Remove workaround macros for hosts that have mbrtowc but not
88524         mbstate_t, as we now insist on proper declarations for both
88525         before using mbrtowc.
88526
88527 2001-02-17  Jim Meyering  <meyering@lucent.com>
88528
88529         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
88530         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
88531         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
88532         UnixWare 7.1.1.
88533
88534         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
88535         rather than AC_CACHE_VAL.
88536
88537 2001-02-17  Jim Meyering  <meyering@lucent.com>
88538
88539         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
88540         around included file name.
88541
88542         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
88543
88544         * lib/strftime.c: Update from GNU libc (the only changes were to
88545         comments).
88546
88547 2001-02-17  Jim Meyering  <meyering@lucent.com>
88548
88549         * lib/regex.c: Update from libc.
88550
88551 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
88552
88553         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
88554         clash.
88555
88556 2001-02-16  Paul Eggert  <eggert@twinsun.com>
88557
88558         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
88559         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
88560         Reported by Mark Hounschell via Paul Eggert.
88561
88562 2001-02-07  Jim Meyering  <meyering@lucent.com>
88563
88564         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
88565
88566 2001-02-05  Jim Meyering  <meyering@lucent.com>
88567
88568         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
88569         it includes the patch required for `large file' support with at least
88570         HP-UX's 10.20 /bin/cc.
88571
88572 2001-02-03  Jim Meyering  <meyering@lucent.com>
88573
88574         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
88575         AS_IF, now that it works once again (mysteriously).
88576         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
88577
88578 2001-01-30  Jim Meyering  <meyering@lucent.com>
88579
88580         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
88581         * m4/chown.m4: Rename conftestchown to conftest.chown.
88582         * m4/rename.m4: s/conftestdir/conftest.d1/ and
88583         s/conftestdir2/conftest.d2/.
88584         * m4/utimes.m4: s/conftestdata/conftest.data/
88585         Inspired by Pavel Roskin's change in autoconf.
88586
88587 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
88588
88589         * lib/config.charset: Update for FreeBSD 4.2.
88590
88591 2001-01-27  Jim Meyering  <meyering@lucent.com>
88592
88593         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
88594         a use of AS_IF.
88595         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
88596
88597 2001-01-26  Jim Meyering  <meyering@lucent.com>
88598
88599         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
88600         quotearg.c includes it.
88601
88602 2001-01-26  Jim Meyering  <meyering@lucent.com>
88603
88604         * lib/quotearg.c: Include stddef.h.
88605         * lib/quote.c: Include stddef.h.
88606         Reported by Axel Kittenberger.
88607
88608         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
88609         line in double quotes so that it evokes a better diagnostic.
88610         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
88611         Reported by Axel Kittenberger.
88612
88613 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
88614
88615         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
88616         as if it was a `charset'.
88617
88618 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
88619
88620         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
88621         has const.
88622
88623 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
88624
88625         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
88626         to avoid a warning.  Add back 'const' to inptr.
88627
88628 2001-01-20  Jim Meyering  <meyering@lucent.com>
88629
88630         Be sure that headers are checked before used in code compiled
88631         for the type checks.
88632         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
88633         In place of that, invoke jm_CHECK_ALL_TYPES.
88634         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
88635         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
88636         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
88637         The check for ssize_t was mistakenly run before the test for unistd.h.
88638
88639         The configure-time check for stdbool.h was missing.
88640         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
88641         (jm_PREREQ_HASH): New function.
88642
88643 2001-01-17  Jim Meyering  <meyering@lucent.com>
88644
88645         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
88646         for autoconf-2.49c.
88647         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
88648
88649 2001-01-16  Jim Meyering  <meyering@lucent.com>
88650
88651         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
88652         From Bruno Haible.
88653
88654 2001-01-14  Jim Meyering  <meyering@lucent.com>
88655
88656         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
88657         foo and bar.  Create conftestdir/ in the script, not in the C code.
88658         Remove directories in the script, not in the C code.
88659         Remove conftestdir{,2} before trying to create the directory.
88660         Make the entire configure script fail if the mkdir fails.
88661
88662 2001-01-14  Jim Meyering  <meyering@lucent.com>
88663
88664         * lib/rename.c: New file.  From Volker Borchert.
88665         Include stdlib.h, string.h or strings.h, and xalloc.h.
88666         Use strip_trailing_slashes rather than open-coding it.
88667
88668 2001-01-03  Paul Eggert  <eggert@twinsun.com>
88669
88670         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
88671
88672 2001-01-03  Jim Meyering  <meyering@lucent.com>
88673
88674         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
88675         of local `inptr' to avoid warning with some system declarations of
88676         iconv.
88677
88678 2001-01-02  Volker Borchert  <bt@teknon.de>
88679
88680         * m4/rename.m4: New file.
88681         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
88682
88683 2001-01-01  Jim Meyering  <meyering@lucent.com>
88684
88685         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
88686         even on systems with utmpx.h.  It's necessary for the declaration of
88687         utmp's ut_user member.  Reported by Andreas Jaeger.
88688
88689         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
88690         available. They are required for the declarations of getgrgid and
88691         getpwuid resp.
88692         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
88693         Reported by Andreas Jaeger.
88694
88695 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
88696
88697         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
88698         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
88699         so `make install' also works in VPATH builds.
88700
88701 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
88702
88703         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
88704         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
88705         can be used in subdirectories.
88706
88707 2000-12-29  Paul Eggert  <eggert@twinsun.com>
88708
88709         * lib/modechange.c: Do not assume that mode_t uses the
88710         traditional octal encoding.  E.g. "chmod 1 FOO" should set
88711         the other-execute bit of FOO even if S_IXOTH != 1.
88712
88713         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
88714         WOTH, XOTH, ALLM): New macros.
88715         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
88716          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
88717         Use them.
88718         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
88719         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
88720         (mode_compile):
88721         No need to use uintmax_t; unsigned long is long enough.
88722         Don't bother to get suffix since we don't use it.
88723
88724 2000-12-26  Jim Meyering  <meyering@lucent.com>
88725
88726         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
88727         better with autoheader.
88728
88729 2000-12-24  Jim Meyering  <meyering@lucent.com>
88730
88731         * lib/hash.c (is_prime): Return explicit boolean values.
88732         (hash_get_first): Return NULL to appease Irix5.6's 89.
88733         Reported by Nelson Beebe.
88734
88735 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
88736
88737         * lib/localcharset.c (locale_charset): Add support for Win32.
88738
88739 2000-12-18  Paul Eggert  <eggert@twinsun.com>
88740
88741         * lib/physmem.h, lib/physmem.c: New files.
88742
88743         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
88744         (noinst_HEADERS): Add physmem.h.
88745
88746         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
88747         't' for compatibility with Solaris 8 sort.
88748
88749 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
88750
88751         * lib/config.charset: Add support for BeOS.
88752
88753 2000-12-17  Jim Meyering  <meyering@lucent.com>
88754
88755         * m4/dos.m4 (jm_AC_DOS): New file and macro.
88756         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
88757
88758 2000-12-16  Jim Meyering  <meyering@lucent.com>
88759
88760         This bug had a serious impact on chown: `chown N:M FILE' (for integer
88761         N and M) would have treated it like `chown N:N FILE'.
88762
88763         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
88764
88765 2000-12-16  Jim Meyering  <meyering@lucent.com>
88766
88767         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
88768         SHELLS_FILE to a file name that's useful on djgpp systems.
88769         Include stdlib.h.
88770         (ADDITIONAL_DEFAULT_SHELLS): Define.
88771         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
88772         Based mostly on a patch from Prashant TR.
88773
88774 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
88775
88776         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
88777         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
88778         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
88779
88780 2000-12-08  Andreas Schwab  <schwab@suse.de>
88781
88782         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
88783         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
88784
88785 2000-12-07  Jim Meyering  <meyering@lucent.com>
88786
88787         * lib/stripslash.c (ISSLASH): Define.
88788         (strip_trailing_slashes): Use ISSLASH rather than comparing against
88789         `/'.
88790         From Prashant TR.
88791
88792         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
88793         (dir_name_r): Declare this function as static.
88794         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
88795         manifest itself on a name containing a mix of slashes and
88796         backslashes.
88797         Make this function work with names starting with a DOS-style
88798         drive letter and colon prefix.
88799         (dir_name): Append `.' if necessary.
88800         Based mostly on patches from Prashant TR and Eli Zaretskii.
88801
88802         * lib/dirname.h (dir_name_r): Remove prototype.
88803
88804 2000-12-06  Paul Eggert  <eggert@twinsun.com>
88805
88806         * m4/off_t-format.m4: Remove this file.
88807         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
88808
88809 2000-12-06  Jim Meyering  <meyering@lucent.com>
88810
88811         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
88812         replacement strtoull, we may well need the replacement strtoul, too.
88813         Check for declarations of strtoul and strtoull.
88814         Check for strtol.  Mainly as a cue to cause automake to include
88815         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
88816         Check for limits.h -- strtol.c needs it.
88817
88818 2000-12-05  Jim Meyering  <meyering@lucent.com>
88819
88820         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
88821
88822 2000-12-04  Jim Meyering  <meyering@lucent.com>
88823
88824         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
88825         Also include memory.h, stdlib.h, unistd.h if appropriate.
88826         Reported by Andreas Jaeger (conflicting declaration of malloc).
88827
88828 2000-12-02  Jim Meyering  <meyering@lucent.com>
88829
88830         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
88831         * m4/jm-macros.m4 (jm_MACROS): require it.
88832
88833 2000-12-02  Jim Meyering  <meyering@lucent.com>
88834
88835         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
88836
88837 2000-12-01  Paul Eggert  <eggert@twinsun.com>
88838
88839         * lib/memrchr.c: Include <config.h> before any system include file.
88840
88841 2000-11-30  Jim Meyering  <meyering@lucent.com>
88842
88843         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
88844
88845 2000-11-30  Jim Meyering  <meyering@lucent.com>
88846
88847         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
88848
88849 2000-11-29  Paul Eggert  <eggert@twinsun.com>
88850
88851         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
88852
88853 2000-11-26  Jim Meyering  <meyering@lucent.com>
88854
88855         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
88856
88857 2000-11-22  Paul Eggert  <eggert@twinsun.com>
88858
88859         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
88860         size of (size_t) -1; it's not portable.
88861
88862 2000-11-17  Jim Meyering  <meyering@lucent.com>
88863
88864         * lib/strstr.c: Update from GNU libc.
88865
88866 2000-11-17  Akim Demaille  <akim@epita.fr>
88867
88868         * lib/obstack.h: Formatting changes.
88869         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
88870         prevent type checking.
88871         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
88872         cast the value to (void *): assigning a `foo *' to a `void *'
88873         variable is valid.
88874         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
88875
88876 2000-11-16  Jim Meyering  <meyering@lucent.com>
88877
88878         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
88879
88880 2000-11-11  Jim Meyering  <meyering@lucent.com>
88881
88882         * lib/error.c: Add a couple #includes, merging from GNU libc version.
88883
88884 2000-11-10  Jim Meyering  <meyering@lucent.com>
88885
88886         * lib/obstack.h: Update from GNU libc.
88887         * lib/obstack.c: Likewise.
88888
88889 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
88890
88891         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
88892
88893 2000-11-06  Paul Eggert  <eggert@twinsun.com>
88894
88895         * lib/getusershell.c (setusershell): Use rewind rather than
88896         fseek/fseeko, to avoid configuration hassles with fseeko.
88897         Don't bother opening SHELLS_FILE if shellstream is NULL;
88898         it's not necessary.
88899
88900 2000-11-05  Jim Meyering  <meyering@lucent.com>
88901
88902         * lib/makepath.h (make_dir): Declare.
88903         * lib/makepath.c (make_dir): Remove `static' attribute.
88904         Tweak a comment.
88905
88906 2000-11-04  Jim Meyering  <meyering@lucent.com>
88907
88908         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
88909
88910 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
88911
88912         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
88913         last one in a bucket, advance to the next bucket.
88914
88915 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
88916
88917         * lib/fnmatch.c: Do not comment out all the code if we are using
88918         the GNU C library, because in some cases we are replacing buggy
88919         code in the GNU C library itself.
88920
88921 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
88922
88923         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
88924         (regex_compile): Catch bogus \(\1\).
88925
88926 2000-10-30  Paul Eggert  <eggert@twinsun.com>
88927
88928         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
88929         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
88930         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
88931
88932 2000-10-30  Paul Eggert  <eggert@twinsun.com>
88933
88934         * lib/error.h, getline.h, modechange.h:
88935         Remove "2000" from Copyright line, as the file hasn't been
88936         changed this year other than in the copyright notice.
88937
88938         * lib/xalloc.h: Add "2000" to Copyright line, as this file
88939         was changed this year.
88940
88941 2000-10-29  Jim Meyering  <meyering@lucent.com>
88942
88943         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
88944         renaming.
88945         * m4/ls-mntd-fs.m4: Likewise
88946
88947 2000-10-29  Jim Meyering  <meyering@lucent.com>
88948
88949         * lib/xstat.in: Fix grammar in comment.
88950
88951 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
88952
88953         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
88954         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
88955         doesn't define __restrict_arr.
88956
88957 2000-10-28  Jim Meyering  <meyering@lucent.com>
88958
88959         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
88960         (jm_PREREQ_MEMCHR): New function.
88961
88962 2000-10-28  Jim Meyering  <meyering@lucent.com>
88963
88964         * lib/memchr.c: Update from libc.
88965         Adjust for portability:
88966         [HAVE_STDLIB_H]: Include stdlib.h.
88967         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
88968         Undef __memchr, too.
88969         [!weak_alias]: Define __memchr to memchr.
88970
88971         * lib/regex.c: Update from libc.
88972         * lib/regex.h: Likewise.
88973         * lib/getopt1.c: Likewise.
88974         * lib/memcmp.c: Likewise.
88975
88976         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
88977         Avoid using fseek, when possible -- it's broken by design.
88978         Patch by Ulrich Drepper.
88979
88980 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
88981
88982         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
88983         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
88984         Giving in to popular pressure to shut up the compiler with casts.
88985
88986 2000-10-26  Jim Meyering  <meyering@lucent.com>
88987
88988         * lib/strftime.c: Update from libc.
88989
88990 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
88991
88992         * regex.c: More `unsigned char' -> `re_char' changes.
88993         Also change several `int' into `re_wchar_t'.
88994         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
88995         (PUSH_FAILURE_POINTER): Don't cast any more.
88996         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
88997         We want GCC to complain, since this piece of code makes
88998         re_match non-reentrant, which *should* be fixed.
88999         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
89000         (EXTEND_BUFFER): Use RETALLOC.
89001         (SET_LIST_BIT): Don't cast.
89002         (re_wchar_t): New type.
89003         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
89004         that those two functions will always properly return.
89005         (IMMEDIATE_QUIT_CHECK): Cast to void.
89006         (analyse_first): Use recursion rather than an explicit stack.
89007         (re_compile_fastmap): Can't fail anymore.
89008         (re_search_2): Don't check re_compile_fastmap for failure.
89009         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
89010         Now also sets the new value (passed in a new argument).
89011         (re_match_2_internal): Use it.
89012         Also, use a new var `reg' of type size_t when looping through regs
89013         rather than reuse the inappropriate `mcnt'.
89014
89015 2000-10-25  Jim Meyering  <meyering@lucent.com>
89016
89017         * lib/obstack.c: Update from libc.
89018
89019 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
89020
89021         * regex.c (regex_compile): Change the way of handling a range from
89022         a char less than 256 to a char not less than 256.
89023
89024 2000-10-24  Andrew Innes  <andrewi@gnu.org>
89025
89026         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
89027         NT-Emacs only.
89028         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
89029         so that re_search functions only quit when callers expect them to.
89030
89031 2000-10-23  Jim Meyering  <meyering@lucent.com>
89032
89033         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
89034         wrong.  That set_locale call must not have any side effects.
89035         From Paul Eggert.
89036
89037 2000-10-22  Jim Meyering  <meyering@lucent.com>
89038
89039         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
89040         [CYCLIC]: Remove now-unused definition.
89041
89042         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
89043         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
89044         Suggestion from Ulrich Drepper.
89045
89046 2000-10-21  Jim Meyering  <meyering@lucent.com>
89047
89048         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
89049         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
89050         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
89051
89052 2000-10-21  Jim Meyering  <meyering@lucent.com>
89053
89054         * lib/dirname.c (memrchr): Declare if necessary.
89055         (dir_name): Remove the restriction that there be no
89056         trailing slashes.  Now, this code skips past them, effectively
89057         ignoring them.
89058         [TEST_DIRNAME] (main): New unit tests.
89059
89060         * lib/memrchr.c: New file from GNU libc.
89061         Undef __memrchr, too.
89062         [!weak_alias]: Define __memrchr to memrchr.
89063         Guard weak_alias use with `#ifdef weak_alias'.
89064
89065 2000-10-21  Jim Meyering  <meyering@lucent.com>
89066
89067         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
89068         (dir_name): Use dir_name_r.
89069         * lib/dirname.h (dir_name_r): Declare it.
89070
89071 2000-10-17  Jim Meyering  <meyering@lucent.com>
89072
89073         * lib/quote.h (PARAMS): Define and use.
89074         Reported by Akim Demaille.
89075
89076         * lib/getopt.c: Update from libc.
89077
89078 2000-10-16  Jim Meyering  <meyering@lucent.com>
89079
89080         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
89081         setlocale.
89082         From Jan Fedak.
89083
89084 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
89085
89086         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
89087
89088 2000-09-25  Jim Meyering  <meyering@lucent.com>
89089
89090         * lib/md5.h (rol): Define (from GnuPG).
89091
89092         * lib/sha.c: Give credit (GnuPG) where due.
89093         (M): Use rol rather than open-coding it.
89094         Add a FIXME comment.
89095
89096 2000-09-21  Jim Meyering  <meyering@lucent.com>
89097
89098         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
89099         Reported by Michael Stone.
89100
89101 2000-09-20  Jim Meyering  <meyering@lucent.com>
89102
89103         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
89104         (noinst_HEADERS): Add sha.h.
89105         Based on code from Scott G. Miller and from GnuPG.
89106
89107 2000-09-18  Jim Meyering  <meyering@lucent.com>
89108
89109         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
89110         LIBS. Otherwise, everyone ends up linking with -lelf for some
89111         configurations.
89112         Reported by Mike Stone.
89113
89114 2000-09-15  Jim Meyering  <meyering@lucent.com>
89115
89116         * lib/regex.c: Update from libc.
89117
89118 2000-09-10  Jim Meyering  <meyering@lucent.com>
89119
89120         * lib/getopt.c (_getopt_internal): Update from glibc.
89121
89122 2000-09-09  Jim Meyering  <meyering@lucent.com>
89123
89124         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
89125         think it should be used as a general replacement for isascii.
89126         * lib/fnmatch.c: Likewise.
89127         * lib/mbswidth.c: Likewise
89128         * lib/regex.c: Likewise.
89129
89130         Don't use atoi.
89131         * lib/userspec.c: Include sys/param.h and limits.h.
89132         Include xstrtol.h.
89133         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89134         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
89135         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
89136         UID, GID.  Check range.
89137
89138 2000-09-06  Jim Meyering  <meyering@lucent.com>
89139
89140         * lib/getopt.c (_getopt_internal): Update from glibc.
89141
89142 2000-08-30  Jim Meyering  <meyering@lucent.com>
89143
89144         * lib/strftime.c: Merge in changes from GNU libc.
89145
89146 2000-08-26  Jim Meyering  <meyering@lucent.com>
89147
89148         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
89149         * m4/fpending.m4: New file.
89150
89151 2000-08-26  Jim Meyering  <meyering@lucent.com>
89152
89153         * lib/closeout.c: Include "__fpending.h".
89154         (close_stdout_status): Return right away if there's nothing to flush.
89155
89156         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
89157         * lib/__fpending.c: New file.
89158         * lib/__fpending.h: New file.
89159
89160 2000-08-20  Jim Meyering  <meyering@lucent.com>
89161
89162         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
89163         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
89164         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
89165
89166 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
89167
89168         Improve fileutils installation on systems where running
89169         programs (like install) can't be unlinked.
89170         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
89171         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
89172
89173 2000-08-07  Paul Eggert  <eggert@twinsun.com>
89174
89175         Standardize on "memory exhausted" instead of "Memory exhausted"
89176         or "virtual memory exhausted".
89177         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
89178         "virtual memory exhausted".
89179         * lib/same.c (same_name): Invoke xalloc_die instead of printing
89180         our own message.
89181         * lib/userspec.c (parse_user_spec): Likewise.
89182         * lib/bumpalloc.h: comment fix
89183         * lib/same.c, userspec.c: Include xalloc.h.
89184
89185         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
89186         not char *const and pointing to a constant array.
89187         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
89188         (xrealloc): Comment fix.
89189
89190         * lib/userspec.c (parse_user_spec):
89191         Don't translate a message until just before returning,
89192         to avoid unnecessary translation.
89193
89194 2000-08-07  Jim Meyering  <meyering@lucent.com>
89195
89196         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
89197         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
89198         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
89199         getgroups.c, gethostname.c, getopt.h, group-member.c,
89200         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
89201         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
89202         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
89203         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
89204         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
89205         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
89206         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
89207         yesno.c: Back out Copyright date changes for each file with no change
89208         this year.  This eases coordination with other programs using the same
89209         source code modules.  From Paul Eggert.
89210
89211 2000-08-06  Paul Eggert  <eggert@twinsun.com>
89212
89213         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
89214         not char, for compatibility with glibc 2.1.3 strftime.c.
89215
89216 2000-08-03  Greg McGary  <greg@mcgary.org>
89217
89218         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
89219         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
89220         (EXTEND_BUFFER): Use them.
89221
89222 2000-08-01  Jim Meyering  <meyering@lucent.com>
89223
89224         * lib/dirname.c (ISSLASH): Define.
89225         (BACKSLASH_IS_PATH_SEPARATOR): Define.
89226         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
89227         both `\' and `/' may be use as path separators.
89228         Based on a patch from Prashant TR.
89229
89230 2000-07-31  Paul Eggert  <eggert@twinsun.com>
89231
89232         * lib/quotearg.c (quotearg_n_options): Don't make the initial
89233         slot vector a constant, since it might get modified.
89234
89235 2000-07-31  Jim Meyering  <meyering@lucent.com>
89236
89237         * lib/xmalloc.c: Use `virtual memory exhausted', not
89238         `Memory exhausted'.
89239         * lib/obstack.c (print_and_abort): Likewise.
89240
89241 2000-07-30  Paul Eggert  <eggert@twinsun.com>
89242
89243         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
89244         buffer, so that the caller can always quote one small
89245         component of a "memory exhausted" message in slot 0.
89246         From a suggestion by Jim Meyering.
89247
89248 2000-07-30  Jim Meyering  <meyering@lucent.com>
89249
89250         * lib/makepath.c (make_path): Quote the other instance, too.
89251
89252         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
89253         (STATIC_BUF_SIZE): Define.
89254         (quotearg_n_options): Use only statically allocated storage when
89255         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
89256         than STATIC_BUF_SIZE.
89257
89258 2000-07-29  Jim Meyering  <meyering@lucent.com>
89259
89260         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
89261         * lib/dirname.c (dir_name): Likewise.
89262
89263         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
89264         `/'.
89265
89266         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
89267         (dir_name): Assert that there are no trailing slashes.
89268
89269 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
89270
89271         * lib/mbswidth.h (mbswidth): Add a flags argument.
89272         (mbswidth): New declaration.
89273         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
89274         * lib/mbswidth.c (mbswidth): Add a flags argument.
89275         (mbsnwidth): New function.
89276
89277 2000-07-24  Jim Meyering  <meyering@lucent.com>
89278
89279         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
89280
89281 2000-07-23  Paul Eggert  <eggert@twinsun.com>
89282
89283         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
89284
89285 2000-07-23  Paul Eggert  <eggert@twinsun.com>
89286
89287         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
89288         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
89289         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
89290         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
89291         invoke multibyte primitives.
89292
89293 2000-07-23  Paul Eggert  <eggert@twinsun.com>
89294
89295         * lib/quotearg.c:
89296         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
89297         so that mbstate_t is always defined.
89298
89299         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
89300         be 1 in at least one GCC installation, and this configuration
89301         error is likely to be common.  Ignoring MB_LEN_MAX hurts
89302         performance on hosts that have mbrtowc but have only unibyte
89303         locales, but I assume these hosts are rare.
89304
89305 2000-07-23  Paul Eggert  <eggert@twinsun.com>
89306
89307         * lib/mbswidth.c (_XOPEN_SOURCE):
89308         Don't define; this causes problems on Solaris 7.
89309         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
89310
89311 2000-07-23  Jim Meyering  <meyering@lucent.com>
89312
89313         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
89314         too: getgrgid, getpwuid, getuid.
89315
89316 2000-07-23  Jim Meyering  <meyering@lucent.com>
89317
89318         * lib/basename.c (base_name): Add an assertion.
89319
89320 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
89321
89322         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
89323         shadow its mbsinit function.
89324
89325 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
89326
89327         * lib/mbswidth.h: New file.
89328         * lib/mbswidth.c: New file.
89329         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
89330         (noinst_HEADERS): Add mbswidth.h.
89331
89332 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
89333
89334         * lib/config.charset: Add support for FreeBSD. Improve support for
89335         HP-UX and IRIX 6.
89336
89337 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
89338
89339         * m4/mbswidth.m4: New file.
89340         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
89341
89342 2000-07-15  Jim Meyering  <meyering@lucent.com>
89343
89344         * lib/makepath.c: Include quote.h.
89345         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
89346         corresponding argument in a `quote (...)' call.
89347         Give better diagnostics.
89348
89349         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
89350         (noinst_HEADERS): Add quote.h.
89351
89352         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
89353         from tar's src/misc.c.
89354         * lib/quote.h: New file.  Prototypes for same.
89355
89356 2000-07-14  Paul Eggert  <eggert@twinsun.com>
89357
89358         From a suggestion by Bruno Haible.
89359         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
89360         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
89361         to decide whether to define the BeOS workaround macro;
89362         this adjusts to the change to AC_MBSTATE_T.
89363
89364 2000-07-14  Jim Meyering  <meyering@lucent.com>
89365
89366         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
89367         jm_AC_TYPE_UINTMAX_T.
89368
89369 2000-07-13  Paul Eggert  <eggert@twinsun.com>
89370
89371         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
89372
89373         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
89374         quotearg_buffer_restyled): Add support for
89375         clocale_quoting_style.  Undo previous change to
89376         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
89377         and "{RIGHT QUOTATION MARK}" msgids.
89378
89379 2000-07-10  Paul Eggert  <eggert@twinsun.com>
89380
89381         From a suggestion by Bruno Haible.
89382         * m4/mbstate_t.m4 (AC_MBSTATE_T):
89383         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
89384         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
89385         and mbstate_t, to a single-part test that simply defines mbstate_t.
89386         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
89387         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
89388
89389 2000-07-10  Jim Meyering  <meyering@lucent.com>
89390
89391         * m4/strerror_r.m4: Mirror the correction made in autoconf.
89392
89393         * m4/gnu-source.m4: Output to confdefs.h directly.
89394         Suggestion from Akim Demaille.
89395
89396 2000-07-09  Paul Eggert  <eggert@twinsun.com>
89397
89398         The old behavior of quoting `like this' doesn't look good with
89399         newer, ISO-style fonts.  See:
89400         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
89401
89402         Instead, quote "like this" by default.  Let the translator
89403         tailor the locale-specific quoting behavior by providing
89404         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
89405
89406         * lib/quotearg.c (N_): New macro.
89407         (gettext_default): New function.
89408         (quotearg_buffer_restyled): Use
89409         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
89410         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
89411
89412 2000-07-09  Jim Meyering  <meyering@lucent.com>
89413
89414         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
89415         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
89416
89417         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
89418         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
89419
89420 2000-07-09  Jim Meyering  <meyering@lucent.com>
89421
89422         * lib/Most files: Update copyright dates to include 2000.
89423
89424 2000-07-08  Jim Meyering  <meyering@lucent.com>
89425
89426         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
89427         if not defined.
89428         (xgethostname): Remove now-unnecessary #ifdef.
89429         Move declaration of `err' into loop where it's used.
89430
89431 2000-07-05  Paul Eggert  <eggert@twinsun.com>
89432         and Bruno Haible  <haible@clisp.cons.org>
89433
89434         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
89435         only if the test for an object-type mbstate_t fails.  This
89436         prevents us from mistakenly reporting that mbstate_t is a
89437         system object type after we "#define mbstate_t int" to work
89438         around its lack.
89439
89440 2000-07-05  Paul Eggert  <eggert@twinsun.com>
89441         and Bruno Haible  <haible@clisp.cons.org>
89442
89443         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
89444
89445 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
89446
89447         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
89448         to strerror_r.
89449         Include <ctype.h> for use of isalpha.
89450
89451 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
89452
89453         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
89454         by allocating a larger buffer. Test the gethostname return value for
89455         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
89456         returns an error and ENAMETOOLONG isn't defined.
89457
89458 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
89459
89460         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
89461         dimension.
89462
89463 2000-07-04  Jim Meyering  <meyering@lucent.com>
89464
89465         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
89466         of the deprecated AC_CHECKING.
89467
89468 2000-07-04  Jim Meyering  <meyering@lucent.com>
89469
89470         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
89471         Reported by Bruno Haible.
89472
89473 2000-07-04  Jim Meyering  <meyering@lucent.com>
89474
89475         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
89476         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
89477         lacks mbrtowc.
89478
89479 2000-07-03  Paul Eggert  <eggert@twinsun.com>
89480
89481         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
89482         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
89483
89484 2000-07-03  Paul Eggert  <eggert@twinsun.com>
89485         and Bruno Haible  <haible@clisp.cons.org>
89486
89487         * lib/quotearg.c (mbrtowc):
89488         Assign to *pwc, and return 1 only if result is nonzero.
89489         (iswprint): Use ISPRINT when substituting our own mbrtowc.
89490
89491 2000-07-03  Jim Meyering  <meyering@lucent.com>
89492
89493         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
89494
89495 2000-07-03  Jim Meyering  <meyering@lucent.com>
89496
89497         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
89498         This is necessary to get a definition of e.g., UTMP_FILE on
89499         HP-UX 10.20.
89500         From Bob Proulx.
89501
89502 2000-07-02  Jim Meyering  <meyering@lucent.com>
89503
89504         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
89505
89506         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
89507         AC_LIBOBJ(function_name).
89508         * m4/chown.m4: Likewise.
89509         * m4/fnmatch.m4: Likewise.
89510         * m4/ftruncate.m4: Likewise.
89511         * m4/getgroups.m4: Likewise.
89512         * m4/getline.m4: Likewise.
89513         * m4/group-member.m4: Likewise.
89514         * m4/jm-macros.m4: Likewise.
89515         * m4/lstat.m4: Likewise.
89516         * m4/malloc.m4: Likewise.
89517         * m4/memcmp.m4: Likewise.
89518         * m4/nanosleep.m4: Likewise.
89519         * m4/putenv.m4: Likewise.
89520         * m4/realloc.m4: Likewise.
89521         * m4/regex.m4: Likewise.
89522         * m4/stat.m4: Likewise.
89523         * m4/strftime.m4: Likewise.
89524
89525 2000-07-02  Jim Meyering  <meyering@lucent.com>
89526
89527         * lib/quotearg.c (mbstate_t): Don't define here.
89528
89529 2000-07-02  Jim Meyering  <meyering@lucent.com>
89530
89531         * lib/nanosleep.c (SIGCONT): Define if not already defined.
89532
89533 2000-07-01  Jim Meyering  <meyering@lucent.com>
89534
89535         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
89536
89537 2000-07-01  Jim Meyering  <meyering@lucent.com>
89538
89539         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
89540         problem.
89541
89542 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
89543
89544         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
89545         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
89546
89547 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
89548
89549         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
89550         per change in ../m4/ls-mntd-fs.m4.
89551         (read_filesystem_list): Ignore symbolic links.
89552
89553 2000-06-29  Jim Meyering  <meyering@lucent.com>
89554
89555         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
89556         for declaration of strcmp.
89557
89558         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
89559
89560         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
89561         Avoid warning by casting result to `char *' to remove `const'.
89562
89563 2000-06-28  Jim Meyering  <meyering@lucent.com>
89564
89565         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
89566         included by quotearg.c, for which we perform this test.  From
89567         Bruno Haible.
89568
89569 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
89570
89571         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
89572         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
89573         <utmpx.h> exists, put readutmp.o into LIBOBJS.
89574
89575 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
89576
89577         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
89578
89579 2000-06-26  Paul Eggert  <eggert@twinsun.com>
89580
89581         savedir now sets errno on failure and invokes xmalloc to get memory.
89582         Fix a couple of other minor bugs while we're at it.
89583
89584         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
89585         (NAMLEN): Remove macro.
89586         (malloc, realloc): Remove decls.
89587         (stpcpy): Likewise.
89588         ("xalloc.h"): Include.
89589         (NAME_SIZE_DEFAULT): New macro.
89590         (savedir): Use xmalloc / xrealloc to allocate memory.
89591         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
89592         Skip "" directory entries.
89593         Use strlen to calculate directory entry length, since the old method
89594         is rarely used these days and isn't worth supporting.
89595         Don't use a pointer after freeing it.
89596         Check for integer overflow when calculating allocation size.
89597         Use memcpy to copy entries, instead of stpcpy.
89598         Set errno properly when returning NULL.
89599         Check for readdir error.
89600
89601 2000-06-26  Jim Meyering  <meyering@lucent.com>
89602
89603         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
89604
89605 2000-06-25  Jim Meyering  <meyering@lucent.com>
89606
89607         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
89608         Linux header bug when _XOPEN_SOURCE is defined to 500.
89609
89610 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
89611
89612         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
89613         deficiency.
89614
89615 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
89616
89617         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
89618         Include xalloc.h.
89619         Don't include <stdlib.h>.  Don't declare malloc, realloc.
89620
89621 2000-06-24  Jim Meyering  <meyering@lucent.com>
89622
89623         * m4/strerror_r.m4: Revive this file -- to try out an experimental
89624         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
89625         for which strerror does return char*, but which lacks a conveniently
89626         accessible declaration of the function.  If the compile-test says
89627         strerror_r doesn't work, then resort to a `run'-test that works on
89628         BeOS and segfaults on DEC Unix.
89629
89630 2000-06-24  Jim Meyering  <meyering@lucent.com>
89631
89632         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
89633
89634 2000-06-23  Paul Eggert  <eggert@twinsun.com>
89635
89636         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
89637         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
89638
89639 2000-06-23  Paul Eggert  <eggert@twinsun.com>
89640
89641         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
89642         (mbrtowc, mbstate_t): Define substitutes if
89643         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
89644         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
89645         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
89646
89647 2000-06-23  Jim Meyering  <meyering@lucent.com>
89648
89649         * m4/afs.m4: Add missing AC_MSG_RESULT.
89650         Reported by Bruno Haible.
89651
89652         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
89653         Suggestion from Bruno Haible.
89654
89655 2000-06-23  Jim Meyering  <meyering@lucent.com>
89656
89657         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
89658
89659 2000-06-21  Jim Meyering  <meyering@lucent.com>
89660
89661         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
89662
89663 2000-06-21  Jim Meyering  <meyering@lucent.com>
89664
89665         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
89666         (noinst_HEADERS): Add getstr.h.
89667
89668         * lib/getline.c (getstr): Move into a separate file.
89669         * lib/getstr.c (getstr): New file, extracted from getline.c, with
89670         the following changes: new parameter, delim2; both delim[12]
89671         parameters have type `int', not `char'.  The latter would lose
89672         with 8-bit delimiters.
89673         * lib/getstr.h: New file.
89674
89675 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
89676
89677         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
89678         than 1024, return a memory chunk of least possible size, instead
89679         of size PATH_MAX + 2. In the loop, increment the size proportionally.
89680         Use free/xmalloc instead of xrealloc to avoid copying for very long
89681         paths.
89682
89683 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
89684
89685         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
89686         the empty string.
89687
89688 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
89689
89690         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
89691         address, not strdup.  Include <stdlib.h> and don't declare free().
89692
89693 2000-06-19  Jim Meyering  <meyering@lucent.com>
89694
89695         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
89696
89697 2000-06-18  Jim Meyering  <meyering@lucent.com>
89698
89699         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
89700
89701         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
89702         `checking whether...' message to be consistent with that of the
89703         lstat test.
89704
89705 2000-06-18  Jim Meyering  <meyering@lucent.com>
89706
89707         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
89708         Besides, these days every porting target provides a mkdir function.
89709
89710         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
89711         needed. (this snippet comes from src/system.h).
89712
89713 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
89714
89715         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
89716
89717 2000-06-15  Paul Eggert  <eggert@twinsun.com>
89718
89719         * lib/human.c (adjust_value): New function.
89720         (human_readable_inexact): Apply rounding style even when
89721         printing approximate values.
89722
89723 2000-06-14  Paul Eggert  <eggert@twinsun.com>
89724
89725         * lib/human.c (human_readable_inexact): Allow an input block
89726         size that is not a multiple of the output block size, and vice versa.
89727         Reported by Piergiorgio Sartor.
89728
89729 2000-06-14  Paul Eggert  <eggert@twinsun.com>
89730
89731         * lib/getdate.y (get_date): Apply relative times after time
89732         zone indicator, not before.  Reported by Todd A. Jacobs.
89733
89734 2000-06-13  Jim Meyering  <meyering@lucent.com>
89735
89736         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
89737
89738         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
89739
89740 2000-06-12  Paul Eggert  <eggert@twinsun.com>
89741
89742         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
89743
89744 2000-06-12  Jim Meyering  <meyering@lucent.com>
89745
89746         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
89747         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
89748         optional argument.
89749         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
89750         the optional argument, `lib'.
89751
89752 2000-06-08  Jim Meyering  <meyering@lucent.com>
89753
89754         * m4/largefile.m4: Remove file (now that it's part of autoconf).
89755
89756 2000-06-04  Paul Eggert  <eggert@twinsun.com>
89757
89758         Rewrite largefile configuration so that we don't need to run
89759         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
89760         AC_CANONICAL_HOST in configure.in -- jmm]
89761
89762         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
89763         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
89764         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
89765         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
89766         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
89767         All uses changed.
89768         Instead of inspecting the output of getconf, try to compile the
89769         test program without and with the macro definition.
89770         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
89771         for getconf.  Instead, check for the needed flags by compiling
89772         test programs.
89773
89774 2000-06-04  Paul Eggert  <eggert@twinsun.com>
89775
89776         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
89777
89778 2000-06-04  Jim Meyering  <meyering@lucent.com>
89779
89780         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
89781         SunOS 4.1.4 for which gid_t is an unsigned type.
89782
89783 2000-06-03  Jim Meyering  <meyering@lucent.com>
89784
89785         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
89786         now that autoconf requires that.
89787
89788         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
89789         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
89790         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
89791
89792 2000-06-03  Jim Meyering  <meyering@lucent.com>
89793
89794         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
89795
89796 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
89797
89798         * m4/glibc21.m4: New file.
89799         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
89800
89801 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
89802
89803         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
89804         newer, don't install charset.alias.
89805         * lib/config.charset: Change the Linux/glibc rules so they become empty
89806         on glibc-2.1 or newer.
89807
89808 2000-06-02  Jim Meyering  <meyering@lucent.com>
89809
89810         * lib/mountlist.c: Back out last change.  Instead, do this...
89811         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
89812         me_dummy member using the same `ignore'-testing code.
89813         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
89814         fs_type strings.
89815         From Mark D. Roth.
89816
89817 2000-05-29  Jim Meyering  <meyering@lucent.com>
89818
89819         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
89820         mounts with the `ignore' attribute.  Based on a patch from
89821         Mark D. Roth.
89822
89823 2000-05-28  Jim Meyering  <meyering@lucent.com>
89824
89825         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
89826         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
89827         * m4/stat.m4: Likewise.
89828         * m4/lstat.m4: Likewise.
89829         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
89830
89831         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
89832         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
89833
89834 2000-05-26  Jim Meyering  <meyering@lucent.com>
89835
89836         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
89837
89838 2000-05-24  Jim Meyering  <meyering@lucent.com>
89839
89840         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
89841         autoconf requires that.
89842         * m4/lib-check.m4: Likewise.
89843         * m4/jm-macros.m4: Likewise.
89844         * m4/strftime.m4: Likewise.
89845
89846         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
89847         AC_CHECK_DECLS, now that autoconf requires that.
89848
89849 2000-05-22  Jim Meyering  <meyering@lucent.com>
89850
89851         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
89852         * m4/lstat.m4: Likewise.
89853
89854 2000-05-22  Jim Meyering  <meyering@lucent.com>
89855
89856         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
89857
89858 2000-05-20  Jim Meyering  <meyering@lucent.com>
89859
89860         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
89861         (jm_PREREQ): Use it.
89862
89863 2000-05-18  Jim Meyering  <meyering@lucent.com>
89864
89865         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
89866         back, too, since it may have been modified by allocate_entry.
89867         (hash_delete): Rewrite to use neither the assignment operator
89868         nor the comma operator in an if-expression.
89869
89870 2000-05-15  Paul Eggert  <eggert@twinsun.com>
89871
89872         * lib/closeout.c:
89873         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
89874         Remove; no longer needed.
89875         "quotearg.h": Add include.
89876         (file_name): Do not bother to explicitly initialize to NULL; it's less
89877         efficient on some hosts.
89878         (close_stdout_status): Remove test as to whether stdout was already
89879         closed; it breaks for the case "echo x | sort >&-".
89880         Quote file name colons.
89881         Do not assume that _("write error") lacks format strings.
89882
89883 2000-05-15  Jim Meyering  <meyering@lucent.com>
89884
89885         * lib/version-etc.c (version_etc_copyright): Update the copyright
89886         string used in all --version output.
89887
89888 2000-05-14  Jim Meyering  <meyering@lucent.com>
89889
89890         * lib/closeout.c (close_stdout_set_file_name): New function.
89891         (close_stdout_status): Use new file-scoped global.
89892         Return right away if fstat says the stdout file descriptor is invalid.
89893         * lib/closeout.h (close_stdout_set_file_name): Declare.
89894
89895 2000-05-10  Jim Meyering  <meyering@lucent.com>
89896
89897         * lib/closeout.c [default_exit_status]: New file-scoped variable.
89898         (close_stdout_set_status): New function.
89899         * lib/closeout.h (close_stdout_set_status): Declare.
89900
89901 2000-05-09  Jim Meyering  <meyering@lucent.com>
89902
89903         * m4/gettext.m4: Rename this...
89904         * m4/libintl.m4: ...to this.
89905
89906 2000-05-08  Jim Meyering  <meyering@lucent.com>
89907
89908         * lib/long-options.c: Don't include closeout.h.
89909         (parse_long_options): Don't call close_stdout for --version.
89910
89911 2000-05-06  Paul Eggert  <eggert@twinsun.com>
89912
89913         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
89914         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
89915         2.1.3 bug.  This avoids a clash when files like regex.c define
89916         _GNU_SOURCE.
89917
89918 2000-05-06  Jim Meyering  <meyering@lucent.com>
89919
89920         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
89921         (AC_REPLACE_FUNCS): Add strnlen.
89922
89923         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
89924         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
89925
89926         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
89927         AC_SEARCH_LIBS call for nanosleep.
89928         (LIB_NANOSLEEP): Set and AC_SUBST.
89929
89930 2000-05-06  Jim Meyering  <meyering@lucent.com>
89931
89932         * lib/strnlen.c: Undefine __strnlen and strnlen.
89933         [!weak_alias]: Define __strnlen to strnlen.
89934
89935         * lib/atexit.c: New file, from libiberty.
89936
89937 2000-05-06  Jim Meyering  <meyering@lucent.com>
89938
89939         * lib/closeout.c (close_stdout_status): Also check for errors on the
89940         stderr stream.
89941
89942 2000-05-05  Jim Meyering  <meyering@lucent.com>
89943
89944         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
89945         AC_SEARCH_LIBS call for clock_gettime.
89946         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
89947
89948         * m4/search-libs.m4: Update from autoconf.
89949
89950         su doesn't work on Solaris 2.6.
89951         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
89952         <shadow.h>.  Reported by Dragos Harabor.
89953
89954 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
89955
89956         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
89957         memcpy instead of xmalloc, xrealloc, path_concat.
89958         (locale_charset): Treat empty environment variables as absent.
89959         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
89960
89961 2000-05-04  Jim Meyering  <meyering@lucent.com>
89962
89963         * lib/getopt.c: Update from glibc.
89964         * lib/obstack.c: Likewise.
89965         * lib/obstack.h: Likewise.
89966         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
89967         file
89968
89969         * lib/regex.h: Likewise.
89970         * lib/strndup.c: Likewise.
89971         * lib/strnlen.c: New file, from glibc.
89972
89973 2000-05-03  Jim Meyering  <meyering@lucent.com>
89974
89975         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
89976
89977 2000-05-02  Paul Eggert  <eggert@twinsun.com>
89978
89979         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
89980         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
89981         compile-time test, rather than inspecting host and OS, to
89982         decide whether to define _LARGEFILE_SOURCE.
89983
89984 2000-05-01  Jim Meyering  <meyering@lucent.com>
89985
89986         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
89987
89988         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
89989         Based on a patch from Bruno Haible.
89990
89991 2000-05-01  Jim Meyering  <meyering@lucent.com>
89992
89993         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
89994
89995 2000-04-29  Jim Meyering  <meyering@lucent.com>
89996
89997         * lib/path-concat.c: Declare strdup only if it's not defined.
89998         * lib/canon-host.c: Likewise.
89999
90000 2000-04-28  Jim Meyering  <meyering@lucent.com>
90001
90002         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
90003         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
90004         is included first, then limits.h is included by locale.h by libintl.h.
90005         From John David Anglin.
90006
90007 2000-04-25  Jim Meyering  <meyering@lucent.com>
90008
90009         * lib/makepath.c (S_IRWXUGO): Define.
90010         (make_path): Always perform explicit chmod if MODE specifies any
90011         of the `special' permission bits.  Prompted by a bug report against
90012         install from Mate Wierdl and Joost van Baal.
90013
90014 2000-04-18  Jim Meyering  <meyering@lucent.com>
90015
90016         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
90017         (jm_PREREQ): Use it.
90018
90019 2000-04-18  Jim Meyering  <meyering@lucent.com>
90020
90021         * lib/README: New file.
90022
90023         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
90024         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
90025
90026 2000-04-17  Jim Meyering  <meyering@lucent.com>
90027
90028         Get it right :-)
90029         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
90030         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
90031         Suggestion from Akim Demaille.
90032
90033 2000-04-17  Jim Meyering  <meyering@lucent.com>
90034
90035         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
90036         the definition of it to rpl_strftime also defined-away the system's
90037         declaration.
90038
90039 2000-04-15  Jim Meyering  <meyering@lucent.com>
90040
90041         Use `C' to denote so-called `contiguous' files, the same way
90042         that tar does.
90043         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
90044         (ftypelet): Use S_ISCTG.
90045         From Michael Deutschmann.
90046
90047 2000-04-14  Jim Meyering  <meyering@lucent.com>
90048
90049         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
90050         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
90051         clobbered.
90052
90053 2000-04-14  Jim Meyering  <meyering@lucent.com>
90054
90055         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
90056
90057 2000-04-13  Jim Meyering  <meyering@lucent.com>
90058
90059         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
90060         AH_VERBATIM to insert required #ifndef into config.h.in.
90061         Suggestion from Akim Demaille.
90062
90063 2000-04-12  Jim Meyering  <meyering@lucent.com>
90064
90065         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
90066         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
90067         Christian Krackowizer.
90068
90069         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
90070         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
90071         (AC_SYS_LARGEFILE): Require.
90072         (AM_C_PROTOTYPES): Require.
90073
90074 2000-04-08  Jim Meyering  <meyering@lucent.com>
90075
90076         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
90077         names don't conflict.  Reported by Eli Zaretskii.
90078
90079 2000-04-07  Jim Meyering  <meyering@lucent.com>
90080
90081         * lib/putenv.c: Move inclusion of errno.h so it follows that of
90082         sys/types.h, to work around system header problems on AIX 3.2.5.
90083         From Bruno Haible.
90084
90085 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
90086
90087         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
90088         bug.  Deal with the different error behavior of Irix iconv.
90089
90090 2000-04-05  Paul Eggert  <eggert@twinsun.com>
90091
90092         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
90093         IRIX if the installer said otherwise.
90094
90095 2000-04-05  Jim Meyering  <meyering@lucent.com>
90096
90097         Portability tweaks required for ultrix4.3.
90098         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
90099         (jm_CHECK_DECLS): Add getutent to the list of functions.
90100         (_jm_DECL_HEADERS): Add utmpx.h.
90101         From John David Anglin.
90102
90103         * m4/strftime.m4: Back out the 2000-04-02 change.
90104         Instead of that change, simply undefine putenv in the test program.
90105
90106 2000-04-05  Jim Meyering  <meyering@lucent.com>
90107
90108         Portability tweaks required for ultrix4.3.
90109         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
90110         getutent.
90111         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
90112         * lib/canon-host.c: Declare strdup.
90113         * lib/path-concat.c: Likewise.
90114         From John David Anglin.
90115
90116 2000-04-04  Jim Meyering  <meyering@lucent.com>
90117
90118         Be more DOS 8.3-friendly.
90119         * lib/ref-add.sin: Renamed from ref-add.sed.in.
90120         * lib/ref-del.sin: Renamed from ref-del.sed.in.
90121         * lib/Makefile.am: Reflect renaming.
90122         Reported by Eli Zaretskii.
90123
90124         Use a temporary file name that won't clash with `charset.alias'
90125         in the DOS 8.3 name space.
90126         * lib/Makefile.am (charset_tmp): Define.
90127         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
90128         (uninstall-local): Likewise.
90129         Reported by Eli Zaretskii.
90130
90131 2000-04-03  Jim Meyering  <meyering@lucent.com>
90132
90133         * m4/gettext.m4: Fix typo in comment.
90134
90135         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
90136         textutils/configure.in).  Suggestion from Paul Eggert.
90137         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
90138
90139 2000-04-02  Paul Eggert  <eggert@twinsun.com>
90140
90141         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
90142         variable in the shell rather than using putenv, which isn't
90143         portable.  This avoids the configure-time inter-test dependency
90144         on the potentially-renamed putenv function.
90145
90146 2000-03-30  Paul Eggert  <eggert@twinsun.com>
90147
90148         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
90149         before checking struct stat.st_blksize, so that
90150         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
90151
90152 2000-03-29  Paul Eggert  <eggert@twinsun.com>
90153
90154         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
90155         since strftime.c uses HAVE_STRFTIME to decide whether to use
90156         the underlying strftime.
90157
90158 2000-03-29  Paul Eggert  <eggert@twinsun.com>
90159
90160         * lib/time/strftime.c (my_strftime): Make sure we call the system
90161         strftime, not ourselves, when invoking the underlying strftime.
90162
90163 2000-03-24  Jim Meyering  <meyering@lucent.com>
90164
90165         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
90166         (charset_alias): Define.
90167         (install-exec-local): Factor out common code.
90168         (uninstall-local): Split lines longer than 80.
90169         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
90170         (SUFFIXES): Define.
90171         (.sed.in.sed): New rule.  Don't redirect directly to $@.
90172         (CLEANFILES): Add ref-add.sed and ref-del.sed.
90173
90174 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
90175
90176         * lib/config.charset: Output a line containing "Packages using this
90177         file".
90178         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
90179         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
90180         ref-del.sed): New rules.
90181
90182 2000-03-17  Jim Meyering  <meyering@lucent.com>
90183
90184         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
90185         Otherwise, include <strings.h>
90186
90187 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
90188
90189         * lib/unicodeio.c (utf8_wctomb): New function.
90190         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
90191         format instead of in UCS-4 with platform dependent endianness.
90192
90193 2000-03-10  Jim Meyering  <meyering@lucent.com>
90194
90195         * m4/lib-check.m4: Look for getspnam in -lgen, too.
90196         From Marco Franzen.
90197
90198 2000-03-07  Paul Eggert  <eggert@twinsun.com>
90199
90200         * lib/savedir.c (savedir): Work even if directory size is
90201         negative; this can happen with some screwy NFS configurations.
90202
90203 2000-03-06  Jim Meyering  <meyering@lucent.com>
90204
90205         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
90206         if it's NULL (because we ran out of memory).  From Bruno Haible.
90207
90208 2000-03-05  Jim Meyering  <meyering@lucent.com>
90209
90210         * lib/localcharset.c ("path-concat.h"): Include.
90211         (get_charset_aliases): Use path_concat instead of ANSI string
90212         concatenation.
90213
90214         * lib/unicodeio.h (PARAMS): Define.
90215         Use it to guard prototype.
90216
90217 2000-03-04  Jim Meyering  <meyering@lucent.com>
90218
90219         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
90220         for lib/localcharset.c.
90221
90222 2000-03-04  Jim Meyering  <meyering@lucent.com>
90223
90224         * lib/Makefile.am (install-exec-local): Create $(libdir) before
90225         installing into it.
90226         (uninstall-local): Uncomment this rule so `make distcheck' works
90227         once again.
90228
90229         * lib/unicodeio.c (<errno.h>): Include it.
90230         (errno): Declare if not defined.
90231
90232         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
90233
90234         * lib/config.charset: New version, incorporating remarks from a linux
90235         i18n mailing list.  From Bruno Haible.
90236
90237 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
90238
90239         * m4/codeset.m4: New file.
90240         * m4/iconv.m4: New file.
90241         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
90242
90243 2000-03-03  Jim Meyering  <meyering@lucent.com>
90244
90245         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
90246
90247 2000-03-02  Jim Meyering  <meyering@lucent.com>
90248
90249         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
90250         the messages come out on separate lines.
90251
90252         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
90253         rather than jm_CHECK_DECLARATIONS.
90254         * m4/decl.m4: Remove now-unused file.
90255
90256         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
90257         geteuid.
90258
90259 2000-03-02  Jim Meyering  <meyering@lucent.com>
90260
90261         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
90262
90263 2000-03-01  Jim Meyering  <meyering@lucent.com>
90264
90265         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
90266         * lib/unicodeio.c: Likewise.
90267
90268 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
90269
90270         * lib/config.charset: New file.
90271         * lib/localcharset.c: New file.
90272         * lib/unicodeio.h, lib/unicodeio.c: New files.
90273         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
90274         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
90275         (noinst_HEADERS): Add unicodeio.h.
90276         (all-local, install-exec-local, charset.alias): New targets.
90277
90278 2000-02-28  Paul Eggert  <eggert@twinsun.com>
90279
90280         * lib/quotearg.c (ALERT_CHAR): New macro.
90281         (quotearg_buffer_restyled): Use it.
90282
90283 2000-02-27  Jim Meyering  <meyering@lucent.com>
90284
90285         * m4/check-decl.m4: Add getenv to the list.
90286
90287 2000-02-27  Jim Meyering  <meyering@lucent.com>
90288
90289         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
90290         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
90291
90292         * lib/backupfile.c: Guard inclusion of stdlib.h with
90293         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
90294         Declare malloc if needed.
90295
90296         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
90297         `#ifndef HAVE_DECL..'
90298         now that autoconf always defines the HAVE_DECL_ symbols.
90299         * lib/human.c: Likewise.
90300         * lib/same.c: Likewise.
90301         * lib/strtoumax.c: Likewise.
90302
90303         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
90304         declaration check was not run.
90305         * lib/hash.c: Likewise.
90306         * lib/human.c: Likewise.
90307         * lib/same.c: Likewise.
90308         * lib/strtoumax.c: Likewise.
90309
90310         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
90311         `.', then first look up the entire `.'-containing string as a login
90312         name.
90313
90314 2000-02-23  Jim Meyering  <meyering@lucent.com>
90315
90316         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
90317         in place of my hack.
90318
90319 2000-02-18  Paul Eggert  <eggert@twinsun.com>
90320
90321         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
90322         (textint): New typedef.
90323         (parser_control): Member year changed from int to textint.
90324         All uses changed.
90325         (YYSTYPE): Removed; replaced by %union with int and textint members.
90326         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
90327         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
90328         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
90329         (tSNUMBER, tUNUMBER): Now of type <textintval>.
90330         (date, number, to_year): Use width of number in digits, not its value,
90331         to determine whether it's a 2-digit year, or a 2-digit time.
90332         (yylex): Store number of digits of numeric tokens.
90333         Reported by John Kendall.
90334
90335         (parser_control): Changed from struct parser_control to typedef (for
90336         consistency).  All uses changed.
90337
90338         (tID): Removed; not used.
90339         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
90340
90341 2000-02-14  Paul Eggert  <eggert@twinsun.com>
90342
90343         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
90344         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
90345
90346 2000-02-12  Jim Meyering  <meyering@lucent.com>
90347
90348         * lib/userspec.c (ISDIGIT): Define it.
90349         (isdigit): Remove definition.
90350         (is_number): Use ISDIGIT, not isdigit.
90351         <libintl.h>: Include.
90352         (_ and N_): Define.
90353         (parse_user_spec): Mark translatable strings.
90354
90355 2000-02-10  Jim Meyering  <meyering@lucent.com>
90356
90357         With these changes, nanosleep.[ch] are finally enough like the other
90358         lib/* replacement files to compile on a few more losing systems.
90359
90360         * lib/nanosleep.h: Don't include config.h.
90361         Remove prototype from declaration of nanosleep.
90362         (PARAMS): Remove now-unneeded definition.
90363         * lib/nanosleep.c: #undef nanosleep.
90364         (rpl_nanosleep): Rename from nanosleep.
90365
90366 2000-02-10  Jim Meyering  <meyering@lucent.com>
90367
90368         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
90369         gnu_nanosleep to rpl_nanosleep.
90370
90371 2000-02-09  Jim Meyering  <meyering@lucent.com>
90372
90373         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
90374         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
90375
90376 2000-02-08  Akim Demaille  <akim@epita.fr>
90377
90378         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
90379         `[' and `]' and remove uses of `changequote'.
90380         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
90381         (AC_SYS_LARGEFILE): Likewise.
90382         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
90383         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
90384         of changequote.
90385         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
90386         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
90387         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
90388         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
90389
90390 2000-02-05  Jim Meyering  <meyering@lucent.com>
90391
90392         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
90393         Remove explicit use of AC_HEADER_TIME.  It is required by
90394         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
90395         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
90396         in autoconf whereby the expansion of the latter ended up preceding
90397         the expansion of its prerequisite, AC_HEADER_TIME.
90398         Reported by Volker Borchert.
90399
90400 2000-02-03  Jim Meyering  <meyering@lucent.com>
90401
90402         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
90403
90404 2000-02-03  Jim Meyering  <meyering@lucent.com>
90405
90406         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
90407         rather than with `#if HAVE_UTMPNAME'.
90408
90409 2000-02-02  Jim Meyering  <meyering@lucent.com>
90410
90411         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
90412         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
90413         Reported by Eli Zaretskii.
90414
90415 2000-02-01  Jim Meyering  <meyering@lucent.com>
90416
90417         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
90418
90419 2000-01-31  Jim Meyering  <meyering@lucent.com>
90420
90421         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
90422         functions.  Add the time.h and sys/time.h headers along with the
90423         AC_REQUIRE'ment of AC_HEADER_TIME.
90424
90425 2000-01-31  Jim Meyering  <meyering@lucent.com>
90426
90427         * lib/nanosleep.h (nanosleep): Guard declaration with
90428         `#if ! HAVE_DECL_NANOSLEEP'.
90429         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
90430         the declaration in that vendor's sys/timers.h.
90431         Reported by Christian Krackowizer.
90432
90433         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
90434         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
90435         (ISPRINT): Likewise.
90436         Reported by Tom Tromey.
90437
90438 2000-01-30  Jim Meyering  <meyering@lucent.com>
90439
90440         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
90441
90442         * m4/prereq.m4 (utmp_includes): Define.
90443         Check for ut_user and ut_name members in both struct utmpx
90444         and struct utmp.
90445
90446 2000-01-30  Jim Meyering  <meyering@lucent.com>
90447
90448         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
90449         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
90450         header files where only utmpx.ut_user is declared.
90451
90452         * lib/readutmp.h (UT_USER): Define.
90453
90454 2000-01-29  Jim Meyering  <meyering@lucent.com>
90455
90456         * m4/lib-check.m4: New file containing library-related checks from
90457         fileutils and sh-utils (textutils had none).
90458
90459 2000-01-28  Jim Meyering  <meyering@lucent.com>
90460
90461         * m4/perl.m4: Change format of warning message to look more like that
90462         from the missing script.  Suggestion from François Pinard.
90463
90464 2000-01-25  Jim Meyering  <meyering@lucent.com>
90465
90466         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
90467         well as time.h in the compile check.
90468         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
90469         Fix typo in cross-compiling case: s/yes/no/.
90470
90471 2000-01-23  Jim Meyering  <meyering@lucent.com>
90472
90473         * m4/jm-macros.m4: Move df-related tests here from
90474         fileutils/configure.in
90475
90476         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
90477         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
90478
90479         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
90480         s/space/ac_fsusage_space/.
90481         (jm_FILE_SYSTEM_USAGE): Take two parameters.
90482
90483         * m4/ftruncate.m4: New file (derived from part of
90484         fileutils/configure.in).
90485         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
90486         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
90487
90488         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
90489         AC_SUBST these here, rather than just in sh-util/configure.in, so
90490         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
90491         all the same.
90492         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
90493         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
90494         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
90495         (AC_SUBST(POW_LIBM)): Likewise.
90496         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
90497
90498 2000-01-23  Jim Meyering  <meyering@lucent.com>
90499
90500         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
90501         obstack.c.
90502
90503 2000-01-22  Jim Meyering  <meyering@lucent.com>
90504
90505         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
90506
90507         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
90508
90509         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
90510         configure.in
90511         (AC_CHECK_HEADERS): Likewise for sh-utils.
90512         (AC_CHECK_HEADERS): Likewise for textutils.
90513         Merge the three lists of headers.
90514
90515         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
90516         from fileutils' configure.in.
90517
90518         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
90519         code. Moved tests into their own function (_jm_DECL_HEADERS) in
90520         check-decl.m4.
90521
90522         * m4/check-decl.m4: Use #if rather than #ifdef.
90523         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
90524         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
90525         (_jm_DECL_HEADERS): Define new function.
90526         (jm_CHECK_DECLARATIONS): Require it.
90527
90528 2000-01-22  Jim Meyering  <meyering@lucent.com>
90529
90530         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
90531         [! HAVE_DECL_STRTOULL]: Declare strtoull.
90532         Required for some AIX systems.  Reported by Christian Krackowizer.
90533         [TESTING] (main): New function.
90534
90535         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
90536         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
90537         letters.
90538
90539         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
90540         iswprint.
90541
90542         * lib/strverscmp.c (ISDIGIT): Define.
90543         (strverscmp): Use ISDIGIT, not isdigit.
90544
90545 2000-01-19  Jim Meyering  <meyering@lucent.com>
90546
90547         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
90548         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
90549         defines `struct timespec' in <sys/time.h>
90550
90551         * m4/c-bs-a.m4: Remove uses of changequote altogether.
90552         Thanks to Akim for explaining.
90553
90554 2000-01-17  Paul Eggert  <eggert@twinsun.com>
90555
90556         * lib/nanosleep.c (nanosleep):
90557         Don't use SA_INTERRUPT to decide whether to call sigaction, as
90558         POSIX.1 doesn't require SA_INTERRUPT and some systems
90559         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
90560         it's been part of POSIX.1 since day 1 (in 1988).
90561
90562 2000-01-17  Jim Meyering  <meyering@lucent.com>
90563
90564         * lib/interlock: Remove unused file.  Reported by François Pinard.
90565
90566 2000-01-16  Paul Eggert  <eggert@twinsun.com>
90567
90568         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
90569         alert, backslash, formfeed, and vertical tab unnecessarily in
90570         shell quoting style.
90571
90572 2000-01-16  Jim Meyering  <meyering@lucent.com>
90573
90574         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
90575         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
90576         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
90577         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
90578
90579 2000-01-16  Jim Meyering  <meyering@lucent.com>
90580
90581         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
90582         because the latter didn't work.
90583
90584 2000-01-15  Jim Meyering  <meyering@lucent.com>
90585
90586         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
90587         (AC_REPLACE_FUNCS): Add memcpy and memset.
90588         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
90589         Add strpbrk.
90590         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
90591
90592 2000-01-12  Jim Meyering  <meyering@lucent.com>
90593
90594         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
90595         (jm_PREREQ): Use it.
90596         (jm_PREREQ_READUTMP): New macro.
90597         (jm_PREREQ): Use it.
90598
90599 2000-01-11  Paul Eggert  <eggert@twinsun.com>
90600
90601         Quote multibyte characters correctly.
90602         * m4/c-bs-a.m4: New file.
90603         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
90604         (jm_PREREQ): Use it.
90605
90606 2000-01-11  Paul Eggert  <eggert@twinsun.com>
90607
90608         * m4/uintmax_t.m4: Port to autoconf 2.13.
90609
90610 2000-01-08  Jim Meyering  <meyering@ascend.com>
90611
90612         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
90613         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
90614
90615 2000-01-04  Jim Meyering  <meyering@ascend.com>
90616
90617         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
90618         jm_STRUCT_DIRENT_D_TYPE.
90619         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
90620         jm_STRUCT_DIRENT_D_INO.
90621         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
90622         jm_STRUCT_UTIMBUF.
90623         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
90624         renamings.
90625         * m4/utime.m4: Likewise.
90626
90627         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
90628         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
90629
90630 2000-01-03  Paul Eggert  <eggert@twinsun.com>
90631
90632         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
90633         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
90634
90635 2000-01-02  Jim Meyering  <meyering@ascend.com>
90636
90637         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
90638         remember if this is necessary.
90639
90640 1999-12-26  Jim Meyering  <meyering@ascend.com>
90641
90642         * m4/jm-macros.m4: Use it here.
90643         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
90644
90645 1999-12-23  Jim Meyering  <meyering@ascend.com>
90646
90647         * m4/jm-macros.m4: Check for clock_gettime (moved from
90648         fileutils/configure.in)
90649         Check for gettimeofday.
90650
90651 1999-12-20  Jim Meyering  <meyering@ascend.com>
90652
90653         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
90654         autoconf-2.14a-1999-12-20.
90655
90656 1999-12-19  Jim Meyering  <meyering@ascend.com>
90657
90658         * m4/lstat-slash.m4: New file.
90659         * m4/jm-macros.m4: Use the new macro:
90660         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
90661
90662 1999-12-07  Jim Meyering  <meyering@ascend.com>
90663
90664         * m4/perl.m4: Require that File::Compare be available, too.
90665         Too many systems seem to lack it.
90666
90667         * m4/strftime.m4: Add checks for most of the cpp macros tested in
90668         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
90669
90670 1999-11-18  Paul Eggert  <eggert@twinsun.com>
90671
90672         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
90673         problem with the QNX 4.25 shell, which doesn't propagate exit
90674         status of failed commands inside shell assignments.
90675
90676 1999-11-17  Jim Meyering  <meyering@ascend.com>
90677
90678         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
90679
90680 1999-11-07  Jim Meyering  <meyering@ascend.com>
90681
90682         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
90683
90684 1999-11-06  Jim Meyering  <meyering@ascend.com>
90685
90686         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
90687         * m4/jm-macros.m4 (jm_MACROS): Use it here.
90688
90689 1999-11-05  Jim Meyering  <meyering@ascend.com>
90690
90691         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
90692         configure.in of textutils, fileutils, and sh-utils into this one
90693         (shared between those packages) file.
90694         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
90695         AC_STRUCT_ST_BLKSIZE.
90696
90697 1999-11-03  Jim Meyering  <meyering@ascend.com>
90698
90699         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
90700         of AC_CHECK_TYPE checks includes unistd.h.
90701         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
90702         Suggestion from Akim Demaille.
90703
90704 1999-10-30  Jim Meyering  <meyering@ascend.com>
90705
90706         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
90707         m4-quoted string.
90708         * m4/ls-mntd-fs.m4: Likewise.
90709         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
90710         * m4/jm-winsz1.m4: Likewise.
90711
90712         * m4/const.m4: Remove file, since the fix made it into the experimental
90713         version of autoconf.
90714         * m4/mktime.m4: Likewise.
90715
90716         * m4/check-type.m4: Remove file, now that the latest version of
90717         AC_CHECK_TYPE takes a third arg to specify additional #includes.
90718
90719         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
90720         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
90721         AC_CHECK_TYPE.
90722
90723 1999-10-04  Jim Meyering  <meyering@ascend.com>
90724
90725         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
90726
90727 1999-09-22  Paul Eggert  <eggert@twinsun.com>
90728
90729         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
90730         2.95.1 bug with HP-UX 10.20.
90731
90732 1999-09-17  Jim Meyering  <meyering@ascend.com>
90733
90734         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
90735         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
90736         due to missing strdup (against sh-utils-2.0).
90737
90738 1999-08-29  Jim Meyering  <meyering@ascend.com>
90739
90740         * m4/jm-macros.m4: Require jm_BISON.
90741         * m4/bison.m4: New file.
90742
90743 1999-08-17  Paul Eggert  <eggert@twinsun.com>
90744
90745         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
90746         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
90747
90748 1999-08-05  Jim Meyering  <meyering@ascend.com>
90749
90750         * m4/getline.m4: Rename test file from conftestdata to conftest.data
90751         to avoid conflicts with `conftest' on 8+3 filesystems.
90752         Suggestion from Eli Zaretskii.
90753
90754 1999-08-04  Jim Meyering  <meyering@ascend.com>
90755
90756         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
90757         fileutils and sh-utils (textutils's getline test was inadequate).
90758         (AM_FUNC_GETLINE): Run this test.
90759         (AC_CHECK_FUNCS): Check for getdelim.
90760         Reported by Bob Proulx.
90761
90762 1999-08-02  Jim Meyering  <meyering@ascend.com>
90763
90764         * m4/jm-macros.m4: Add a comment.
90765
90766 1999-08-01  Paul Eggert  <eggert@twinsun.com>
90767
90768         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
90769         <inttypes.h> defines strtoumax as a macro (and not as a
90770         function).
90771
90772 1999-08-01  Paul Eggert  <eggert@twinsun.com>
90773
90774         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
90775         that we can shift, multiply and divide unsigned long long
90776         values; Ultrix cc can't do it.
90777
90778 1999-08-01  Paul Eggert  <eggert@twinsun.com>
90779
90780         * m4/mktime.m4: New file, which is a preview of what should appear
90781         in the next public autoconf release.
90782
90783 1999-08-01  Paul Eggert  <eggert@twinsun.com>
90784
90785         * m4/lfs.m4: Remove this file.
90786         * m4/largefile.m4: New file.  It contains the old contents of
90787         lfs.m4, except that all names with prefix AC_LFS have been
90788         changed to use the prefix AC_SYS_LARGEFILE instead, to be
90789         compatible with future autoconf versions.  Also, some minor m4
90790         quoting problems have been fixed.
90791
90792 1999-08-01  Paul Eggert  <eggert@twinsun.com>
90793
90794         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
90795         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
90796         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
90797         and simplify the shell code.
90798
90799 1999-08-01  Jim Meyering  <meyering@ascend.com>
90800
90801         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
90802         m4.
90803
90804 1999-07-20  Jim Meyering  <meyering@ascend.com>
90805
90806         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
90807
90808 1999-07-15  Jim Meyering  <meyering@ascend.com>
90809
90810         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
90811
90812 1999-05-22  Jim Meyering  <meyering@ascend.com>
90813
90814         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
90815
90816 1999-05-20  Jim Meyering  <meyering@ascend.com>
90817
90818         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
90819         Add a colon after each `then' in case $4 is empty.
90820
90821 1999-05-16  Jim Meyering  <meyering@ascend.com>
90822
90823         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
90824
90825 1999-05-10  Jim Meyering  <meyering@ascend.com>
90826
90827         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
90828
90829         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
90830         AC_FUNC_MKTIME.
90831
90832 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
90833
90834         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
90835
90836 1999-05-04  Paul Eggert  <eggert@twinsun.com>
90837
90838         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
90839         not CPPFLAGS, so that linking works correctly in IRIX.
90840
90841 1999-04-30  Paul Eggert  <eggert@twinsun.com>
90842
90843         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
90844
90845 1999-04-20  Paul Eggert  <eggert@twinsun.com>
90846
90847         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
90848         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
90849         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
90850         jm_AC_TYPE_UNSIGNED_LONG_LONG.
90851         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
90852
90853         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
90854
90855 1999-04-20  Jim Meyering  <meyering@ascend.com>
90856
90857         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
90858         AC_REPLACE xstroull if necessary.  From Paul Eggert.
90859         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
90860
90861 1999-04-18  Jim Meyering  <meyering@ascend.com>
90862
90863         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
90864         * m4/jm-macros.m4: Use it.
90865
90866 1999-04-06  Jim Meyering  <meyering@ascend.com>
90867
90868         * m4/strftime.m4: Remove test for %f.
90869
90870 1999-03-29  Jim Meyering  <meyering@ascend.com>
90871
90872         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
90873         superset of the AC_TYPE_* checks in the textutils, fileutils,
90874         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
90875         AC_TYPE_PID_T.
90876
90877 1999-03-28  Jim Meyering  <meyering@ascend.com>
90878
90879         * m4/jm-macros.m4: Define GNU_PACKAGE here.
90880         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
90881         replaced e.g., in the *.sh files of the sh-utils.
90882
90883 1999-03-20  Jim Meyering  <meyering@ascend.com>
90884
90885         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
90886         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
90887         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
90888
90889 1999-03-19  Jim Meyering  <meyering@ascend.com>
90890
90891         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
90892
90893 1999-03-12  Jim Meyering  <meyering@ascend.com>
90894
90895         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
90896
90897 1999-03-07  Jim Meyering  <meyering@ascend.com>
90898
90899         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
90900         declared.
90901
90902 1999-02-17  Jim Meyering  <meyering@ascend.com>
90903
90904         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
90905         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
90906
90907 1999-02-07  Jim Meyering  <meyering@ascend.com>
90908
90909         * m4/group-member.m4: New file -- extracted from sh-utils'
90910         configure.in.
90911
90912         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
90913         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
90914
90915 1999-02-06  Jim Meyering  <meyering@ascend.com>
90916
90917         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
90918         * m4/fnmatch.m4: Likewise.
90919         * m4/getgroups.m4: Likewise.
90920         * m4/lstat.m4: Likewise.
90921         * m4/malloc.m4: Likewise.
90922         * m4/putenv.m4: Likewise.
90923         * m4/realloc.m4: Likewise.
90924         * m4/regex.m4: Likewise.
90925         * m4/stat.m4: Likewise.
90926         * m4/strftime.m4: Likewise.
90927         Suggestion from Alain Magloire.
90928
90929         * m4/chown.m4: Use `.$ac_objext', not `.o'.
90930         * m4/fnmatch.m4: Likewise.
90931         * m4/getgroups.m4: Likewise.
90932         * m4/getline.m4: Likewise.
90933         * m4/lstat.m4: Likewise.
90934         * m4/malloc.m4: Likewise.
90935         * m4/memcmp.m4: Likewise.
90936         * m4/putenv.m4: Likewise.
90937         * m4/realloc.m4: Likewise.
90938         * m4/regex.m4: Likewise.
90939         * m4/stat.m4: Likewise.
90940         * m4/strftime.m4: Likewise.
90941         Suggestion from Alain Magloire.
90942
90943         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
90944         an argument.
90945
90946         * m4/regex.m4: Add a run-time Test for proper operation of
90947         re_compile_pattern.
90948
90949 1999-01-31  Jim Meyering  <meyering@ascend.com>
90950
90951         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
90952
90953 1999-01-30  Jim Meyering  <meyering@ascend.com>
90954
90955         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
90956
90957         * m4/jm-mktime.m4: Make this a wrapper around the official
90958         AM_FUNC_MKTIME rather than my private copy, now that the official one
90959         is up to date.
90960         * m4/mktime.m4: Remove file.
90961
90962         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
90963         * m4/uptime.m4: Likewise.
90964         * m4/uintmax_t.m4: Likewise.
90965
90966 1999-01-28  Jim Meyering  <meyering@ascend.com>
90967
90968         * m4/jm-macros.m4: Use jm_AFS.
90969         * m4/afs.m4: New file (from fileutils' configure.in).
90970
90971         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
90972         * m4/chown.m4: Likewise.
90973         * m4/d-ino.m4: Likewise.
90974         * m4/d-type.m4: Likewise.
90975         * m4/fnmatch.m4: Likewise.
90976         * m4/getgroups.m4: Likewise.
90977         * m4/gettext.m4: Likewise.
90978         * m4/jm-mktime.m4: Likewise.
90979         * m4/jm-winsz2.m4: Likewise.
90980         * m4/lcmessage.m4: Likewise.
90981         * m4/ls-mntd-fs.m4: Likewise.
90982         * m4/malloc.m4: Likewise.
90983         * m4/memcmp.m4: Likewise.
90984         * m4/putenv.m4: Likewise.
90985         * m4/realloc.m4: Likewise.
90986         * m4/st_mtim.m4: Likewise.
90987         * m4/strftime.m4: Likewise.
90988
90989 1999-01-16  Jim Meyering  <meyering@ascend.com>
90990
90991         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
90992         (ARGMATCH_DIE_DECL): Define.
90993
90994 1999-01-12  Jim Meyering  <meyering@ascend.com>
90995
90996         * m4/Makefile.am.in: Rewrite to avoid using fmt.
90997         Reported by Lars Hecking.
90998
90999 1999-01-10  Jim Meyering  <meyering@ascend.com>
91000
91001         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
91002         gross kludge.
91003         * m4/inttypes_h.m4: Likewise.
91004         * m4/lstat.m4: Likewise.
91005         * m4/malloc.m4: Likewise.
91006         * m4/readdir.m4: Likewise.
91007         * m4/realloc.m4: Likewise.
91008         * m4/st_dm_mode.m4: Likewise.
91009         * m4/stat.m4: Likewise.
91010         * m4/utimbuf.m4: Likewise.
91011         * m4/utimes.m4: Likewise.
91012
91013         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
91014         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
91015         comments in config.h.in are meaningful.
91016
91017         * m4/jm-macros.m4: Require autoconf-2.13 here.
91018
91019         * m4/regex.m4: By default, don't use the included regex.c on systems
91020         with glibc 2.  Suggestion from Uli Drepper.
91021
91022 1999-01-02  Jim Meyering  <meyering@ascend.com>
91023
91024         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
91025
91026 1998-12-18  Jim Meyering  <meyering@ascend.com>
91027
91028         * m4/Makefile.am.in (Makefile.am): Simplify rule.
91029         Based on a suggestion from Lars Hecking.
91030
91031 1998-11-16  Paul Eggert  <eggert@twinsun.com>
91032
91033         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
91034
91035 1998-11-16  Jim Meyering  <meyering@ascend.com>
91036
91037         * m4/lfs.m4: Double-quote the `uname...` expression.
91038
91039 1998-11-14  Jim Meyering  <meyering@ascend.com>
91040
91041         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
91042         * m4/stat.m4: Likewise.
91043
91044 1998-11-03  Jim Meyering  <meyering@ascend.com>
91045
91046         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
91047         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
91048
91049 1998-10-18  Jim Meyering  <meyering@ascend.com>
91050
91051         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
91052
91053 1998-10-17  Jim Meyering  <meyering@ascend.com>
91054
91055         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
91056         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
91057         calls for those previously hard-coded headers.  Instead, take a new
91058         parameter.
91059         (jm_CHECK_DECLARATIONS): Reflect interface change.
91060         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
91061         (jm_CHECK_DECL_LOCALTIME_R): New macro.
91062
91063         * m4/mktime.m4: Test for spring-forward gap before long-running test.
91064
91065 1998-10-14  Jim Meyering  <meyering@ascend.com>
91066
91067         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
91068         instead of "TZ=America/Vancouver".  From Paul Eggert.
91069
91070 1998-10-11  Jim Meyering  <meyering@ascend.com>
91071
91072         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
91073         This adds a test for a recently added compatibility fix for mktime.c.
91074         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
91075
91076 1998-09-27  Jim Meyering  <meyering@ascend.com>
91077
91078         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
91079
91080         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
91081         ../configure.in, including a change from Gordon Matzigkeit to allow
91082         cross-compiling for the Hurd.
91083
91084         * m4/glibc.m4: New file/macro to test for the GNU C Library
91085         versions 1 and 2.  From Gordon Matzigkeit.
91086         Indent.
91087
91088 1998-09-21  Jim Meyering  <meyering@ascend.com>
91089
91090         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
91091
91092 1998-08-18  Paul Eggert  <eggert@twinsun.com>
91093
91094         Port nanosecond-resolution times to UnixWare 2.1.2 and
91095         pedantic Solaris 2.6.
91096
91097         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
91098         AC_STRUCT_ST_MTIM.
91099         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
91100         Generate name of ns member, instead of just 1 or undef.
91101         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
91102
91103 1998-08-15  Jim Meyering  <meyering@ascend.com>
91104
91105         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
91106         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
91107         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
91108         instead of jm_TYPE_SSIZE_T.
91109
91110 1998-08-12  Jim Meyering  <meyering@ascend.com>
91111
91112         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
91113
91114 1998-08-02  Jim Meyering  <meyering@ascend.com>
91115
91116         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
91117         in acconfig.h manually.
91118
91119 1998-07-31  Paul Eggert  <eggert@twinsun.com>
91120
91121         * m4/st_mtim.m4: New file.
91122
91123 1998-07-28  Jim Meyering  <meyering@ascend.com>
91124
91125         * m4/utimes.m4: Undef stat.
91126
91127 1998-07-25  Jim Meyering  <meyering@ascend.com>
91128
91129         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
91130         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
91131
91132 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
91133
91134         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
91135         uid and gid actually remain unchanged.
91136
91137 1998-07-07  Jim Meyering  <meyering@ascend.com>
91138
91139         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
91140
91141 1998-07-04  Jim Meyering  <meyering@ascend.com>
91142
91143         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
91144         to prove that this macro can be used in packages without regex.c.
91145
91146 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
91147
91148         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
91149         is to be used.
91150
91151 1998-07-03  Jim Meyering  <meyering@ascend.com>
91152
91153         * m4/gettext.m4: Add -lintl if it's found to be necessary.
91154
91155         * m4/gettext.m4: New file -- from gettext-0.10.35.
91156         * m4/lcmessage.m4: Likewise.
91157         * m4/progtest.m4: Likewise.
91158
91159         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
91160         * m4/jm-macros.m4: Require the new macro.
91161
91162 1998-06-29  Jim Meyering  <meyering@ascend.com>
91163
91164         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
91165         for the definition of NGROUPS (used in a system header included
91166         by sys/mount.h).
91167
91168 1998-06-28  Jim Meyering  <meyering@ascend.com>
91169
91170         * m4/ls-mntd-fs.m4: New file.
91171         * m4/fstypename.m4: New file.
91172
91173         * m4/jm-macros.m4: Require the new macro.
91174         * m4/jm-glibc-io.m4: New file.
91175
91176 1998-05-19  Jim Meyering  <meyering@ascend.com>
91177
91178         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
91179         * m4/lchown.m4: New file.
91180
91181         * m4/Makefile.am.in: New file.
91182         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
91183
91184 1998-05-14  Jim Meyering  <meyering@ascend.com>
91185
91186         * m4/Makefile.am (EXTRA_DIST): Add them.
91187         * m4/jm-macros.m4: New file.
91188         * m4/utimbuf.m4: New file.
91189
91190 1998-05-12  Jim Meyering  <meyering@ascend.com>
91191
91192         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
91193
91194 1998-05-11  Jim Meyering  <meyering@ascend.com>
91195
91196         * m4/isc-posix.m4: New file.
91197
91198 1998-05-10  Jim Meyering  <meyering@ascend.com>
91199
91200         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
91201
91202 1998-05-09  Jim Meyering  <meyering@ascend.com>
91203
91204         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
91205         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
91206         with automake.
91207
91208         * m4/ssize_t.m4: New file.
91209         * m4/mktime.m4: Remove file -- the new automake has this now.
91210
91211 1998-04-26  Jim Meyering  <meyering@ascend.com>
91212
91213         * m4/assert.m4: New file.
91214         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
91215
91216 1998-04-05  Jim Meyering  <meyering@ascend.com>
91217
91218         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
91219         (jm_PREREQ): Use it here.
91220
91221 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
91222
91223         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
91224         in acconfig.h.
91225
91226 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
91227
91228         * m4/prereq.m4: New file.
91229         * m4/error.m4: New file.
91230         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
91231
91232 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
91233
91234         * m4/getline.m4: Don't set am_cv_func_working_getline before the
91235         cache-check for the same variable -- that defeated the purpose of
91236         the test; the test program was never run.  This was a problem only
91237         on systems with losing getline functions -- HP-UX 10.20 is one.
91238         Reported by Bjorn Helgaas.
91239
91240 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
91241
91242         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
91243
91244 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
91245
91246         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
91247
91248         * m4/const.m4: New file.  Use an initializer in this declaration
91249         typedef int charset[2]; const charset x;
91250         Reported by Bob Glickstein.
91251
91252 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
91253
91254         * m4/chown.m4: Fix reversed types on -1 args to chown.
91255         From Kaveh Ghazi.
91256
91257 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
91258
91259         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
91260         Add lseek and memchr.
91261
91262         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
91263         T.E.Dickey <dickey@clark.net> said that some older preprocessors
91264         have a 20-character limit on names.
91265
91266 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
91267
91268         * m4/inttypes_h.m4: New file.
91269         * m4/uintmax_t.m4: New file.
91270         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
91271
91272
91273         -----
91274
91275         Local Variables:
91276         coding: utf-8
91277         End:
91278
91279         Copyright (C) 1997-2012 Free Software Foundation, Inc.
91280
91281         Copying and distribution of this file, with or without
91282         modification, are permitted provided the copyright notice
91283         and this notice are preserved.